Asked by Ji Hoon Jeong
on 27 Jan 2016

I have a 1D data which need to be separated by two .

So I used

fitgmdist(data,2);

and got

- mu
- sigma
- component proportion

for each of the gaussian distribution.

And here is the graph. (Gray : Data, Blue : psd of GMModel from fitgmdist)

Until here, everything was okay.

So, question.

How can I separate those two gaussian distribution graph?

I tried

- Using makedist('Normal') to create each gaussian distribution.
- Multiply by each component proportion
- Add two distribution up

But somehow I wasn't able to get the same graph overlapping picture above.

Probably I have the wrong concept of "Normalization" or "Gaussian Mixture Model".

Any advise or site to lookup would be grateful.

------------------------------------------------------------ @Image Analyst: data uploaded. thanks for the advice I'll remember that next time :)

Answer by Tom Lane
on 28 Jan 2016

Accepted Answer

You did something like this:

x = [randn(4000,1)/2; 5+2*randn(6000,1)];

f = fitgmdist(x,2);

histogram(x,'Normalization','pdf')

xgrid = linspace(-4,12,1001)';

hold on; plot(xgrid,pdf(f,xgrid),'r-'); hold off

You can duplicate the pdf values by doing something like this:

n1 = makedist('normal',f.mu(1),sqrt(f.Sigma(1)));

n2 = makedist('normal',f.mu(2),sqrt(f.Sigma(2)));

p = f.ComponentProportion;

y = p(1)*pdf(n1,xgrid) + p(2)*pdf(n2,xgrid);

hold on; plot(xgrid,y,'c--'); hold off

One thing to watch out for. In probability and statistics, it's common to write the standard deviation of a univariate normal distribution as the Greek letter sigma. But it's common to write the covariance matrix of a multivariate distribution as capital Sigma. So that's why I used sqrt(Sigma) to create the univariate distributions.

Amr Hashem
on 10 Apr 2017

What is equivalent to "Makedist" as I am using Matlab 2012?

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 5 Comments

## Image Analyst (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/265412-separate-drawing-of-gaussian-mixture-model#comment_338351

## Amr Hashem (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/265412-separate-drawing-of-gaussian-mixture-model#comment_440177

## Trisha Kibaya (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/265412-separate-drawing-of-gaussian-mixture-model#comment_601531

## Ji Hoon Jeong (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/265412-separate-drawing-of-gaussian-mixture-model#comment_602914

## Trisha Kibaya (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/265412-separate-drawing-of-gaussian-mixture-model#comment_604150

Sign in to comment.