I have created a multiples Gaussian distributions using this codes in MATLAB:

mu = [0];
sigma = cat(3, 1);
gmm = gmdistribution(mu, sigma);

ezplot(@(x) pdf(gmm,x));hold on;

mu = [5]
sigma = cat(3, 2)
gmm = gmdistribution(mu, sigma);

ezplot(@(x) pdf(gmm,x));

When I want to combine both Gaussians with a Gaussian Mixture Model (GMM) using MATLAB, the result is not as I expected. This is the command and the resulting plot:

mu = [0; 5];
sigma = cat(3, 1, 2);
p = [0.5; 0.5];
gmm = gmdistribution(mu, sigma,p);

ezplot(@(x) pdf(gmm,x));

enter image description here

I expect the mixture Gaussian to match the size of the individual Gaussian but it doesn't. I have increased the mixing coefficients for the Gaussian mixture but the result doesn't change. The Gaussian mixture height seems to have been reduced half of the individual Gaussian from the same mean and std deviation.


Because area under density plot should integrate to 1. If mixture would match exactly, area would be >1.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.