I have two questions. 1) I am estimating a model (estimate command) using dynare (4.1.1) under Matlab. Although the maximum likelihood estimates are virtually identical from one run to another, the number of iterations is different in each run (example: anywhere between 90-100 iterations), what is the meaning of that difference in the number of iterations and what are its implications. 2) In another model I am estimating, the maximum likelihood procedure occasionally converges prematurely (maximum 5% of the runs), what are the implications of that for the maximum likelihood estimates and the Bayesian posterior estimates derived from the model.
as you did not indicate something else, you are using the default estimation command option “mode_compute=4”, which is Chris Sims “csminwel”. This algorithm involves a random element. When it reaches a cliff of the likelihood function it randomly perturbs the search direction. In two reruns of the routine, this random step will almost surely be different. However, ideally the algorithm should converge to the unique mode (which seems to be the case as you indicate that the results are virtually the same).
Regarding your second question: This randomness means that the algorithm sometimes gets stuck while it works at other times. Remember that this is not necessarily a disadvantage of the algorithm. Other algorithms might always get stuck . You should simply discard these failed tries. Start your ML routine from different starting values and see if most of them converge to the same mode. Then use this mode and the inverse hessian at this mode and everything is fine for the Bayesian estimation following this estimation step.