exponenta event banner

mvnpdf

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

Описание

пример

y = mvnpdf(X) возвращает n-by-1 вектор y содержащий значения функции плотности вероятности (pdf) для d-мерного многомерного нормального распределения с нулевой средней и единичной ковариационной матрицей, оцениваемые в каждой строке матрицы n-на-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- по-d числовому вектору или n-по-d числовой матрице, где n - положительное скалярное целое, а d - размерность одного многомерного нормального распределения. Строки X соответствуют наблюдениям (или точкам), а столбцы - переменным (или координатам).

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

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

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

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

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

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

Ковариации многомерных нормальных распределений, задаваемые как d-на-d-симметрическая, положительная определённая матрица или d-на-d-на-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

Подробнее

свернуть все

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

Многомерное нормальное распределение - это обобщение одномерного нормального распределения на две или более переменных. Он имеет два параметра, средний вектор λ и ковариационную матрицу, которые аналогичны среднему и дисперсионным параметрам одномерного нормального распределения. Диагональные элементы Λ содержат дисперсии для каждой переменной, а внедиагональные - covariances между переменными.

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

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

где x и λ - 1-за-d векторы, а Λ - d-за-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