norminv

Нормальная обратная кумулятивная функция распределения

Синтаксис

x = norminv(p)
x = norminv(p,mu)
x = norminv(p,mu,sigma)
[x,xLo,xUp] = norminv(p,mu,sigma,pCov)
[x,xLo,xUp] = norminv(p,mu,sigma,pCov,alpha)

Описание

пример

x = norminv(p) возвращает инверсию стандартной нормальной кумулятивной функции распределения (cdf), оцененный в значениях вероятности в p.

x = norminv(p,mu) возвращает инверсию нормального cdf со средним mu и модульным стандартным отклонением, оцененным в значениях вероятности в p.

пример

x = norminv(p,mu,sigma) возвращает инверсию нормального cdf со средним mu и стандартным отклонением sigma, оцененный в значениях вероятности в p.

[x,xLo,xUp] = norminv(p,mu,sigma,pCov) также возвращает 95% доверительных границ [xLo, xUp] x, когда mu и sigma являются оценками. 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.

Вычислите инверсию cdf значений, оцененных в значениях вероятности в p для нормального распределения со средним mu и стандартным отклонением sigma.

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

Вычислите инверсию cdf значений, оцененных в 0,5 для различных нормальных распределений с различными средними параметрами.

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

    -2    -1     0     1     2

Найдите оценки наибольшего правдоподобия (MLEs) параметров нормального распределения, и затем найдите доверительный интервал соответствующей инверсии cdf значением.

Сгенерируйте 1 000 нормальных случайных чисел от нормального распределения со средним значением 5 и стандартное отклонение 2.

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

Найдите MLEs для параметров распределения (среднее и стандартное отклонение) при помощи mle.

phat = mle(x)
phat = 1×2

    4.9347    1.9969

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

Оцените ковариацию параметров распределения при помощи normlike. Функциональный normlike возвращает приближение в асимптотическую ковариационную матрицу, если вы передаете MLEs, и выборки раньше оценивали MLEs.

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

    0.0040   -0.0000
   -0.0000    0.0020

Найдите инверсию cdf значением в 0,5 и его 99%-й доверительный интервал.

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

x является инверсией cdf значение с помощью нормального распределения с параметрами muHat и sigmaHat. Интервал [xLo,xUp] является 99%-м доверительным интервалом инверсии cdf значение, оцененное в 0,5, рассматривая неуверенность в muHat и sigmaHat с помощью pCov. 99% доверительного интервала означают вероятность, что [xLo,xUp] содержит истинную инверсию cdf, значение 0.99.

Входные параметры

свернуть все

Значения вероятности, в которых можно оценить инверсию cdf (icdf), заданный как скалярное значение или массив скалярных значений, где каждый элемент находится в области значений [0,1].

Если вы задаете pCov, чтобы вычислить доверительный интервал [xLo,xUp], то p должен быть скалярным значением.

Чтобы оценить icdf в нескольких значениях, задайте p с помощью массива. Чтобы оценить icdfs нескольких дистрибутивов, задайте mu и sigma с помощью массивов. Если один или несколько входных параметров, p, mu и sigma являются массивами, то размеры массивов должны быть тем же самым. В этом случае norminv расширяет каждый скалярный вход в постоянный массив, одного размера как входные параметры массивов. Каждый элемент в x является icdf значением распределения, заданного соответствующими элементами в mu и sigma, оцененном в соответствующем элементе в p.

Пример: [0.1,0.5,0.9]

Типы данных: single | double

Среднее значение нормального распределения, заданного как скалярное значение или массив скалярных значений.

Если вы задаете pCov, чтобы вычислить доверительный интервал [xLo,xUp], то mu должен быть скалярным значением.

Чтобы оценить icdf в нескольких значениях, задайте p с помощью массива. Чтобы оценить icdfs нескольких дистрибутивов, задайте mu и sigma с помощью массивов. Если один или несколько входных параметров, p, mu и sigma являются массивами, то размеры массивов должны быть тем же самым. В этом случае norminv расширяет каждый скалярный вход в постоянный массив, одного размера как входные параметры массивов. Каждый элемент в x является icdf значением распределения, заданного соответствующими элементами в mu и sigma, оцененном в соответствующем элементе в p.

Пример: [0 1 2; 0 1 2]

Типы данных: single | double

Стандартное отклонение нормального распределения, заданного как значение положительной скалярной величины или массив значений положительной скалярной величины.

Если вы задаете pCov, чтобы вычислить доверительный интервал [xLo,xUp], то sigma должен быть скалярным значением.

Чтобы оценить icdf в нескольких значениях, задайте p с помощью массива. Чтобы оценить icdfs нескольких дистрибутивов, задайте mu и sigma с помощью массивов. Если один или несколько входных параметров, p, mu и sigma являются массивами, то размеры массивов должны быть тем же самым. В этом случае norminv расширяет каждый скалярный вход в постоянный массив, одного размера как входные параметры массивов. Каждый элемент в x является icdf значением распределения, заданного соответствующими элементами в mu и sigma, оцененном в соответствующем элементе в p.

Пример: [1 1 1; 2 2 2]

Типы данных: single | double

Ковариация оценок mu и sigma, заданный как матрица 2 на 2.

Если вы задаете pCov, чтобы вычислить доверительный интервал [xLo,xUp], то p, mu и sigma должны быть скалярными значениями.

Можно оценить mu и sigma при помощи mle, и оценить ковариацию mu и sigma при помощи normlike. Для примера смотрите Доверительный интервал Обратного Нормального cdf Значения.

Типы данных: single | double

Уровень значения для доверительного интервала, заданного как скаляр в области значений (0,1). Доверительный уровень является % 100(1–alpha), где alpha является вероятностью, что доверительный интервал не содержит истинное значение.

Пример: 0.01

Типы данных: single | double

Выходные аргументы

свернуть все

значения icdf, оцененные в значениях вероятности в p, возвратились как скалярное значение или массив скалярных значений. x одного размера как p, mu и sigma после любого необходимого скалярного расширения. Каждый элемент в x является icdf значением распределения, заданного соответствующими элементами в mu и sigma, оцененном в соответствующем элементе в p.

Более низкая доверительная граница для x, возвращенного как скалярное значение или массив скалярных значений. xLo имеет тот же размер как x.

Верхняя доверительная граница для x, возвращенного как скалярное значение или массив скалярных значений. xUp имеет тот же размер как x.

Больше о

свернуть все

Нормальное распределение

Нормальное распределение является семейством кривых 2D параметра. Первый параметр, µ, является средним значением. Второй параметр, σ, является стандартным отклонением.

Стандартное нормальное распределение имеет нулевое среднее значение и модульное стандартное отклонение.

Нормальная обратная функция задана с точки зрения нормального cdf как

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

где

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

x результата является решением интегрального уравнения, где вы предоставляете желаемую вероятность p.

Алгоритмы

  • Функция norminv использует обратную дополнительную функцию ошибок erfcinv. Отношение между norminv и erfcinv

    norminv(p)=2 erfcinv(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 оценивает отклонение   mu + sigma*norminv(p,0,1) с помощью ковариационной матрицы mu и sigma методом дельты, и находит доверительные границы с помощью оценок этого отклонения. Вычисленные границы дают приблизительно желаемый доверительный уровень, когда вы оцениваете mu, sigma и pCov от больших выборок.

Альтернативная функциональность

  • norminv является функционально-специализированным к нормальному распределению. Statistics and Machine Learning Toolbox™ также предлагает родовой функции icdf, который поддерживает различные распределения вероятностей. Чтобы использовать icdf, создайте распределение вероятностей NormalDistribution, возражают и передают объект как входной параметр или задают имя распределения вероятностей и его параметры. Обратите внимание на то, что специфичный для распределения функциональный norminv быстрее, чем родовая функция icdf.

Ссылки

[1] Abramowitz, M. и я. А. Стегун. Руководство математических функций. Нью-Йорк: Дувр, 1964.

[2] Эванс, M., Н. Гастингс и Б. Пикок. Статистические Дистрибутивы. 2-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 1993.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте