jmaih / RISE_toolbox

Solution and estimation of Markov Switching Rational Expectations / DSGE Models
BSD 3-Clause "New" or "Revised" License
105 stars 78 forks source link

about implementing csminwel or a more efficient optimization algorithm #26

Closed Pedro0304 closed 8 years ago

Pedro0304 commented 8 years ago

Hi Junior,

I have replicated one example from Dynare in RISE but i got serious problems during the estimation, the think is that dynare reaches a global minimum (while reaching the posterior mode) which is lower than the one i got from rise, and also got problems with the sigma (SIG) to be positive definite.

Have you implemented the csminwel algorithm in the estimation? Which one of those is possible to use would you recommend?

Regards, Pedro

jmaih commented 8 years ago

Hi Pedro,

  1. You reached a minimum, not necessarily the "global one", which you cannot prove for the type of models we estimate unless you know it in advance.
  2. It is well possible that one optimization procedure reaches a peak different from another one and that is the exact reason why there are many optimization procedures with different strengths and abilities. Sometimes, as it seems to be the case in your example, an optimization procedure may stop before reaching a peak. This can occur because of some discontinuities in the objective function, thin ridges that are difficult to traverse etc. When this occurs, the numerical covariance matrix calculated will in general not be positive definite.
  3. csminwel is just one optimization procedure and there is no guarantee that it will always give you the best results in all problems. RISE does not implement csminwel but it is very easy to interface it to RISE.
  4. The default optimizer of RISE is Matlab's fmincon but RISE gives you the possibility of using your own optimization procedure. Get help by typing help dsge/estimate and or take a look at issues #12, #13 and #21 where some of those aspects have been discussed.

Cheers,

Junior