Gaussian Mixture Model using gmdistribution
이전 댓글 표시
Hi I am trying to create a GM model with 2 components in 1 dimension. I have both the means and covariances as well as the mixing proportions. Ia am getting an error 'The shared diagonal covariance must be a row vector with the same number of columns as MU.' when I try to use gmdistribution function. How do I set sigma up so it can be used in this function. My code is as follows:
mu = [6.25 ;4.33];
sigma = [0.52,0.37];
p = [0.40,0.60];
gm = gmdistribution(mu, sigma, p);
댓글 수: 4
Jeff Miller
2021년 1월 26일
Are you sure gmdistribution works for univariate mixtures (2 components in 1 dimension)? I think it might only work for multivariate mixtures.
Matthew Moore
2021년 1월 26일
Jeff Miller
2021년 1월 27일
What exactly do you want to do with the model after you make it? For example, if you just want the PDF or CDF of the mixture model, you can get those as the .40/.60 weighted PDFs of the two underlying normal PDFs or CDFs. If you want to generate random numbers, then you pick one distribution or the other with the given probabilities and then pick a random number from that distribution.
Maybe you would find Cupid helpful if you want to do more complicated things with the model. The Cupid routines will compute quite a few different things. For example, using that, the code
normix = Mixture(.4,Normal(6.25,0.52),.6,Normal(4.33,0.37));
[normix.Mean, normix.SD]
normix.PlotDens
produces the following:
ans =
5.098 1.0368

Matthew Moore
2021년 2월 2일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Gaussian Mixture Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!