Wednesday, May 12, 2010

Univariate Finite Mixture

Like kernel density estimation (KDE), Finite Mixture (FM) is useful for estimating probability density funciton (PDF). However, unlike KDE, where the bandwidth parameter h is crucial and all of the sample points need to be kept for each evaluation of x, FM needs to take care mainly the number of mixtures and their weights:
$f(x) = \sum\limits_{i = 1}^c {{p_i}g(x;{\theta _i})} $
where $p_i$ represents the weight or mixing coefficient for the i-th term and $g(x;{\theta_i)}$ denotes a probability density, with parameters represented by the vector $\theta_i$

Beware: $p_1+...+p_c = 1$ and $p_i > 0$ and typically comparing to KDE, $c \ll n$


For example,  the model consists of three normal pdf  is
$f(x)=0.4 \phi(x;-3,1)+0.2 \phi(x;0,1)+0.4\phi(x;2,1.5)$

It can be shown by the following MATLAB code:

% finite mixture model
x=linspace(-8,9);
coeff = [0.4 0.2 0.4];
mus = [-3 0 4];
vars = [1 1 1.5];
fhat=zeros(size(x));
for i=1:length(mus) % n terms
    fhat=fhat+coeff(i)*normpdf(x,mus(i),vars(i));
end
plot(x,fhat);

No comments:

Post a Comment