10

プロジェクトでは、数式を使用した仕様があり、実装する必要があります。これらの式には、フロートを取り、確率を出力する累積標準正規分布関数が存在します。関数は Φ で表されます。この関数を計算する Java ライブラリはありますか?

4

5 に答える 5

14

Apache Commons - Mathにはあなたが探しているものがあります。

具体的には、NormalDistributionクラスをチェックしてください。

于 2009-01-14T12:33:41.157 に答える
8

正確なコードが必要な場合は、これは OpenOffice Calc で使用されているのと同じ関数のようです (Java で動作するようにいくつかの変更を加えました)。

// returns the cumulative normal distribution function (CNDF)
// for a standard normal: N(0,1)
double CNDF(double x)
{
    int neg = (x < 0d) ? 1 : 0;
    if ( neg == 1) 
        x *= -1d;

    double k = (1d / ( 1d + 0.2316419 * x));
    double y = (((( 1.330274429 * k - 1.821255978) * k + 1.781477937) *
                   k - 0.356563782) * k + 0.319381530) * k;
    y = 1.0 - 0.398942280401 * Math.exp(-0.5 * x * x) * y;

    return (1d - neg) * y + neg * (1d - y);
}

ここで見つけました:http://www.codeproject.com/Messages/2622967/Re-NORMSDIST-function.aspx

于 2011-12-04T19:23:27.377 に答える
3

同僚は、以前使用していたcoltを提案しました。この関数は、リファレンス ドキュメントの例とまったく同じ結果になります。

于 2009-01-14T15:24:58.330 に答える
2

Java 数値解析ライブラリであるSuanShu は、正規分布およびその他の多くの統計分布を計算します。

于 2010-06-24T16:59:24.300 に答える