Get the estimated means and standard deviations of two overlapping circular normal distributions

meanoverlapping datastandard deviationvon-mises-distribution

I have the following plot:

A histogram with apparently overlapping circular normal distributions

Overlapping circular normal distributions

I would like to estimate the means and standard deviations of the apparent overlapping normal distributions. This is slightly complicated by the fact that since the data is based on hour of the day, it also is circular — the right end of the tail(s) leak into the left end.

How do I handle this?

Best Answer

Partial solution

Here's what I would try first:

  1. Copy the data and paste on either side so that you have at least one full cycle with unbroken peaks.
  2. Find the max point, and call that the mean of one of the distributions.
  3. From the max point, decide which direction the other distribution is relative to it. In the picture above, the second distribution is to the right of the first one, because the falling curve is monotonic to the left, but not to the right. Another way to do this is to take the data about the max point, and "fold it" on itself: whichever direction is further away from the max, on average, is the side containing the second distribution.
  4. In the direction opposite the second distribution, find the inflection point.
  5. Use the horizontal distance from the mean to the inflection point as an approximation of the standard deviation. I realize this is a circular normal, not a regular normal, but this estimate should still be fairly good.
  6. Use the equation $$\sigma^2=1-\frac{I_1(\kappa)}{I_0(\kappa)}$$ to solve for $\kappa$ numerically.
  7. Now that the first distribution is fully known, subtract it from the full dataset. What remains should be mostly due to the second distribution. Repeat steps 4-6 (mostly) on the second distribution.

This is a partial solution, mainly because I am unsure how good an approximation Step 5 is for the standard deviation. You could try plotting a few known circular normals and their inflection points to compare, and maybe that would offer a correction that would enable you to get a better approximation.

Hopefully, this procedure will at least nudge you into a profitable direction.