Non positive definite Hessian
Posted: Tue Oct 20, 2015 11:24 am
Occasionally I get a message that Dynare cannot continue on from calculation of the mode to MCMC because the Hessian is non positive definite.
However, this is almost certainly due to rounding error in the calculation of the Hessian, since almost all the optimization routines that Dynare uses have been around virtually unchanged for 40 years and have been rigorously tested, and will not stop at a saddlepoint. In other words, the mode has been correctly reached, but there is a numerical problem. The obvious solution to this is to use the approximation to the Hessian (or to its inverse) that is generated for all optimization routines except the Nelder-Meade simplex algorithm. May I suggest that this is done for the next version of Dynare, so that Dynare can progress seamlessly into MCMC. The only issue is that users would need to be informed that the calculation of the marginal likelihood at the end of the mode stage could be unreliable.
However, this is almost certainly due to rounding error in the calculation of the Hessian, since almost all the optimization routines that Dynare uses have been around virtually unchanged for 40 years and have been rigorously tested, and will not stop at a saddlepoint. In other words, the mode has been correctly reached, but there is a numerical problem. The obvious solution to this is to use the approximation to the Hessian (or to its inverse) that is generated for all optimization routines except the Nelder-Meade simplex algorithm. May I suggest that this is done for the next version of Dynare, so that Dynare can progress seamlessly into MCMC. The only issue is that users would need to be informed that the calculation of the marginal likelihood at the end of the mode stage could be unreliable.