Bayesian estimation - Kalman filter - new Dynare version

Dear Dynare Team,

A set of codes developed in 2016 was running fine. Using the new Dynare version (4.5.6 instead of 4.5.3) and a newer version of Matlab I receive an error message related to the Kalman filter.

Would you be able to give me some advice? This is the error message I receive:

"There are 27 eigenvalue(s) larger than 1 in modulus
for 27 forward-looking variable(s)

The rank condition is verified.

You did not declare endogenous variables after the estimation/calib_smoother command.

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):

Error using initial_estimation_checks (line 143)
initial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became

Error in initial_estimation_checks (line 143)
error(‘initial_estimation_checks:: The forecast error variance in the multivariate Kalman
filter became singular.’)

Error in dynare_estimation_1 (line 165)
oo_ =

Error in dynare_estimation (line 105)

Error in XX_bayes (line 866)

Error in dynare (line 235)
evalin(‘base’,fname) ;"

I was trying to modify the initial parameter values, but it did not help.

Thank you.


Are you sure you used 4.5.3 and not 4.4.3 originally? In that case, the stochastic singularity was already present in the code. The old Dynare version automatically switched to the univariate filter, hiding issues like this.
You should find out why you your model implies a linear combination between your observables.

It was 4.4.3, you are right.

I do not see any linear combination here. Are there any other possible reasons? Any other changes between the two Dynare versions? Thanks.

Even if you do not see it, there must be a linear combination implied. Have you tried omitting one observable at a time to see where it comes from?