Warning: There isn't enough information to estimate the init

Dear all,

What might be the reason to have the warning during the estimation:

*Warning: There isn’t enough information to estimate the initial conditions of the nonstationary variables *

It appeared after I introduced a new variable in the model , data_sdevU definded by equation

where lsU was in the model before and its steady state value is zero; *data_sdevU_eps * is the newly introduced exogenous shock.

The new variable enters the Taylor rule as the log deviation of the nominal x-rate from the central parity:

lRU-log(R)=rhoR*(lRU(-1)-log(R))+(1-rhoR)*(lpitargetU-log(pitarget)+ rpi*(lpicU -lpitargetU)+ ry*(lylessdU-log(ylessd)) + rs*data_sdevU) + epsR_eps/10;

where rs is newly defined parameter.

I’ve added data_sdevU=0; in the initval; block and defined its zero steady state value in the steady-state file (which involves fsolve). rs is also added to the steady-state file.

When running the .mod file, Dynare computes the steady state, confirms the rank condition but when the *estimation * starts, Dynare issues the above mentioned warning many times and then warns many times about “Matrix is close to singular or badly scaled”. The estimation results appear ok but some of the variables (e.g. the interest rates or even deflators) have NaNs as theoretical moments although everything was ok before the introduction of the new variable.

The warnings appear regardless of whether data_sdevU is observable or not.

model_diagnostics(M_,options_,oo_) does not show any issue.

What might be wrong? How can I approach the problem?

Can you upload the *.mod file and the data or send them to me? Working with the diffuse filter maybe very tricky. In short, the error says that you didn’t supply enough information in the data to compute the location of the non-stationary variable, only its rate of growth.
Furthermore data_sdevU = 0 is only one of an infinity of possible steady state value for this variable. It works if you supply the exact steady state for all other variables, but you well get singular matrix warning if Dynare needs to use a numerical procedure to compute the steady state.

I have the same warning message, even thought I have the steady state file with the right steady state value for all the variables.

Moreover I get the following message
univariate_diffuse_kalman_filter:: T does influence the rank of Pinf!

I have modified the Iacviello-Neri code. I substituted their assumption about the deterministic trends, with the agnostic to trend approach proposed by Filippo Ferroni (here filippoferroni.com/one_step.pdf )
Files are attached.
Any suggestions?
US_data_65Q106Q4.m (36.3 KB)
jules1_steadystate.m (5.1 KB)
jules1.mod (19.8 KB)

Sorry, but using your attached files, I get the error

[quote]Warning: Some of the parameters have no value (RHO_AM, sigma_t_C, sigma_mu_C, sigma_t_IH, sigma_mu_IH, sigma_t_IK,
sigma_mu_IK, sigma_t_Q, sigma_mu_Q) when using steady. If these parameters are not initialized in a steadystate file,
Dynare may not be able to solve the model…

In test_for_deep_parameters_calibration at 46
In steady at 33
In jules1 at 606
In dynare at 180

Residuals of the static equations:

Equation number 1 : 0
Equation number 2 : 0
Equation number 3 : 0
Equation number 4 : 0
Equation number 5 : 0
Equation number 6 : 0
Equation number 7 : 0
Equation number 8 : 0
Equation number 9 : 0
Equation number 10 : 0
Equation number 11 : 0
Equation number 12 : 0
Equation number 13 : 0
Equation number 14 : 0
Equation number 15 : 0
Equation number 16 : 0
Equation number 17 : 0
Equation number 18 : 0
Equation number 19 : 0
Equation number 20 : 0
Equation number 21 : 0
Equation number 22 : 0
Equation number 23 : 0
Equation number 24 : 0
Equation number 25 : 0
Equation number 26 : 0
Equation number 27 : 0
Equation number 28 : 0
Equation number 29 : 0
Equation number 30 : 0
Equation number 31 : 0
Equation number 32 : 0
Equation number 33 : 0
Equation number 34 : NaN
Equation number 35 : NaN
Equation number 36 : 0
Equation number 37 : 0
Equation number 38 : NaN
Equation number 39 : NaN
Equation number 40 : 0
Equation number 41 : NaN
Equation number 42 : NaN
Equation number 43 : 0
Equation number 44 : 0
Equation number 45 : 0
Equation number 46 : NaN
Equation number 47 : NaN
Equation number 48 : 0
Equation number 49 : 0
Equation number 50 : 0
Equation number 51 : 0
Equation number 52 : 0
Equation number 53 : 0
Equation number 54 : 0
Equation number 55 : 0
Equation number 56 : 0
Equation number 57 : 0
Equation number 58 : 0
Equation number 59 : 0[/quote]

But your steady state file looks weird. I guess you are not using 4.4.3.

Dear Johannes

thanks a lot for your reply. You are right, I was using dynare 4.4.1. With 4.4.3 I have your same error. But in the attached file I fixed that problem (as written, the missing initialization of some paramters was an issue). Anyway, I am still having the previous problems.
As for the steady state file, it is the original one written by Iacoviello and Neri.
jules1.mod (20 KB)

Apart from the warning being annoying, do you encounter any problems? The problem seems to only occur for some parameter values.

Yes, it seems kind of impossible to estimate the model. It is common to have problems to find initial values to start the MCMC, but usually with mode_compute=6 it works. For this model it does not work. It always crashes saying with the following message

Error using chol
Matrix must be positive definite.
Error in gmhmaxlik (line 197)
dd = transpose(chol(CovJump));
Error in dynare_estimation_1 (line 437)
[xparam1,PostVar,Scale,PostMean] = …
Error in dynare_estimation (line 89)
Error in jules1 (line 712)
Error in dynare (line 180)
evalin(‘base’,fname) ;

I was than wondering if that was somehow related to the warning messages.

Unfortunately, the model is really large. You need to try to debug it systematically. Does the original model work? If so, at which change does the problem appear? Do the mode_check plots indicate anything suspicous? Unfortunately, the identification command crashed with your model. If nothing else works, try the mcmc_jumping_covariance command to start the MCMC and see what happens.