Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was trying to figure out whether or not the distribution of a biomarker came from heterogeneous populations. Analyzing the data with normalmixEM in the mixtools package in R, I got two distributions, but the histogram was unimodal and seemed to be homogeneous. (Sorry, I cannot post an image because I'm new here.) So I conducted a chi-square test, test.equality(y = biomarker), to see if it was from a homogeneous population but it gave a significant p-value following a warning of non-convergence. So my two related questions are:

  1. How do you normally figure out if the distribution is two-component instead of just one?
  2. Even if the analysis gives you two components, can the distribution still be from one population?
share|improve this question
Welcome to the site, @sxlee. If you can post the image to anywhere on the internet, & edit your Q to add a link to the image, a higher-rep user can post it into your Q for you. – gung Jan 1 '13 at 18:55
Thank you @gung for the information. I will try that soon. – sxlee Jan 2 '13 at 4:46

The likelihood ratio test has a non-standard distribution that is not a chi-square. Suppose we have the one-component null $H_0: F \sim N(\mu,\sigma^2)$ vs. two components $H_1: F \sim \alpha N(\mu,\sigma^2) + (1-\alpha) N(\theta,\gamma^2)$. Then under the null, $\alpha=0$, and the parameters $\theta$ and $\gamma$ are not identified. Informally speaking, the degrees of freedom are somewhere between 1 (for $\alpha$ only) and 3 (for $\alpha$, $\theta$ and $\gamma$). Formal theory has been worked on in the 1990s by Geoffrey MacLachlan and more recently by Jiahua Chen. See also my collection of references at At the very least, you need to make sure that whatever package/function you are using is getting it right.

You can produce a unimodal distribution by adding a small second component with shifted mean, so unimodality does not need to tell much:

x <- seq( from=-3, to=4, by=0.01 )
plot( x, 0.8*dnorm(x) + 0.2*dnorm(x,mean=2), type="l" )
share|improve this answer
Thanks a lot @StasK for the informative reply. I will definitely check out those references. I'm new to mixture model analysis, so please forgive my ignorance here. For the likelihood ratio tests, here, under the null, α=1, and the degrees of freedom between two models will be 3 =5-2, right? I will read the works you mentioned to understand the theory why it is not a chi-square distribution. – sxlee Jan 2 '13 at 4:40
Nope, that's the whole issue: the distribution won't even be the chi-square. It can be characterized, but is very difficult, and depends on auxiliary parameters. $\alpha=1$ is the same as $\alpha=0$, you just rename the parameters. – StasK Jan 2 '13 at 6:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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