Sunday, May 16, 2010

Adaptive Mixtures

In finite mixture model approximation, we need to specify the number of mixtures beforehand. We might try to explore the distribution by our eyes. What could be better is the procedure that can get this number automatically. Yes, there is such a procedure. It is called "Adaptive Mixtures". [ Priebe, 1994]

Consider the follow model of three mixtures:

\[f(x) = 0.3\phi (x, - 3,1) + 0.3\phi (x,0,1) + 0.4\phi (x,2,0.5)\]

The data generated from the model is shown as a histogram and distribution plot below.

The following matlab code analyzes the data and gives out the calculated mixtures.

maxterms = 10;
[pihat,muhat,varhat]=csadpmix(data,maxterms);

We can see the result mixtures by:

figure;
csdfplot(muhat,varhat,pihat,min(data),max(data));
axis tight;


It is clear from the above figure that the generated mixtures has 9 terms!. This is normal for adaptive mixtures procedure. The distribution of these mixtures is shown below (it should be similar to the distribution of the original).



No comments:

Post a Comment