Main Content

norminv

逆正規累積分布関数

説明

x = norminv(p) は、p 内の確率値で評価した、標準正規分布の累積分布関数 (cdf) の逆関数を返します。

x = norminv(p,mu) は、p 内の確率値で評価した、平均 mu および単位標準偏差をもつ正規分布 cdf の逆関数を返します。

x = norminv(p,mu,sigma) は、p 内の確率値で評価した、平均 mu および標準偏差 sigma をもつ正規分布 cdf の逆関数を返します。

[x,xLo,xUp] = norminv(p,mu,sigma,pCov) は、musigma が推定値である場合の x の 95% 信頼限界 [xLo,xUp] も返します。pCov は、推定されたパラメーターの共分散行列です。

[x,xLo,xUp] = norminv(p,mu,sigma,pCov,alpha) は、信頼区間 [xLo,xUp] の信頼水準が 100(1–alpha)% であることを指定します。

すべて折りたたむ

標準正規分布の値の 95% を含む区間を見つけます。

x = norminv([0.025 0.975])
x = 1×2

   -1.9600    1.9600

区間 x は、単なる区間ではなく、最小区間であることに注意してください。別の区間を求めます。

xl = norminv([0.01 0.96])
xl = 1×2

   -2.3263    1.7507

区間 x1 は、確率の 95% も含んでいますが、x より広い区間です。

平均 mu および標準偏差 sigma をもつ正規分布について、p 内の確率値で評価した cdf の逆関数の値を計算します。

p = 0:0.25:1;
mu = 2;
sigma = 1;
x = norminv(p,mu,sigma)
x = 1×5

      -Inf    1.3255    2.0000    2.6745       Inf

異なる平均パラメーターをもつさまざまな正規分布について、0.5 で評価した cdf の逆関数の値を計算します。

mu = [-2,-1,0,1,2];
sigma = 1;
x = norminv(0.5,mu,sigma)
x = 1×5

    -2    -1     0     1     2

正規分布パラメーターの最尤推定量 (MLE) を求めてから、対応する cdf の逆関数の値について信頼区間を求めます。

平均 5 および標準偏差 2 をもつ正規分布から 1000 個の正規乱数を生成します。

rng('default') % For reproducibility
n = 1000; % Number of samples
x = normrnd(5,2,[n,1]);

mleを使用して、分布パラメーター (平均と標準偏差) の MLE を求めます。

phat = mle(x)
phat = 1×2

    4.9347    1.9969

muHat = phat(1);
sigmaHat = phat(2);

normlike を使用して、分布パラメーターの共分散を推定します。関数 normlike は、MLE がその MLE の推定に使用された標本と共に渡された場合、漸近共分散行列に対する近似を返します。

[~,pCov] = normlike([muHat,sigmaHat],x)
pCov = 2×2

    0.0040   -0.0000
   -0.0000    0.0020

0.5 における cdf の逆関数の値およびその 99% 信頼区間を求めます。

[x,xLo,xUp] = norminv(0.5,muHat,sigmaHat,pCov,0.01)
x = 4.9347
xLo = 4.7721
xUp = 5.0974

x は、パラメーター muHat および sigmaHat をもつ正規分布を使用した cdf の逆関数の値です。区間 [xLo,xUp] は、0.5 で評価した cdf の逆関数の値の 99% 信頼区間であり、pCov を使用した場合の muHat および sigmaHat の不確実性を考慮しています。99% 信頼区間は、cdf の逆関数の真の値が [xLo,xUp] に含まれる確率が 0.99 であることを意味します。

入力引数

すべて折りたたむ

cdf の逆関数 (icdf) を評価する確率値。スカラー値、または各要素が範囲 [0,1] にあるスカラー値の配列を指定します。

信頼区間 [xLo,xUp] を計算するよう pCov に指定した場合、p はスカラー値でなければなりません。

複数の値で icdf を評価するには、配列を使用して p を指定します。複数の分布の icdf を評価するには、配列を使用して musigma を指定します。入力引数 pmu および sigma の 1 つ以上が配列である場合、配列のサイズは同じでなければなりません。この場合、norminv は配列入力と同じサイズの定数配列に各スカラー入力を拡張します。x の各要素は、p 内の対応する要素で評価された、mu および sigma 内の対応する要素によって指定された分布の icdf の値です。

例: [0.1,0.5,0.9]

データ型: single | double

正規分布の平均。スカラー値、またはスカラー値の配列を指定します。

信頼区間 [xLo,xUp] を計算するよう pCov に指定した場合、mu はスカラー値でなければなりません。

複数の値で icdf を評価するには、配列を使用して p を指定します。複数の分布の icdf を評価するには、配列を使用して musigma を指定します。入力引数 pmu および sigma の 1 つ以上が配列である場合、配列のサイズは同じでなければなりません。この場合、norminv は配列入力と同じサイズの定数配列に各スカラー入力を拡張します。x の各要素は、p 内の対応する要素で評価された、mu および sigma 内の対応する要素によって指定された分布の icdf の値です。

例: [0 1 2; 0 1 2]

データ型: single | double

正規分布の標準偏差。正のスカラー値、または正のスカラー値の配列を指定します。

信頼区間 [xLo,xUp] を計算するよう pCov に指定した場合、sigma はスカラー値でなければなりません。

複数の値で icdf を評価するには、配列を使用して p を指定します。複数の分布の icdf を評価するには、配列を使用して musigma を指定します。入力引数 pmu および sigma の 1 つ以上が配列である場合、配列のサイズは同じでなければなりません。この場合、norminv は配列入力と同じサイズの定数配列に各スカラー入力を拡張します。x の各要素は、p 内の対応する要素で評価された、mu および sigma 内の対応する要素によって指定された分布の icdf の値です。

例: [1 1 1; 2 2 2]

データ型: single | double

推定値 mu および sigma の共分散。2 行 2 列の行列を指定します。

pCov を指定して信頼区間 [xLo,xUp] を計算する場合、pmu および sigma はスカラー値でなければなりません。

musigmamle を使用して、musigma の共分散は normlike を使用して推定できます。たとえば、正規分布 cdf の逆関数の値の信頼区間を参照してください。

データ型: single | double

信頼区間の有意水準。範囲 (0,1) のスカラーを指定します。信頼水準は 100(1–alpha)% です。alpha は、真の値が信頼区間に含まれない確率です。

例: 0.01

データ型: single | double

出力引数

すべて折りたたむ

p 内の確率値で評価した icdf の値。スカラー値、またはスカラー値の配列として返されます。x は、必要なスカラー拡張後の pmu および sigma と同じサイズになります。x の各要素は、p 内の対応する要素で評価された、mu および sigma 内の対応する要素によって指定された分布の icdf の値です。

x の信頼限界の下限。スカラー値、またはスカラー値の配列として返されます。xLox と同じサイズになります。

x の信頼限界の上限。スカラー値、またはスカラー値の配列として返されます。xUpx と同じサイズになります。

詳細

すべて折りたたむ

正規分布

正規分布は、パラメーターを 2 つもつ曲線群です。1 つ目のパラメーター µ は平均です。2 番目のパラメーター σ は標準偏差です。

標準正規分布は、ゼロ平均と単位標準偏差をもちます。

逆正規関数は、正規累積分布関数を使用して、次のように定義されます。

x=F1(p|μ,σ)={x:F(x|μ,σ)=p},

ここで

p=F(x|μ,σ)=1σ2πxe(tμ)22σ2dt.

結果 x は、目的の確率 p を指定した積分方程式の解です。

アルゴリズム

  • 関数 norminv は逆相補誤差関数 erfcinv を使用します。norminverfcinv の関係は次のようになります。

    norminv(p)=2erfcinv(2p)

    逆相補誤差関数 erfcinv(x)erfcinv(erfc(x))=x と定義され、相補誤差関数 erfc(x) は次のように定義されます。

    erfc(x)=1erf(x)=2πxet2dt.

  • 関数 norminv は、デルタ法を使用して x の信頼限界を計算します。norminv(p,mu,sigma)mu + sigma*norminv(p,0,1) と等価です。したがって、関数 norminv はデルタ法により musigma の共分散行列を使用して mu + sigma*norminv(p,0,1) の分散を推定し、この分散の推定値を使用して信頼限界を求めます。大規模な標本から musigma および pCov を推定する場合、計算された信頼限界は必要な信頼水準を近似的に提供します。

代替機能

  • norminv は正規分布専用の関数です。Statistics and Machine Learning Toolbox™ には、さまざまな確率分布をサポートする汎用関数 icdf もあります。icdf を使用するには、NormalDistribution 確率分布オブジェクトを作成し入力引数として渡すか、確率分布名とそのパラメーターを指定します。分布専用の関数 norminv は汎用関数 icdf より高速です。

参照

[1] Abramowitz, M., and I. A. Stegun. Handbook of Mathematical Functions. New York: Dover, 1964.

[2] Evans, M., N. Hastings, and B. Peacock. Statistical Distributions. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 1993.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入