4

編集:

実際、私が必要としているのはXの値であることに気づきました。それをより明確にしましょう。2つの標準偏差を使用したいので、確率P=0.95を知っているとします。私は範囲P(-500 <x <500)を知っています。これは、yとzを知っていることを意味し、平均と標準偏差も知っています。xの値がどうなるか知りたい場合は、どのメソッドを使用する必要がありますか。ある計算機がこのようなことをしているのを見つけましたが、どの数式を使用すればよいか理解できませんでした。

元の質問:

Javaを使用して確率変数の正規分布確率を計算したいと思います。このような問題を解決するためにコーディングに使用する式がわかりませんでした。平均と標準偏差の値がわかっていて、2つの特定の値yとzの間のxの値である確率を見つけたい場合(P(-500

誰か助けてくれませんか?

4

3 に答える 3

14

ここおよびここ で説明されているように、 で使用可能なエラー関数を使用できます。org.apache.commons.math.special.Erf

補遺: @Brent Worden の回答で提案されている方法は、このような問題の解決を大幅に簡素化します。具体的な例として、以下のコードは、参照するを解決する方法を示しています。さらに、ここcumulativeProbability()での定義をusingの実装と比較すると役立つことがわかりましたErf.erfinverseCumulativeProbability()の実装が必要な反復アプローチを一般化する方法にも注意してください 。

import org.apache.commons.math.MathException;
import org.apache.commons.math.distribution.NormalDistribution;
import org.apache.commons.math.distribution.NormalDistributionImpl;

/**
 * @see http://stattrek.com/Tables/Normal.aspx#examples
 * @see https://stackoverflow.com/questions/6353678
 */
public class CumulativeProbability {

    private static NormalDistribution d;

    public static void main(String[] args) throws MathException {
        // Problem 1; µ = 1000; σ = 100
        d = new NormalDistributionImpl(1000, 100);
        System.out.println(d.cumulativeProbability(1200));
        // Problem 2; µ = 50; σ = 10
        d = new NormalDistributionImpl(50, 10);
        System.out.println(d.inverseCumulativeProbability(0.9));
    }
}

コンソール:

0.9772498680518208
62.81551565546365

討論:

問題 1. 標準偏差 100 時間で平均 1000 時間持続する正規分布寿命を持つデバイスの中で、~97.7% が 1200 時間以内に故障します。

問題 2. 平均 50 回、標準偏差 10 回の正規分布スキルを持つ人は、63 回で人口の 90% を超えることができます。

于 2011-06-15T06:58:52.260 に答える
8

commons-math の別の代替手段は、そのNormalDistributionImplを使用することです。

    new org.apache.commons.math.distribution.NormalDistributionImpl(mean, std)
        .cumulativeProbability(a, b)

これにより、X ~ N(平均、標準) に対して P(a ≤ X ≤ b) が得られます。

更新された質問から、信頼区間を構築したいようです。その場合は、inverseCumulativeProbability メソッドを使用します。P(X ≤ x) = p となる確率 p の値 x を計算します。

于 2011-06-16T12:26:39.773 に答える
4

CERN で開発されたColtライブラリは、多くの統計関数をサポートしています。の正規 (別名ガウス) 分布もcern.jet.random.Normal

于 2011-06-15T06:41:21.770 に答える