Bayesian estimation problem

i modified a dynare mod file as follows and i run it on dynare 4.12 in matlab,the parameters estimation using bayesian approach,however the matlab can estimate the parameters value but also shows such message in the end, so the impulse study cannot continue,maybe i guess it is the problem of parameters initiative setting, could somebody help me with this?thank you!

RESULTS FROM POSTERIOR MAXIMIZATION
parameters
prior mean mode s.d. t-stat prior pstdev

h 0.700 0.9997 0.0000 0.0000 beta 0.2000
sigma 1.000 0.0011 0.0001 8.3417 norm 0.2500
phi 1.000 0.4992 0.0009 551.6463 gamm 0.3000
eta 1.000 0.5640 0.0010 556.2263 gamm 0.3000
thetah 0.500 0.0725 0.0002 401.0787 beta 0.2500
thetaf 0.500 0.9903 0.0018 545.7630 beta 0.2500
rhoa 0.500 0.8988 0.0000 0.0000 beta 0.2000
phi1 1.500 0.9254 0.0013 731.2802 gamm 0.2500
phi2 0.250 0.3447 0.0005 731.0920 gamm 0.1000
rhor 0.500 0.8347 0.0015 550.2036 beta 0.2000
lam1 0.500 0.7431 0.0000 0.0000 beta 0.2000
rhorstar 0.500 0.1000 0.0000 0.0000 beta 0.2000
standard deviation of shocks
prior mean mode s.d. t-stat prior pstdev

eps_s 2.000 1.3039 0.1417 9.2042 invg Inf
eps_q 2.000 2.2809 0.2431 9.3829 invg Inf
eps_pih 2.000 2.1774 0.0000 0.0000 invg Inf
eps_pif 2.000 0.9425 0.0000 0.0000 invg Inf
eps_r 2.000 0.9840 0.0000 0.0000 invg Inf
eps_a 2.000 1.7084 0.0000 0.0000 invg Inf
eps_ystar 2.000 0.7753 0.0000 0.0000 invg Inf
eps_rstar 2.000 0.9993 0.0964 10.3620 invg Inf

Log data density [Laplace approximation] is -599.287677.

??? Error using ==> chol
Matrix must be positive definite.

Error in ==> metropolis_hastings_initialization at 52
d = chol(vv);

Error in ==> random_walk_metropolis_hastings at 43
ix2, ilogpo2, ModelName, MhDirectoryName, fblck, fline, npar, nblck, nruns, NewFile, MAX_nruns, d ] = …

Error in ==> dynare_estimation_1 at 1061
feval(options_.posterior_sampling_method,‘DsgeLikelihood’,options_.proposal_distribution,xparam1,invhess,bounds,gend,data,…

Error in ==> dynare_estimation at 62
dynare_estimation_1(var_list,varargin{:});

Error in ==> Liu_replica at 244
dynare_estimation(var_list_);

Error in ==> dynare at 132
evalin(‘base’,fname) ;

data2.m (2.87 KB)
Liu_replica.mod (4.58 KB)

Hi, The problem here is that the posterior kernel optimization failed. In the first table of results (called RESULTS FROM POSTERIOR MAXIMIZATION) some of the standard deviations are zero. This indicates that the Hessian of the posterior kernel at the estimated mode is ill behaved, so that the approximated posterior covariance matrix is rank deficient. As this matrix is not positive definite matlab fails in computing its Cholesky decomposition and crashes. This problem indicates that the optimization routine stopped at a bad estimate of the posterior mode. You have to find another estimate of the posterior mode. You can change the optimization routine or provide initial conditions for the estimated parameters (look at the manual in the estimation section).

Best, Stéphane.

1 Like

thank you StephaneAdjemian,i modified the mod file and it runs.