I am trying to fit my data to Gaussian Mixture Model using matlab , but the problem is that I can't determine the optimal number of components to do this , Can any body help !!! Also if there are already build functions to get that optimal number please help .
1
votes
3 Answers
3
votes
Good reviews of the different approaches to find the optimal number of components for gaussian model mixture are :
- Assessing the number of components in mixture models: a review by A Oliveira-Brochado and FV Martins (2005) : available here
- Chapter 6 of Finite mixture models by McLachlan and Peel (2000)
PS : I don't have the solution for your problem in Matlab but BIC criterion is implemented in R package mclust
2
votes
In Matlab , we already have 2 criterion: AIC and BIC implemented. Fit GMM
See code snippet: SRC: http://www.mathworks.in/help/stats/gmdistribution.fit.html
AIC = zeros(1,4);
obj = cell(1,4);
`for k = 1:4`
`obj{k} = gmdistribution.fit(X,k);`
`AIC(k)= obj{k}.AIC;`
`end`
[minAIC,numComponents] = min(AIC);
numComponents