【问题标题】:Apache Commons Math Normal Cumulative ProbabilityApache Commons Math 正态累积概率
【发布时间】:2015-06-29 04:45:03
【问题描述】:

维基百科has listed 用于计算正态分布累积概率的各种数值方法。但是,使用 Apache Commons Math,您不需要了解它们中的任何一个,因为该库只是为您完成这项工作:

NormalDistribution normal = new NormalDistribution(mu, sigma);
normal.cumulativeProbability(x);

对于一些研究项目,我很想知道他们使用什么方法。有谁知道 Apache Commons Math 使用什么方法来近似正常累积值?是来自维基百科中列出的方法还是他们实现了不同的东西?

【问题讨论】:

    标签: java apache-commons normal-distribution apache-commons-math


    【解决方案1】:

    【讨论】:

    • 谢谢,但 javadoc 中没有回答我的问题。在调查源代码之前,我倾向于询问我的同行。
    • @Pro.Hessam 这有点粗鲁。您可以在几秒钟内查看源代码,而您可以选择不这样做,而是依靠其他人的时间和耐心来完成您的工作。
    • @Carsten 我希望在社区中找到熟悉图书馆的人来回答我的问题。不要浪费任何人的时间。
    【解决方案2】:

    开源软件的美妙之处在于您可以随时check the source codecumulativeProbability的实现比较简单,就是返回

    0.5 * (1 + Erf.erf(dev / (standardDeviation * SQRT2)));
    

    其中Erf.erf 计算error function。它被定义为here

    不,它不使用上述维基百科文章中的任何特殊方法。这只是公式的直接实现

    【讨论】:

    • 谢谢。为了完整起见,我想提一下,误差函数没有封闭的公式,而是使用一些数值方法来近似的。
    • 对,您可以通过查看 Erfspecial 包中的实现来准确了解 Commons Math 的功能。它确实使用了 Wikipedia Erf 文章 [1] 中引用的方法。 [1]:en.wikipedia.org/wiki/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多