next up previous contents home.gif
Next: Why do I get Up: Questions for both versions Previous: What do I do   Contents

What happens if the EM Step of the algorithm never seems to finish?

In stage one the EM algorithm is moving deterministically through the parameter space and increasing the likelihood at every iteration. The EM algorithm in theory never stops, it just starts taking tinier steps as it gets very close to the maximium, sort of like the runner in zeno's paradox. Since the algorithm needs to stop, Amelia will check the size of the last step, and if it is small enough to be considered negligable, will end the EM algorithm. If EM runs for more than a few hundred iterations, it is probably because this step size is never quite getting as small as Amelia would like. This is more common as the number of parameters and fraction of missing data increases, since these conditions are associated with a flatter likelihood. Here's what you can do.

First, try setting a slight prior (such as _AMempri), and see if that solves this problem. If the problem continues, change the step size by settting the global _AMdrtol to a larger number (the default is 0.00001).

If this does not work, you can just tell Amelia to end the EM algorithm after a certain number of steps, regardless of how large the last step size was. To do this set _AMembrn=1 and _AMburn to some large number of steps (say 500).

These last two strategies violate no assumptions, especially since the next stages of the algorithm just need an approximation to where the maximium of likelihood is. The approximation error will be accounted for later in the importance sampling stage.


next up previous contents home.gif
Next: Why do I get Up: Questions for both versions Previous: What do I do   Contents
Gary King 2003-07-25