mvnpdf

Многомерная функция плотности нормальной вероятности

Описание

пример

y = mvnpdf(X) возвращает n -by- 1 векторная y содержащие значения функции плотности вероятностей (pdf) для d-мерного многомерного нормального распределения с нулевым средним и единичной ковариационной матрицей, рассчитанными в каждой строке матрицы n -by d X. Для получения дополнительной информации см. Раздел «Многомерное нормальное распределение».

пример

y = mvnpdf(X,mu) Возвраты PDF значений точек в X, где mu определяет среднее значение каждого связанного многомерного нормального распределения.

пример

y = mvnpdf(X,mu,Sigma) Возвраты PDF значений точек в X, где Sigma определяет ковариацию каждого связанного многомерного нормального распределения.

Задайте [] для mu использовать его значение , равное нулю, когда вы хотите задать только Sigma.

Примеры

свернуть все

Рассчитать PDF стандартного пятимерного нормального распределения для набора случайных точек.

Восемь точек случайных отсчетов стандартного пятимерного нормального распределения.

mu = zeros(1,5);
Sigma = eye(5);
rng('default')  % For reproducibility
X = mvnrnd(mu,Sigma,8)
X = 8×5

    0.5377    3.5784   -0.1241    0.4889   -1.0689
    1.8339    2.7694    1.4897    1.0347   -0.8095
   -2.2588   -1.3499    1.4090    0.7269   -2.9443
    0.8622    3.0349    1.4172   -0.3034    1.4384
    0.3188    0.7254    0.6715    0.2939    0.3252
   -1.3077   -0.0631   -1.2075   -0.7873   -0.7549
   -0.4336    0.7147    0.7172    0.8884    1.3703
    0.3426   -0.2050    1.6302   -1.1471   -1.7115

Рассчитать PDF распределения в точках в X.

y = mvnpdf(X)
y = 8×1

    0.0000
    0.0000
    0.0000
    0.0000
    0.0054
    0.0011
    0.0015
    0.0003

Найдите точку в X с наибольшим значением PDF.

[maxpdf,idx] = max(y)
maxpdf = 0.0054
idx = 5
maxPoint = X(idx,:)
maxPoint = 1×5

    0.3188    0.7254    0.6715    0.2939    0.3252

Пятая точка X имеет большее значение PDF, чем любая из других случайным образом выбранных точек.

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

Задайте средства mu и ковариации Sigma распределений. Каждое распределение имеет одну и ту же ковариационную матрицу - единичную матрицу.

firstDim = (1:6)';
mu = repmat(firstDim,1,3)
mu = 6×3

     1     1     1
     2     2     2
     3     3     3
     4     4     4
     5     5     5
     6     6     6

Sigma = eye(3)
Sigma = 3×3

     1     0     0
     0     1     0
     0     0     1

Случайная выборка один раз из каждого из шести распределений.

rng('default')  % For reproducibility
X = mvnrnd(mu,Sigma)
X = 6×3

    1.5377    0.5664    1.7254
    3.8339    2.3426    1.9369
    0.7412    6.5784    3.7147
    4.8622    6.7694    3.7950
    5.3188    3.6501    4.8759
    4.6923    9.0349    7.4897

Рассчитать PDFS распределений в точках в X. PDF первого распределения оценивается в точке X(1,:)PDF второго распределения оценивается в точке X(2,:)и так далее.

y = mvnpdf(X,mu)
y = 6×1

    0.0384
    0.0111
    0.0000
    0.0009
    0.0241
    0.0001

Рассчитать PDF двумерного нормального распределения для набора заданных точек.

Задайте среднее mu и ковариационные Sigma распределения.

mu = [1 -1];
Sigma = [0.9 0.4; 0.4 0.3];

Случайная выборка из распределения 100 раз. Задайте X как матрица выборочных точек.

rng('default')  % For reproducibility
X = mvnrnd(mu,Sigma,100);

Рассчитать PDF распределения в точках в X.

y = mvnpdf(X,mu,Sigma);

Постройте график значений плотности вероятностей.

scatter3(X(:,1),X(:,2),y)
xlabel('X1')
ylabel('X2')
zlabel('Probability Density')

Figure contains an axes. The axes contains an object of type scatter.

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

Установите размерности n и d равными 10 и 5, соответственно.

n = 10;
d = 5;

Задайте средства mu и ковариации Sigma многомерных нормальных распределений. Пусть все распределения имеют один и тот же вектор средних значений, но изменяют ковариационные матрицы.

mu = ones(1,d)
mu = 1×5

     1     1     1     1     1

mat = eye(d);
nMat = repmat(mat,1,1,n);
var = reshape(1:n,1,1,n);
Sigma = nMat.*var;

Отобразите первые две ковариационные матрицы в Sigma.

Sigma(:,:,1:2)
ans = 
ans(:,:,1) =

     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1


ans(:,:,2) =

     2     0     0     0     0
     0     2     0     0     0
     0     0     2     0     0
     0     0     0     2     0
     0     0     0     0     2

Задайте x быть случайной точкой в пятимерном пространстве.

rng('default')  % For reproducibility
x = normrnd(0,1,1,5)
x = 1×5

    0.5377    1.8339   -2.2588    0.8622    0.3188

Оцените PDF в x для каждого из десяти распределений.

y = mvnpdf(x,mu,Sigma)
y = 10×1
10-4 ×

    0.2490
    0.8867
    0.8755
    0.7035
    0.5438
    0.4211
    0.3305
    0.2635
    0.2134
    0.1753

Постройте график результатов.

scatter(1:n,y,'filled')
xlabel('Distribution Index')
ylabel('Probability Density at x')

Figure contains an axes. The axes contains an object of type scatter.

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

свернуть все

Оценочные точки, заданные как 1-by d числовой вектор или n -by d числовая матрица, где n - положительное скалярное целое число, а d - размерность одинарного многомерного нормального распределения. Строки X соответствуют наблюдениям (или точкам), а столбцы соответствуют переменным (или координатам).

Если X является вектором, тогда mvnpdf реплицирует его, чтобы соответствовать начальной размерности mu или последующее измерение Sigma.

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

Средства многомерных нормальных распределений, заданные как 1-by d числовой вектор или n -by d числовая матрица.

  • Если mu является вектором, тогда mvnpdf реплицирует вектор, чтобы соответствовать последующему измерению Sigma.

  • Если mu является матрицей, затем каждая строка mu - вектор средних значений одинарного многомерного нормального распределения.

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

Ковариации многомерных нормальных распределений, заданные как d -by d симметричная, положительно определенная матрица или d -by d -by n числовой массив.

  • Если Sigma является матрицей, тогда mvnpdf реплицирует матрицу, чтобы она совпадала с количеством строк в mu.

  • Если Sigma - массив, затем каждая страница Sigma, Sigma(:,:,i), является ковариационной матрицей одинарного многомерного нормального распределения и, следовательно, является симметричной, положительно определенной матрицей.

Если ковариационные матрицы диагональны, содержат отклонения по диагонали и нулевые ковариации от нее, то можно также задать Sigma как 1-by - d вектор или 1-by- d -by- n массив, содержащий только диагональные элементы.

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

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

свернуть все

PDF значений, возвращается как n -by- 1 числовой вектор, где n является одним из следующих:

  • Количество строк в X если X является матрицей

  • Количество раз X реплицируется, если X является вектором

Если X является матрицей, mu является матрицей, и Sigma является массивом, тогда mvnpdf вычисляет y(i) использование X(i,:), mu(i,:), и Sigma(:,:,i).

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

Подробнее о

свернуть все

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

Многомерное нормальное распределение является обобщением одномерного нормального распределения на двух или более переменных. У этого есть два параметра, вектор средних значений μ и ковариационная матрица Σ, которые походят на средние параметры и параметры отклонения одномерного нормального распределения. Диагональные элементы Σ содержат отклонения для каждой переменной, а недиагональные элементы Σ - ковариации между переменными.

Функция плотности вероятностей (pdf) d -мерного многомерного нормального распределения

y = f(x,μ,Σ) = 1|Σ|(2π)dexp(12(x-μΣ-1(x-μ)')

где x и μ являются векторами 1-by d, а Σ является d -by d симметричной, положительно определенной матрицей. Толькоmvnrnd позволяет положительные полуопределенные матрицы Σ, которые могут быть сингулярными. PDF не может иметь ту же форму, когда Σ сингулярна.

Многомерная нормальная кумулятивная функция распределения (cdf), оцененная в x, является вероятностью того, что случайный векторный v, распределенный как многомерный нормаль, лежит внутри полубесконечного прямоугольника с верхними пределами, заданными x:

Pr{v(1)x(1),v(2)x(2),...,v(d)x(d)}.

Хотя многомерный нормальный cdf не имеет закрытой формы, mvncdf может вычислять значения cdf численно.

Совет

  • В одномерном случае Sigma - дисперсия, а не стандартное отклонение. Для примера, mvnpdf(1,0,4) то же, что и normpdf(1,0,2), где 4 - отклонение и 2 - стандартное отклонение.

Ссылки

[1] Коц, С., Н. Балакришнан, и Н. Л. Джонсон. Непрерывные многомерные распределения: Том 1: Модели и приложения. 2-й ред. Нью-Йорк: John Wiley & Sons, Inc., 2000.

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

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