Fs2000 hessian not positive definite

Hi all,

I ran the fs2000 code straight out of the box and got the “POSTERIOR KERNEL OPTIMIZATION PROBLEM!” notification that the hessian matrix at the “mode” is not positive definite (see below for full output - does this forum not allow [spoiler] tags?).

I am using Dynare 4.4.3 and Octave 3.8.2 on Windows 7 (64-bit), and did not modify fs2000, fsdat, or fs2000_steadystate.m before estimation. What could be causing this?

Thank you for your input!

Improvement on iteration 310 =        0.000000088
improvement < crit termination
Objective function at mode: -1304.862915

POSTERIOR KERNEL OPTIMIZATION PROBLEM!
 (minus) the hessian matrix at the "mode" is not positive d
efinite!
=> posterior variance of the estimated parameters are not p
ositive.
You should try to change the initial values of the paramete
rs using
the estimated_params_init block, or use another optimizatio
n routine.
warning: The results below are most likely wrong!
warning: called from
    dynare_estimation_1 at line 694 column 9
    dynare_estimation at line 89 column 5
    fs2000 at line 221 column 1
    dynare at line 180 column 1

RESULTS FROM POSTERIOR ESTIMATION
parameters
  prior mean     mode    s.d. prior pstdev

alp   0.356   0.3842  0.0203 beta  0.0200
bet   0.993   0.9916  0.0020 beta  0.0020
gam   0.009   0.0053  0.0009 norm  0.0030
mst   1.000   1.0150  0.0006 norm  0.0070
rho   0.129   0.3359  0.0000 beta  0.2230
psi   0.650   0.6673  0.0500 beta  0.0500
del   0.010   0.0026  0.0016 beta  0.0050

standard deviation of shocks
  prior mean     mode    s.d. prior pstdev

e_a   0.035   0.0132  0.0009 invg     Inf
e_m   0.009   0.0054  0.0000 invg     Inf


Log data density [Laplace approximation] is 1260.993884.

Total computing time : 0h05m27s
Note: warning(s) encountered in MATLAB/Octave code

This is strange, because usually

This is far away from what you report. Could it be that there is a function conflict somewhere?

It turns out the fs2000 file from the Dynare “documentation and support/examples” page and the fs2000 file in the examples folder are different. The one from the Dynare page has the following code in the Metropolis-Hastings settings:

while the one in the examples folder has:

When I ran the one from the examples folder I got the same minus of log posterior:

So it looks like a different set of initial conditions, which are then used as the set of estimated priors(?) (I’m still not entirely clear conceptually on what M-H does in terms of the estimation, though I understand monte carlo and markov chain methods) due to no M-H replications providing increased estimation accuracy(?) is resulting in a non-convergent model?

More importantly, it seems there are different data files involved, one on theoretical data and one on model generated data.

Ah, I hadn’t even bothered to check the data because I figured the fs2000 example through Dynare and through the Dynare website would have more or less identical components. That’s very confusing for a first-time user to download an example and have it not work though.

Thank you for your input Prof. Pfeifer.

There is something wrong with Dynare 4.4.3 as it seems to be unable to find the correct mode with mode_compute=4. With the unstable version mode-finding continues and finds a positive definite one. We may add a warning.

1 Like