I have data points that are generated with the $n$ normal distributions with the same $\sigma$ and different means.

I do not know $n$, but I know that $1 \leq n \leq 4$. I know the possible set of means, i.e., $\mu = -2,-1, 0, 1, 2$ (so the number of potential means is bigger than expected number of clusters).

Mclust from R package works well and solves the problem in a nice way. The problem is that there are a lot of data points and Mclust works too slow (I guess it would work faster if it could take into account prior information of $\mu$ vector).

Is there a way to solve this problem in a fast and efficient way? I am trying to do mixtools, it is faster than Mclust, the problem is that I do not know number of clusters $n$ and this way of solving the problem is making huge mistakes when $n$ was initially wrong. Should I just apply BIC and do a greedy search for optimal $n$? Or are there more efficient ways?

I would appreciate links to the theory/approach that can help (so I do not expect that it was already implemented).

  • 1
    $\begingroup$ Does the answer here stats.stackexchange.com/questions/14051/… help? It is an empirical rather than theoretical approach. $\endgroup$
    – mdewey
    Jul 19, 2016 at 9:26
  • $\begingroup$ @mdewey this is a pretty good thing! I will try it, probably it will solve the problem. I do not think that k-means can be correctly applied here (my distributions are mixing due high variances, sorry for not specifiying it), but if it will give good results - it will be super nice. $\endgroup$ Jul 19, 2016 at 9:33

1 Answer 1


Use the initialization option of the mclust command to control the initial settings and give initial hints.

  • $\begingroup$ thanks, finally solved it with mixtools, its way faster somehow $\endgroup$ Jul 23, 2016 at 10:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.