0
$\begingroup$

I am working with mixture models. The common way to determine the number of the mixture components is fitting several mixture models with a different number of mixture components and then select the best fit model using, for example, selection criteria such as AIC, BIC and CAIC. However, this will require some efforts and computational times. My question is, is there a way to determine the number of the mixture components prior to run EM algorithm? Any help, please?

$\endgroup$
  • $\begingroup$ Just to clarify: calculating a BIC is instantaneous. Fitting a 30 or more mixture models could take some time. If there are only few possible clusters, fitting 4 or 5 mixture models doesn't create much issue. $\endgroup$ – AdamO Jul 16 at 15:53
1
$\begingroup$

If there was a general fast and easy method to do it, for any given data, people wouldn't bother themselves with criteria such as AIC, BIC as you listed. These are all heuristics. This problem is also prevalent in many clustering algorithms. You're lucky if your data is < 4D so that you can easily plot it. In high dimensional spaces, you can just get an idea by performing MDS which tries to preserve the distances between data points, and visualize afterwards. Note that while this might be helpful in some cases, it can sometimes fail you badly. For a good alternative, you might look at Variational Bayesian GMM, that doesn't need presetting the number of mixtures. It is also computationally cumbersome, but a quite different approach compared to classical ones.

$\endgroup$

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.