How do I plot a gaussian mixed model with 1D data?

19 vues (au cours des 30 derniers jours)
Trisha Kibaya
Trisha Kibaya le 19 Août 2018
Commenté : Sajid Raza le 31 Juil 2019
Hi I am a novice in Matlab. I have to plot a gaussian mixed model with one dimensional data. So far i have been able to do only this: data = xlsread('csf.xlsx','ab'); mu1 = mean('data'); sigma1 = std('data'); X = [mvnrnd(mu1,sigma1,1000)]; gm = fitgmdist(X,2); What do i do next? Thanks a lot.
  1 commentaire
Sajid Raza
Sajid Raza le 31 Juil 2019
@Trisha Kibaya, did you get answer for this one dimensional question?
I am facing same issue. I have one dimensional data. I use 'fitgmdist' to get gmdistribution. Then i want to visualize this distribution or show as clusters based on mu and sigma from the fitgmdist function.
Thanks.

Connectez-vous pour commenter.

Réponse acceptée

Yuvaraj Venkataswamy
Yuvaraj Venkataswamy le 20 Août 2018
if true
data = xlsread('csf.xlsx','ab'); % your data
mu1 = mean('data'); % mean
sigma1 = std('data'); % standard deviation
X = [mvnrnd(mu1,sigma1,1000)]; % generate equal number of random variables
gm = fitgmdist(X,2); %Gaussian mixture distribution with 2 components
scatter(X(:,1),X(:,2),10,'.') % plot X
hold on
ezcontour(@(x,y)pdf(gm,[x y]),[-8 6],[-8 6])
end
From the plot You can visualize the fitted model gm by using pdf and ezcontour of your data.
  2 commentaires
Trisha Kibaya
Trisha Kibaya le 20 Août 2018
Thanks for your reply. I did as you suggested and I got the following error message: Index in position 2 exceeds array bounds (must not exceed 1). Do you know which position its referring to? and is there a way to plot it like a bell curve?
Yuvaraj Venkataswamy
Yuvaraj Venkataswamy le 20 Août 2018
In which line you are getting error?

Connectez-vous pour commenter.

Plus de réponses (1)

Trisha Kibaya
Trisha Kibaya le 20 Août 2018
I have attached a screenshot.

Community Treasure Hunt

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

Start Hunting!

Translated by