Por*_*man 12 c# statistics excel montecarlo
我跑一些Monte Carlo模拟和广泛利用Excel函数的NORM.INV使用Office Interrop.此函数采用三个参数(概率,平均值,标准差)并返回累积分布的倒数.
我想将我的代码移到Web应用程序中,但这需要在服务器上安装Excel.有没有人知道一个与NORM.INV具有同等功能的C#统计库?
Meta.Numerics正是您正在寻找的.以下是使用该库执行此操作的代码:
Distribution n = new NormalDistribution(mean, standardDeviation);
double x = n.InverseLeftProbability(probability);
Run Code Online (Sandbox Code Playgroud)
如果您这样做是为了生成正常的偏差,GetRandomValue函数甚至更快.
https://numerics.mathdotnet.com/有一个漂亮的外观漂亮的库,可以处理统计数据(所以我假设是CDF),我没有使用过它,所以我不能肯定地说它就是您想要的,但是它似乎应该如此。
我还需要一个NORMINV的C#实现,我发现最接近的是C++实现http://www.wilmott.com/messageview.cfm?catid=10&threadid=38771,所以我对C#进行了快速而肮脏的翻译,详情请访问http://weblogs.asp.net/esanchez/archive/2010/07/29/a-quick-and-dirty-implementation-of-excel-norminv-function-in-c.aspx.我只进行了几项基本测试,所以如果您决定使用它,请小心,无论如何,希望它有所帮助!
小智 1
我不知道有什么库,但找到了这个链接 - http://home.online.no/~pjacklam/notes/invnorm/ - 描述了一种算法。它有多种语言的实现,但没有 C#。您可以使用 VB.NET 版本,或自行移植。
| 归档时间: |
|
| 查看次数: |
9535 次 |
| 最近记录: |