# Mix of n normals with known locations

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).

• Does the answer here stats.stackexchange.com/questions/14051/… help? It is an empirical rather than theoretical approach. – mdewey Jul 19 '16 at 9:26
• @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. – German Demidov Jul 19 '16 at 9:33

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