Main Content

norminv

정규 역누적 분포 함수(Normal Inverse Cumulative Distribution Function)

설명

예제

x = norminv(p)는 표준 정규 누적 분포 함수(cdf)에 대한 역을 p의 확률 값에서 계산하여 반환합니다.

x = norminv(p,mu)는 평균 mu 및 단위 표준편차를 갖는 정규 cdf에 대한 역을 p의 확률 값에서 계산하여 반환합니다.

예제

x = norminv(p,mu,sigma)는 평균 mu 및 표준편차 sigma를 갖는 정규 cdf에 대한 역을 p의 확률 값에서 계산하여 반환합니다.

[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 및 해당 99% 신뢰구간에서 역 cdf 값을 구합니다.

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

x는 모수 muHatsigmaHat을 갖는 정규분포를 사용하는 역 cdf 값입니다. 구간 [xLo,xUp]은 0.5에서 계산된 역 cdf 값에 대한 99% 신뢰구간입니다. pCov를 사용할 때 muHatsigmaHat은 불확실한 것으로 간주합니다. 99% 신뢰구간은 [xLo,xUp]이 실제 역 cdf 값을 포함하는 확률이 0.99임을 의미합니다.

입력 인수

모두 축소

cdf에 대한 역(icdf)을 계산할 지점의 확률 값으로, 스칼라 값 또는 스칼라 값으로 구성된 배열로 지정됩니다. 여기서 각 요소는 범위 [0,1]에 있습니다.

pCov를 지정하여 신뢰구간 [xLo,xUp]을 계산하는 경우, p는 스칼라 값이어야 합니다.

여러 값에서 icdf를 계산하려면 배열을 사용하여 p를 지정하십시오. 여러 분포에 대한 icdf를 계산하려면 배열을 사용하여 musigma를 지정하십시오. 입력 인수 p, mu, sigma 중 하나 이상이 배열인 경우 배열 크기가 서로 같아야 합니다. 이 경우, norminv 함수가 각각의 스칼라 입력값을 배열 입력값과 동일한 크기의 상수 배열로 확장합니다. x의 각 요소는 musigma에서 대응되는 요소로 지정된 분포에 대한 icdf 값으로, p의 대응되는 요소에서 계산됩니다.

예: [0.1,0.5,0.9]

데이터형: single | double

정규분포의 평균으로, 스칼라 값 또는 스칼라 값으로 구성된 배열로 지정됩니다.

pCov를 지정하여 신뢰구간 [xLo,xUp]을 계산하는 경우, mu는 스칼라 값이어야 합니다.

여러 값에서 icdf를 계산하려면 배열을 사용하여 p를 지정하십시오. 여러 분포에 대한 icdf를 계산하려면 배열을 사용하여 musigma를 지정하십시오. 입력 인수 p, mu, sigma 중 하나 이상이 배열인 경우 배열 크기가 서로 같아야 합니다. 이 경우, norminv 함수가 각각의 스칼라 입력값을 배열 입력값과 동일한 크기의 상수 배열로 확장합니다. x의 각 요소는 musigma에서 대응되는 요소로 지정된 분포에 대한 icdf 값으로, p의 대응되는 요소에서 계산됩니다.

예: [0 1 2; 0 1 2]

데이터형: single | double

정규분포에 대한 표준편차로, 양의 스칼라 값 또는 양의 스칼라 값으로 구성된 배열로 지정됩니다.

pCov를 지정하여 신뢰구간 [xLo,xUp]을 계산하는 경우, sigma는 스칼라 값이어야 합니다.

여러 값에서 icdf를 계산하려면 배열을 사용하여 p를 지정하십시오. 여러 분포에 대한 icdf를 계산하려면 배열을 사용하여 musigma를 지정하십시오. 입력 인수 p, mu, sigma 중 하나 이상이 배열인 경우 배열 크기가 서로 같아야 합니다. 이 경우, norminv 함수가 각각의 스칼라 입력값을 배열 입력값과 동일한 크기의 상수 배열로 확장합니다. x의 각 요소는 musigma에서 대응되는 요소로 지정된 분포에 대한 icdf 값으로, p의 대응되는 요소에서 계산됩니다.

예: [1 1 1; 2 2 2]

데이터형: single | double

추정값 musigma의 공분산으로, 2×2 행렬로 지정됩니다.

pCov를 지정하여 신뢰구간 [xLo,xUp]을 계산하는 경우 p, mu, sigma는 스칼라 값이어야 합니다.

musigmamle를 사용하여 추정하고, musigma의 공분산은 normlike를 사용하여 추정할 수 있습니다. 예제는 정규 cdf 값의 역에 대한 신뢰구간 항목을 참조하십시오.

데이터형: single | double

신뢰구간에 대한 유의수준으로, 범위 (0,1)의 스칼라로 지정됩니다. 신뢰수준은 100(1–alpha)%입니다. 여기서 alpha는 신뢰구간에 실제 값이 포함되지 않을 확률입니다.

예: 0.01

데이터형: single | double

출력 인수

모두 축소

p의 확률 값에서 계산된 icdf 값으로, 스칼라 값 또는 스칼라 값으로 구성된 배열로 반환됩니다. 필요한 스칼라 확장을 수행한 후 xp, musigma와 크기가 같아집니다. x의 각 요소는 musigma에서 대응되는 요소로 지정된 분포에 대한 icdf 값으로, p의 대응되는 요소에서 계산됩니다.

x에 대한 신뢰 하한으로, 스칼라 값 또는 스칼라 값으로 구성된 배열로 반환됩니다. xLox와 크기가 같습니다.

x에 대한 신뢰 상한으로, 스칼라 값 또는 스칼라 값으로 구성된 배열로 반환됩니다. xUpx와 크기가 같습니다.

세부 정보

모두 축소

정규분포

정규분포는 2-모수 곡선족입니다. 첫 번째 모수 µ는 평균입니다. 두 번째 모수 σ는 표준편차입니다.

표준 정규분포는 평균이 0이고 단위 표준편차를 가집니다.

정규 역함수는 다음과 같이 정규 cdf로 정의됩니다.

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)에 대한 분산을 추정하고 이 분산에 대한 추정값을 사용하여 신뢰한계를 구합니다. 계산된 신뢰한계는 대규모 표본에서 mu, sigma, 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 이전에 개발됨