Page 1 of 1

Quick Help

PostPosted: Sun Jan 05, 2014 6:28 am
by tahmin
Hi friends,
I can run my code but But not completely. When I run my model, appear these errors:

Error using initial_estimation_checks (line 38)
initial_estimation_checks:: Estimation can't take place because
too many shocks have been calibrated with a zero variance!

Error in initial_estimation_checks (line 38)
error(['initial_estimation_checks:: Estimation can''t take
place because too many shocks have been calibrated with a
zero variance!'])

Error in dynare_estimation_1 (line 180)
oo_ =
initial_estimation_checks(objective_function,xparam1,dataset_,M_,estim_params_,options_,bayestopt_,oo_);

Error in dynare_estimation (line 84)
dynare_estimation_1(var_list,dname);

Error in qwe (line 508)
dynare_estimation(var_list_);

Error in dynare (line 162)
evalin('base',fname) ;

please help me to solve these errors.
Thanks.

Re: Quick Help

PostPosted: Sun Jan 05, 2014 7:15 am
by jpfeifer
You have 6 observables so you need at least 6 shocks. But in estimation and the shocks-block, only 5 of them are set/estimated. All others are initialized to 0.

Re: Quick Help

PostPosted: Fri Jan 10, 2014 7:08 am
by macroresearch123
Hi Johannes,

This similar question is relevant for me now too. The main question is: how are shocks identified in these models? While it's easy to add shocks - just put one on production, labor productivity, the taxes, and so on - the empirical justification for doing so seems to be scarce. I read the Econometric Reviews paper by An, but it does not really address this issue. In my application, I am trying to estimate three parameters, and I wanted to make consumption, capital, and labor supply endogenous -- but then I need three shocks. What does it mean to run the estimation with only one shock too? Thanks for your help!

Re: Quick Help

PostPosted: Fri Jan 10, 2014 10:01 am
by jpfeifer
I don't really understand the question. You need at least as many shocks as observables. This has nothing to do with the number of endogenous variables or the number of parameters. Rather, your forecast error variance matrix that needs to be inverted would be singular otherwise.

Re: Quick Help

PostPosted: Tue Jan 14, 2014 6:41 am
by macroresearch123
Right, I mis-spoke above about endogenous variables -- what I meant was including more "varobs" (observables). What is the best practice for what to include and how the parameters can be identified? I understand the technical econometric notion of identification -- invertibility -- but you and I both know that this is not at all the notion of identification that matters for papers, seminars, and, importantly, empirical relevance. The technical condition is easy to satisfy, but I am concerned that my results might look good but still be poorly identified in the empirical sense. Do you have suggested references on this point? Coincidentally, a job market candidate is presenting in another two weeks from UPenn (student of Fernandez Villaverde) who uses this Dynare estimation method!

Re: Quick Help

PostPosted: Tue Jan 14, 2014 8:10 am
by jpfeifer
First of all "shocks" cannot be identified. Only parameters can be identified (like standard deviations and autocorrelations for shock processes). For shocks, the relevant term is their filtered and smoothed estimates. Here, the standard reference is Hamilton's 1994 Time Series Analysis.

Regarding identification, the standard reference to start with is Nicolai Iskrev's JME-paper. You can check identification strength using Dynare's identification command.
Regarding which observables to choose, check out Guerron-Quintana's "What you match does matter" in the Journal of Applied Econometrics
If you want to use more observable than you have economic shocks, people usually use measurement error. This goes back to Sargent and Ireland.

Re: Quick Help

PostPosted: Tue Jan 14, 2014 9:37 am
by Daniel Bendel
Does the identification command work when using measurement errors? I always get an error message...

Code: Select all
==== Identification analysis ====

Testing ML Starting value
Evaluating simulated moment uncertainty ... please wait
Doing 2415 replicas of length 300 periods.
Simulated moment uncertainty ... done!
??? Error using ==> times
Matrix dimensions must agree.

Error in ==> identification_analysis at 225
        deltaM = deltaM.*abs(params');

Error in ==> dynare_identification at 280
    [idehess_point, idemoments_point, idemodel_point, idelre_point, derivatives_info_point, info] = ...

Error in ==> Model3 at 666
dynare_identification(options_ident);

Error in ==> dynare at 162
evalin('base',fname) ;

Re: Quick Help

PostPosted: Tue Jan 14, 2014 12:26 pm
by jpfeifer
Unfortunately, not yet.

Re: Quick Help

PostPosted: Thu Jan 16, 2014 2:49 pm
by macroresearch123
These are great references -- thank you Johannes.

Re: Estimation can't take place because too many shocks have

PostPosted: Thu Jun 11, 2015 8:56 pm
by selima
Good evening In fact I have the same problem but when I try to estimate the std error of the shock I have the same error message :

??? Error using ==> initial_estimation_checks at 38
initial_estimation_checks:: Estimation can't take place because too many shocks have been calibrated with a zero variance!

Error in ==> initial_estimation_checks at 38
error(['initial_estimation_checks:: Estimation can''t take place because too many shocks have been calibrated with a zero variance!'])

Error in ==> dynare_estimation_1 at 179
oo_ = initial_estimation_checks(objective_function,xparam1,dataset_,M_,estim_params_,options_,bayestopt_,oo_);

Error in ==> dynare_estimation at 89
dynare_estimation_1(var_list,dname);

Error in ==> article2modifsansfiscal at 468
dynare_estimation(var_list_);

Error in ==> dynare at 180
evalin('base',fname) ;

Can you help me ? thank you very much

Re: Quick Help

PostPosted: Fri Jun 12, 2015 7:58 am
by jpfeifer
You have 8 observables, but only 6 non-zero shocks:
Code: Select all
shocks;                                                                                                                                                               
var  epsystar = 1; //OK                                                         
//var  epsistar = 1 ;                                                       
var  epszeta = 1 ;//OK                                                 
//var  epspistar = 1 ;                                                   
var   epsei=1 ;//OK
var  epsz= 1 ;//OK
var epspih=1;//OK
var epspim=1;//OK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
end;

Thus, you have stochastic singularity.