维基百科has listed用于计算正态分布的累积概率的各种数值方法。但是,使用Apache Commons Math,您不需要知道任何这些,因为库只是为您完成工作:
NormalDistribution normal = new NormalDistribution(mu, sigma);
normal.cumulativeProbability(x);
对于某些研究项目,我很想知道他们使用什么方法。有谁知道Apache Commons Math使用什么方法来估算正常的累积值?是来自维基百科中列出的方法还是他们实现了不同的东西?
答案 0 :(得分:4)
开源软件的美妙之处在于您始终可以check the source code。 cumulativeProbability
的实现相当简单,只返回
0.5 * (1 + Erf.erf(dev / (standardDeviation * SQRT2)));
其中Erf.erf
计算error function。它定义为here。
不,它没有使用上述维基百科文章中的任何特殊方法。这只是公式
的直接实现
答案 1 :(得分:1)
您可能会看到源代码或javadoc。见http://commons.apache.org/proper/commons-math/source-repository.html
和
此外,用户指南中还有很多信息。有关分发的部分似乎很有趣:http://commons.apache.org/proper/commons-math/userguide/distribution.html