Hello everyone,

I’m working with a news shocks model. Milani and Treadwell (2012) find the optimal lag of this type of shock by comparing various model specifications by checking the marginal likelihoods (using Geweke’s harmonic mean approximation for alternative horizons for the news shocks). As far as I know, to find this information it is necessary to run the model to be estimated, which can take several hours. Is there another way to do this model comparison? Thank you.

# Model Comparison with news shocks

**robsonrp**#1

**jpfeifer**#2

You could make do with the Laplace approximation to get the marginal data density. That would only involve mode-finding, not the full estimation.

**robsonrp**#3

Thank you for your attention, Professor Pfeifer.

Are there any examples of how I can do this in Dynare?

**jpfeifer**#4

Whenever you run mode-finding and the Hessian at the mode is positive definite, there should be a `oo_.MarginalDensity.ModifiedHarmonicMean`

field storing the result.

**robsonrp**#5

Thank you very much for your attention, but it was not clear how to get to that step. Should I use the estimation-command by changing something in the options?

**jpfeifer**#6

No, as I said, this number should be there whenever you run mode-finding. You can simply set `mh_replic=0`

to save time by shutting off the Bayesian estimation.

**robsonrp**#7

Sorry to go back to this point, but the sequence of commands I have used in the estimation is

resid (1);

model_diagnostics;

identification (advanced = 1, graph_format = pdf);

estimation (datafile = brdatach1_29, xls_sheet = brdata, xls_range = A1: C76, mode_check, graph_format = pdf, mh_replic = 0, mh_nblocks = 1, mh_drop = 0.5, mh_jscale = 0.2, mh_conf_sig = 0.90, mode_compute = 6) y pi i;

This sequence takes a lot of time, even using mh-replic = 0 and changing mh_nblocks from 2 to 1. Is there anything else that can be done in this case to save time?

**jpfeifer**#8

Your time-consuming step is the `mode_compute=6`

. The `mh_nblocks`

does nothing, because you have `mh_replic = 0`

. Why are you using that mode-finder?

**robsonrp**#9

I’m using this mode-finder because once I’ve set the optimal number of lags I’m going to work with it, to run the whole estimate. By your question, then, I do not need to use it. What would be the least time consuming option in the Dynare Manual? Thanks a lot, Professor.