следующий

Апостериорная вероятность Гауссова компонента смеси

Синтаксис

P = posterior(gm,X)
[P,nlogL] = posterior(gm,X)

Описание

пример

P = posterior(gm,X) возвращает апостериорную вероятность каждого Гауссова компонента смеси в gm, учитывая каждое наблюдение в X.

[P,nlogL] = posterior(gm,X) также возвращает отрицательный loglikelihood Гауссовой модели gm смеси, учитывая данные X.

Примеры

свернуть все

Сгенерируйте случайные варьируемые величины, которые следуют за смесью двух двумерных Распределений Гаусса при помощи функции mvnrnd. Соответствуйте Гауссовой модели смеси (GMM) к сгенерированным данным при помощи функции fitgmdist, и затем вычислите апостериорные вероятности компонентов смеси.

Задайте параметры распределения (средние значения и ковариации) двух двумерных Гауссовых компонентов смеси.

mu1 = [2 2];          % Mean of the 1st component
sigma1 = [2 0; 0 1];  % Covariance of the 1st component
mu2 = [-2 -1];        % Mean of the 2nd component
sigma2 = [1 0; 0 1];  % Covariance of the 2nd component

Сгенерируйте равное количество случайных варьируемых величин от каждого компонента и объедините два набора случайных варьируемых величин.

rng('default') % For reproducibility
r1 = mvnrnd(mu1,sigma1,1000);
r2 = mvnrnd(mu2,sigma2,1000);
X = [r1; r2];

Объединенный набор данных X содержит случайные варьируемые величины после смеси двух двумерных Распределений Гаусса.

Соответствуйте двухкомпонентному GMM к X.

gm = fitgmdist(X,2)
gm = 

Gaussian mixture distribution with 2 components in 2 dimensions
Component 1:
Mixing proportion: 0.500765
Mean:   -1.9675   -0.9654

Component 2:
Mixing proportion: 0.499235
Mean:    1.9657    2.0342

Постройте X при помощи scatter. Визуализируйте подобранную модель gm при помощи pdf и fcontour.

figure
scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10
hold on
gmPDF = @(x,y)reshape(pdf(gm,[x(:) y(:)]),size(x));
fcontour(gmPDF,[-6 8 -4 6])
c1 = colorbar;
ylabel(c1,'Probability Density Function')

Вычислите апостериорные вероятности компонентов.

P = posterior(gm,X);

P(i,j) является апостериорной вероятностью j th Гауссов компонент смеси, данный наблюдение i.

Постройте апостериорные вероятности Component 1 при помощи функции scatter. Используйте круговые цвета, чтобы визуализировать значения апостериорной вероятности.

figure
scatter(X(:,1),X(:,2),10,P(:,1))
c2 = colorbar;
ylabel(c2,'Posterior Probability of Component 1')

Постройте апостериорные вероятности Component 2.

figure
scatter(X(:,1),X(:,2),10,P(:,2))
c3 = colorbar;
ylabel(c3,'Posterior Probability of Component 2')

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

свернуть все

Гауссово распределение смеси, также названное Гауссовой моделью смеси (GMM), заданной как объект gmdistribution.

Можно создать объект gmdistribution с помощью gmdistribution или fitgmdist. Используйте функцию gmdistribution, чтобы создать объект gmdistribution путем определения параметров распределения. Используйте функцию fitgmdist, чтобы соответствовать модели gmdistribution к данным, учитывая постоянное число компонентов.

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

Если строка X содержит NaNs, то posterior исключает строку из вычисления. Соответствующим значением в P является NaN.

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

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

свернуть все

Апостериорная вероятность каждого Гауссова компонента смеси в gm, учитывая каждое наблюдение в X, возвращенном как n-by-k числовой вектор, где n является количеством наблюдений в X и k, является количеством компонентов смеси в gm.

P(i,j) является апостериорной вероятностью j th Гауссов компонент смеси, данный наблюдение i, Вероятность (j компонента | наблюдение i).

Отрицательное loglikelihood значение Гауссовой модели gm смеси, учитывая данные X, возвращенный как числовое значение.

Представленный в R2007b