Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fitting a bimodal distribution to a set of values

Given a 1D array of values, what is the simplest way to figure out what the best fit bimodal distribution to it is, where each 'mode' is a normal distribution? Or in other words, how can you find the combination of two normal distributions that bests reproduces the 1D array of values?

Specifically, I'm interested in implementing this in python, but answers don't have to be language specific.

Thanks!

like image 679
astrofrog Avatar asked Oct 01 '09 14:10

astrofrog


People also ask

How do you analyze bimodal distribution of data?

A better way to analyze and interpret bimodal distributions is to simply break the data into two separate groups, then analyze the center and the spread for each group.

What is a bimodal distribution of scores?

a set of scores with two peaks or modes around which values tend to cluster, such that the frequencies at first increase and then decrease around each peak.


1 Answers

What you are trying to do is called a Gaussian Mixture model. The standard approach to solving this is using Expectation Maximization, scipy svn includes a section on machine learning and em called scikits. I use it a a fair bit.

like image 159
whatnick Avatar answered Oct 02 '22 14:10

whatnick