posterior

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

Описание

пример

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

[P,nlogL] = posterior(gm,X) также возвращает отрицательную логарифмическую правдоподобность смешанной гауссовской модели 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) arrayfun(@(x0,y0) pdf(gm,[x0 y0]),x,y);
fcontour(gmPDF,[-6 8 -4 6])
c1 = colorbar;
ylabel(c1,'Probability Density Function')

Figure contains an axes object. The axes object contains 2 objects of type scatter, functioncontour.

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

P = posterior(gm,X);

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

свернуть все

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

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

Отрицательное значение логарифмической правдоподобности смешанной гауссовской модели gm учитывая данные X, возвращенный как числовое значение.

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