Generating dataset from Gaussian Mixture Model

2 visualizzazioni (ultimi 30 giorni)
Hi all,
I'm attempting to generate a dataset from a Gaussian Mixture Model with very simple form and known parameters. My GMM is given by
a_1 * N(mu_1,sigma^2) + a_2 * N(mu_2,sigma^2)
So the two normal distributions have different means but the same standard deviation, a_1 and a_2 sum to one, and I can choose the values of all 5 parameters.
The only function I can find for this in matlab is the 'gmdistribution' command. This commands documentation repeatedly refers to a gaussian mixture distribution where each gaussian is multivariate, and I'm yet to find a way to use this method for the normal distributions I have above.
Any help would be greatly appreciated

Risposta accettata

Tom Lane
Tom Lane il 22 Feb 2013
It's multivariate in the sense that it supports more than one dimension, but you can use it for a single dimension:
g = gmdistribution([1;10],2,[.6;.4])
hist(random(g,1000),40)
  2 Commenti
Josh
Josh il 24 Feb 2013
Thankyou! My glaringly obvious lack of stats background had me struggling with the input for sigma. Thanks again!
raymond raymond
raymond raymond il 1 Apr 2019
HI Tom:
i wonder how can i set different variance of each component for a single dimension with different probability ?
Thanks a lot!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by