We help IT Professionals succeed at work.

Is it possible to do Expectation maximization for a Gamma mixture model?

Last Modified: 2013-12-26
I have an array of 1-dimensional data that I'd like to fit a Gamma mixture model two. The data is drawn from two Gamma distributions. I've implemented EM for Gamma distributions, and it works as long as I only fit one distribution to the data.

However, when I try to fit two distributions, the algorithm converges to a solution with one distribution with weight 1 (sort-of fitting to all of the data) and one distribution with weight 0. This happens even when I supply initial parameters that I found by fitting a Gamma function to each part of the data in isolation, and even when I artificially add "space" between the two underlying distributions, so that they are well-separated.

I thought that it would be easy to find ready-made implementations of EM for different kinds of PDFs, but it seems that all packages I've found are for Gaussian distributions only. And since my own implementation doesn't give the expected result either, I ask:

Is it possible to do Expectation Maximization to find the parameters of a mixture of Gamma distributions?
Watch Question


I'll try to rephrase the question. Unfortunately it seems very difficult to typeset math in this forum, so I'll just refer to the Wikipedia Gamma dsitribution article at http://en.wikipedia.org/wiki/Gamma_distribution

Assuming that it is possible to use EM for a Gamma mixture model, I'm not sure if I'm doing the maximum likelihood update of the parameters correctly.

I'm using the heuristic update from the Wikipedia page on Gamma distributions for the k parameter, but instead of the scale factor 1/N, I use 1/Sum(y(i,j)), where Sum(y(i,j)) is the sum of all partial membership values. And when computing the parameter s, I use the x parameters weighted by their corresponding partial membership value.

Is this correct?
Most Valuable Expert 2014
Top Expert 2015

How did you compute the expectation that yp0u maximized?


Sorry for my delay. I just had a prematurely born baby, and I won't have time for work in a few days. Please don't close the question. I'll be back later.
This one is on us!
(Get your first solution completely free - no credit card required)

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.