飞度混合高斯模型数据

该示例示出了如何从多元正态分布模拟数据,然后用适合的高斯混合模型(GMM)的数据fitgmdist。若要创建已知的或完全指定的GMM对象,请参阅创建高斯混合模型

fitgmdist需要数据的矩阵,并在GMM部件的数量。要创建一个有用的GMM,你必须选择ķ小心。太少组件未能将数据准确地建模(即,欠拟合到数据)。组件过多导致与奇异协方差矩阵过度拟合模型。

模拟数据从两个二元高斯分布的混合物使用mvnrnd

MU1 = [1 2];sigma1 = [2 0;0 0.5];MU2 = [-3 -5];σ-2 = [1 0;0 1];RNG(1);%用于重现X = [mvnrnd(MU1,sigma1,1000);mvnrnd(MU2,sigma2,1000)];

画出模拟数据。

散射(X(:,1),X(:,2),10,''%散点图大小为10点标题(模拟数据的

适合的双组分GMM。使用“选项”名称 - 值对变元进行显示拟合算法的最终输出。

选择= statset ('显示''最后');GM = fitgmdist(X,2,“选项”,选项)
5次迭代,对数似然= -7105.71克=高斯混合含有2个组分分布在2名维组分1:混合比例:0.500000平均数:-3.0377 -4.9859组分2:混合比例:0.500000平均数:0.9812 2.0563

绘制拟合GMM的PDF文件。

gmPDF = @(X,Y)重塑(PDF(GM,[X(:) Y(:)]),大小(X));保持h = fcontour(gmPDF,[-8 6]);标题(“仿真数据和轮廓PDF的线”);

显示均值,方差,和混合比例估算

ComponentMeans = gm.mu
ComponentMeans =2×2-3.0377 -4.9859 0.9812 2.0563
ComponentCovariances = gm.Sigma
各协方差(:,:,,1)= 1.0132 0.0482 0.0482 0.9796
MixtureProportions = gm.ComponentProportion
MixtureProportions =1×20.5000 - 0.5000

适合四个模型的数据,每个具有增加数量的部件,并且比较赤池信息量准则(AIC)的值。

AIC =零(1,4);GM =细胞(1,4);对于K = 1:4克{K} = fitgmdist(X,k)的;AIC(K)= GM {K} .AIC;结束

显示的是,AIC值最小化部件的数量。

[minAIC, numComponents] = min (AIC);numComponents
numComponents = 2

双组分模型具有最小AIC值。

显示双组分GMM。

GM2 =克{numComponents}
GM2 =高斯混合分布在2个维度组分1 2种成分:混合比例:0.500000平均数:-3.0377 -4.9859组分2:混合比例:0.500000平均数:0.9812 2.0563

两者AIC和贝叶斯信息准则(BIC)是包括用于复杂点球(具体地,参数的数量)的模型拟合的基于似然的措施。你可以用它们来确定部件适当数量的模型时,元件的数量是不确定的。

也可以看看

|||

相关的话题