Симулируйте данные из смешанной гауссовской модели

В этом примере показано, как симулировать данные из смешанной гауссовской модели (GMM) с помощью полностью заданного gmdistribution объект и random функция.

Создайте известный, двухкомпонентный объект GMM.

mu = [1 2;-3 -5];
sigma = cat(3,[2 0;0 .5],[1 0;0 1]);
p = ones(1,2)/2;
gm = gmdistribution(mu,sigma,p);

Постройте график контура PDF GMM.

gmPDF = @(x,y) arrayfun(@(x0,y0) pdf(gm,[x0 y0]),x,y);
fcontour(gmPDF,[-10 10]);
title('Contour lines of pdf');

Figure contains an axes. The axes with title Contour lines of pdf contains an object of type functioncontour.

Сгенерируйте 1000 случайных вариаций от GMM.

rng('default') % For reproducibility
X = random(gm,1000);

График изменяется с контурами PDF.

hold on
scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10
title('Contour lines of pdf and Simulated Data')

Figure contains an axes. The axes with title Contour lines of pdf and Simulated Data contains 2 objects of type functioncontour, scatter.

См. также

| | |

Похожие темы