Main Content

posterior

混合ガウス成分の事後確率

説明

P = posterior(gm,X) は、X 内の各観測値に対する gm 内の各混合ガウス成分の事後確率を返します。

[P,nlogL] = posterior(gm,X) は、データ X に対する混合ガウス モデル gm の負の対数尤度も返します。

すべて折りたたむ

関数 mvnrnd を使用して、2 つの二変量ガウス分布の混合に従う確率変量を生成します。関数 fitgmdist を使用して、生成されたデータに混合ガウス モデル (GMM) を当てはめます。次に、混合成分の事後確率を計算します。

2 つの二変量混合ガウス成分の分布パラメーター (平均と共分散) を定義します。

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

各成分から同じ個数の確率変量を生成し、2 組の確率変量を結合します。

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

結合したデータ セット X には、2 つの二変量ガウス分布の混合に従う確率変量が含まれています。

2 成分の 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

scatterを使用して、X をプロットします。当てはめられたモデル gmpdffcontour を使用して可視化します。

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) は、観測値 i に対する j 番目の混合ガウス成分の事後確率です。

関数 scatter を使用して、Component 1 の事後確率をプロットします。円の色を使用して、事後確率の値を可視化します。

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 を使用します。固定数の成分に対して gmdistribution モデルをデータに当てはめるには、関数 fitgmdist を使用します。

データ。n 行 m 列の数値行列を指定します。n は観測値の個数、m は各観測値の変数の個数です。

X の行に NaNs が含まれている場合、posterior はその行を計算から除外します。P 内の対応する値は NaN になります。

データ型: single | double

出力引数

すべて折りたたむ

X 内の各観測値に対する gm 内の混合ガウス成分の事後確率。n 行 k 列の数値ベクトルとして返されます。n は X 内の観測値の個数、k は gm 内の混合成分の個数です。

P(i,j) は、観測値 i に対する j 番目の混合ガウス成分の事後確率、Probability(成分 j | 観測値 i) です。

データ X に対する混合ガウスモデル gm の負の対数尤度値。数値として返されます。

バージョン履歴

R2007b で導入