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, чем любая из других случайным образом выбранных точек.

Создайте шесть 3D нормальных распределений, каждого с отличным средним значением. Оцените 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')

Создайте десять различных пятимерных нормальных распределений и сравните значения их 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')

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

свернуть все

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

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

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

Средние значения многомерных нормальных распределений в виде 1- 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- d вектор или 1- d 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 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] Kotz, S., Н. Бэлэкришнэн и Н. Л. Джонсон. Непрерывные Многомерные Распределения: Объем 1: Модели и Приложения. 2-й редактор Нью-Йорк: John Wiley & Sons, Inc., 2000.

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

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