Mode_compute=0: When can I provide an existing mode?

As I am probably wasting a lot of time when estimating my models, may I quickly ask you the following question (I already tried to solve it by browsing/searching the forum): I do not fully understand when I am allowed to provide an already existing mode (via mod_file=xxx and mode_compute=0) and when I have to restart the mode optimisation.

Assuming that I have already estimated my model once and successfully obtained the posterior mode. Now I want to make some changes to my model/estimation and then re-run the estimation. Here, I am not sure which changes to my model forces me to also re-do the mode optimisation and which changes allow me to use the existing mode (and thus speed up my estimation).

Estimating a model the following list of changes are possible:

  1. Changes to the model equation:
    a) either just change some calibrated parameters without changing the structure of the model or
    b) add/remove equations and thus variables (this might also affect the list of observables)

  2. Changes to the priors:
    a) either just change some existing priors
    b) add a new prior/remove an existing prior as I want to estimate more/less parameters

  3. Changes to the observables:
    add/remove some data and thus add/remove observables in the estimation

My guess would be that:

  • when doing 1a) and 2a) I should be able to use an existing mode in the estimation.
  • Doing 3) forces me to re-do the mode optimisation.
  • unsure what to do with 1b) and 2b)

I will be very grateful if you can help me out with this (and speed up my future estimations).

For all modifications that affect the posterior, you need to redo mode-finding. This applies to all three cases that you discuss as none of them will leave the posterior unaffected. However, unless you introduce new estimated parameters, you can still use the old mode-file as the starting point for new mode finding (i.e. use mode_file with mode_compute>0)

Dear Prof Pfeifer,

it seems that I have misunderstood how dynare finds the mode. Many thanks for this clarification.