I have a dataset, 90% of observations are unimodal normal (with couple of outliers per feature), 10% are mixture of normals, components have the same standard deviations. Data contains outliers => standard mixture modelling is not really helpful.
I experience problems with finding standard deviations [of a single component] for multimodal cases. I was trying to use robust standard deviations, but they obviously do not work if the amount of observations in different clusters is big. I am doing the following trick:
1) estimate bandwidth with the derivative based method (Sheather & Jones (1991), https://stat.ethz.ch/R-manual/R-devel/library/stats/html/bandwidth.html )
2) make a robust regression StandardDeviation ~ bandwidth - robust standard error of the residuals is really small
3) predict standard deviation based on bandwidths
It works surprisingly well. Do you know less "walkaround" ways to estimate standard deviations of mixture components? I do not like the regression here, I would like to be able to predict standard deviation based on bandwidth in a more "correct" way. Data contains outliers, casual mixture modelling often yields small non-relevant clusters and thus incorrect standard deviations.