Steady state file in estimation: parameter assignment

Hi,
I’m using Dynare 4.5.3 for estimation.
I have a steadystate.m file that assigns parameter values to M.params.

Dynare complains about this and eventually throws an 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):
Error using initial_estimation_checks (line 143)
initial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became singular.

If I follow the advice and “try using the calibrated version of the model as starting values”, the likelyhood is flat, as if the parameter values are not updated.

I don’t remember having faced this problem in the past.

Q: Has Dynare recently changed the way it handles the steady state file in estimation?
Q: Is there a way to avoid re-computing the steady state during estimation? (the estimated parameters don’t affect the steady state)

Thanks and best regards,
Gianni

Hi,
I am not sure I get the full scope of the problem. The stochastic singularity warning should be unrelated to setting parameters in the steady state file.

Thanks for the quick reaction.
Any idea on my specific questions?

I might be able to debug the problem once I discard non issues.

Cheers
Gianni

  1. What exactly is the problem? You have a mod-file that ran with an earlier version, but now crashes with stochastic singularity? That can happen as Dynare now does not automatically switch to the univariate Kalman filter in this case. The old behavior was the new option use_univariate_filters_if_singularity_is_detected
  2. A flat likelihood indicates an identification issue, but should be unrelated to the steady state file.
  3. There have been a couple of bugfixes around steady state files, but the behavior should still be the same. Have you checked whether M_.params is different after estimation?

Hi,
sorry, I don’t want to waste you time.
My questions in the original message were the following
Q1: Has Dynare recently changed the way it handles the steady state file in estimation?
Q2: Is there a way to avoid re-computing the steady state during estimation? (the estimated parameters don’t affect the steady state).

Which in a sense are related. If during estimation the steady state file is not called and the initial steady state is maintained throughout the estimation (I guess there might be an option for that), then my problem should not emerge.
So all boils down to the option to avoid re-checking (calling) the steady state.

I am using workarounds, but maybe there is a simpler way (ie the mentioned option) to avoid them.

Maybe other users have faced similar problems.

Cheers
Gianni

Hi,
you are not wasting your time. I am just trying to understand what the larger problem is. The answers to those questions are

  1. No, there has been no feature change, only bugfixes
  2. There is no option for this. Of course, you can always put the steady state values in an initval-block and work without a steady state file.
    But I still don’t understand why the steady state file is giving you trouble during estimation?

Yes, doing the initval business was my workaround too.
So I guess I’ll stick to that.
Thanks a million for your quick help!
Best,
Gianni