Page 1 of 1

Estimated_params_init

PostPosted: Thu Jun 30, 2016 10:42 am
by prekias
Dear Dr Pfeifer,

It seems that I cannot really understand the way that Estimated_params_init block works. The only thing i found about is that: This block declares numerical initial values for the optimizer when these ones are different from the prior mean.

1) How should I know if these values are different from the priors ?? since I dont even know the values I should set ?? How can I find these values ??
2) I have tried estimating my model without this block, only specifying the priors, and it seems that it works fine. Is that wrong ? should I worry about it??

Much appreciated

Re: Estimated_params_init

PostPosted: Thu Jun 30, 2016 11:58 am
by jpfeifer
1. In principle, starting values should not matter. In practice they often do. Sometimes you think the most likely parameter value is different from the prior mean. For example, the prior on the Calvo parameter often has mean 0.5, but in the posterior it will often be around 0.75. The estimated_param_init-block allows you to easily incorporate this. However, if you have no clue how to set this, then by definition your best guess is the prior mean/mode.
2. If it works, you should not worry. Any starting value should work.

See also http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=8443

Re: Estimated_params_init

PostPosted: Sun Jul 03, 2016 10:14 am
by lelos
Just a quick question Dr., When I use the mode_compute=4 igot the following error:

Error using chol
Matrix must be positive definite.

Error in posterior_sampler_initialization (line 83)
d = chol(vv);

Error in posterior_sampler (line 59)
[ ix2, ilogpo2, ModelName, MetropolisFolder, fblck, fline, npar, nblck, nruns,
NewFile, MAX_nruns, d ] = ...

Error in dynare_estimation_1 (line 438)
posterior_sampler(objective_function,posterior_sampler_options.proposal_distribution,xparam1,posterior_sampler_options,bounds,dataset_,dataset_info,options_,M_,estim_params_,bayestopt_,oo_);

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

Error in DSGE_recursive (line 383)
oo_recursive_=dynare_estimation(var_list_);

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

Error in DSGE_run (line 1)
dynare DSGE_recursive.mod;


but if I use the mode_compute=6 the code runs fine. Is there any interpretation behind that?

Many thanks

Re: Estimated_params_init

PostPosted: Sun Jul 03, 2016 3:54 pm
by jpfeifer
These are conceptually different optimizers. mode_compute=4 is derivative-based on local, while 6 is "global" and does not use derivatives. They may perform very different in different circumstances. Moreover, the way the Hessian at the mode is computed differs.

Re: Estimated_params_init

PostPosted: Sun Jul 10, 2016 4:23 pm
by lelos
Dear Professor,

I have the impression that mode_compute=6 is much much more time consuming than mode_compute=4. Is that correct?

Thank you

Re: Estimated_params_init

PostPosted: Mon Jul 11, 2016 6:23 am
by jpfeifer
Yes, that is correct. Using derivatives improves speed, but potentially confines you to finding only local optima.