Problem with ML estimation for DSGE

Hello. I am trying to estimate a DSGE model using ML, but I am getting the following error:

(minus) the hessian matrix at the “mode” is not positive definite!
=> posterior variance of the estimated parameters are not positive.
You should try to change the initial values of the parameters using
the estimated_params_init block, or use another optimization routine.
Warning: The results below are most likely wrong!

In dynare_estimation_1 (line 694)
In dynare_estimation (line 89)
In estim (line 424)
In dynare (line 188)"

I started with a model completely calibrated, so I started to estimate some parameters. Only when I estimate with too many parameters, I get the “warning” above.

I tried to change the initial values and also to change the mode_compute to 6, but the error persists.

My model is based on “Bhattarai, Saroj, Jae Won Lee, and Woong Yong Park. “Policy regimes, policy shifts, and US business cycles.” (2012).”

I am newbie with Dynare, so I hope someone could help me.dados_battharai.mat (9.3 KB)
estim.mod (5.1 KB)

  1. Please write a proper steady_state_model-block to deal with the constant in the observation equations.
  2. After doing that, please check the constant terms in these equations. They do not seem to fit the data, resulting in a beta of 1
  3. Have a look at the mode_check-plots.
1 Like

Hi Professor Pfeifer,

Thanks for replying. I fixed my steady_state_model-block and tried to run it again. The hessian matrix still is not positive definite. When I checked the mode-check-plot it seems that the shape of likelihood for some parameters is not “well behaved”, and maybe it could cause problems to the hessian, am I right?
Bayesian methods would avoid this problem?

Yes, the mode_check-plots show you where problems are. You need to find out where they come from (like beta extremely close to 1)

1 Like