I am using the mixtools package in R to identify the weight of 2 subpopulations in every sample according to their brightness. It works fine, and the model gives you the information about the mean for both population (mu1 and mu2) and sigma (sigma1, sigma2). However, I cannot find the cutoff for the brightness the algorithm is using to classify the data as population1 or population2.

Does anyone know where or how can I retrieve this info? I tried to work it out myself by doing mu1+3*sigma1, and it seems quite right but not very accurate, which I don't entirely understand why not.

Sorry, the question probably involves some programming in R knowledge too.



1 Answer 1


The usual way to do that is by minimizing classification error.

If the threshold separating population 1, $(\pi_1, \mu_1, \sigma_1^2)$, and population 2, $(\pi_1, \mu_1, \sigma_1^2)$, is brightness $b=T$, and $\mu_1 < \mu_2$, then the optimal place to put $T$ is where the classification error is minimized. That is, find $T$ such that $A_1 + A_2$ is minimum, where

$A_1$ is area under pdf of population 1 > $T$:

$\pi_1\int_T^{\infty} N(b | \mu_1, \sigma^2_1)db$

$A_2$ is area under pdf of population 2 > $T$:

$\pi_2\int_{-\infty \mbox{ or } 0}^T N(b | \mu_2, \sigma^2_2)db$


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