Expectation-Maximization Algorithm

Broadly used algorithm in situations where the observed data is considered incomplete when finding Method of maximum likelihood

The complete data y

y=(x,z)

consists of observed data x (which is incomplete) and unobserved data z

Formulation

Suppose we have the pdfs or pmfs for the complete data fc(y;θ) and the incomplete data f(x;θ)

The complete-data log-likelihood could be formed for θ if y are fully observed and available

logLc(θ)=logfc(y;θ)=log(fc(x,z;θ))

In the first iteration, the E-step finds the expectation of the complete-data log likelihood given θ(0), the initial value for θ

Q(θ;θ0)=E[logLc(θ;x,z)|θ(0)]

The M-step is to find the value of θ that maximizes the Q(θ;θ(0)), θ(1) such that

Q(θ(1);θ(0))Q(θ;θ(0))

for all possible θ

On the (i+1)th iteration, we define:
E-Step: Calculate

Q(θ;θ(1))=E[logLc]

M-Step: Find θ(i+1) that maximizes Q(θ;θ(i)), that is

Q(θ(i+1);θ(i))Q(θ;θ(i))

for all θ

Stopping Criteria

The pdf of the incomplete data is given by integrating out z and getting the marginal of x

f(x;θ)=fc(y;θ)dz=fc(x,z;θ)dz=zfc(x,z;θ)

Repeat both the E and M steps alternatively until convergence as the difference of the incomplete-data likelihood L(θ(1))L(θ(i)) is very small and less than a pre-specified tolerance amount.

L(θ(i))=f(xi;θ)