DSGE Model Estimation Error: Kalman filter became singular


Dear all,

I encountered an error running my model in Dynare and I would appreciate it very much if any one could help me on this.

First of all I’m new in Dynare, my apologies if the answer is obvious or if I did a lot of mistakes in the mod file.

I have to estimate a model. First time I did it was in a mac device and it ran perfectly (with different Matlab and Dynare version for sure). The problem is now… I have no access to the device anymore, and trying to make it work in a windows 10 device.

During a first try, Dynare recognised an exogenous variable not declared or used in the model block (e_beta). As the error suggested me, I used the option ‘nostrict’ to run it.

Using ‘nostrict’ the model starts to compute. After returning me the steady state, Dynare gets me back the following error:

initial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became singular.
initial_estimation_checks:: This is often a sign of stochastic singularity, but can also sometimes happen by chance
initial_estimation_checks:: for a particular combination of parameters and data realizations.
initial_estimation_checks:: If you think the latter is the case, you should try with different initial values for the estimated parameters.

ESTIMATION_CHECKS: There was an error in computing the likelihood for initial parameter values.
ESTIMATION_CHECKS: If this is not a problem with the setting of options (check the error message below),
ESTIMATION_CHECKS: you should try using the calibrated version of the model as starting values. To do
ESTIMATION_CHECKS: this, add an empty estimated_params_init-block with use_calibration option immediately before the estimation
ESTIMATION_CHECKS: command (and after the estimated_params-block so that it does not get overwritten):

Could you help me to identify the mistake?

For your reference, I have uploaded all the files necessary to run the code.

Many thanks in advance!

Kind regards

macrofish_discards_estimation.zip (91.0 KB)


Please search the forum on “stochastic singularity”. See for example Efficient quantity
Earlier Dynare version did not correctly check for this problem.


Edit: Everything solved! Thanks for your help!

Dear @jpfeifer , thank you for the answer,

I had the opportunity to check Dynare Version in the old Mac device and was 4.4.3.

Same script, in same dynare version, with same matlab version in a windows device does not work.

Do you know the possible reason?

Thank you very much,