I am using Dynare to estimate my DSGE model. I am looking at the shocks decomposition, especially the results stored in oo_.PosteriorTheoreticalMoments.dsge.ConditionalVarianceDecomposition in the results.mat.
I find that the variance of the decomposition is extremely small (1*10^(-30)) while the mean is normal (0.1).
Could you please help me understand this nearly-zero variance? Relating to the literature, I should’ve been able to produce a confidence interval for my shocks decomposition.
You need to be careful in your terminology. A variance decomposition is not a shock decomposition/historical shock decomposition.
I am not sure I understand your question. What you seem to say is that your posterior distribution for the variance decomposition across draws is degenerate, i.e. for every parameter draw you get the same value. That could indicate a problem with the posterior distribution. Did the MCMC converge? And what was the acceptance rate?
I set mode_compute = 6, AcceptanceRateTarget = default (1/3), and it converges.
( Below is part of my log file. I think it looks normal.)
Estimation::mcmc: Number of mh files: 1 per block.
Estimation::mcmc: Total number of generated files: 2.
Estimation::mcmc: Total number of iterations: 20000.
Estimation::mcmc: Current acceptance ratio per chain:
Chain 1: 31.8%
Chain 2: 32.11%
Estimation::mcmc: Total number of MH draws per chain: 20000.
Estimation::mcmc: Total number of generated MH files: 1.
Most of the parameters do not fluctuate much. Could you please take a look at the following two graphs? The parameter z is a TFP shock and the prior for its variance is inverse gamma (1,1). TracePlot_Posterior_blck_1.pdf (380.2 KB) TracePlot_ANTsigmaz_blck_1.pdf (369.9 KB)
Those graphs look ok. They suggest that the posterior was correctly sampled. The question is why you get no dispersion in the posterior variance decomposition estimates. Which Dynare version are you using and which fields exactly are you inspecting?
I am using Dynare version 4.5.4. I am estimating a DSGE model that investigates household labor decision. I log-linearized my model, and input US log GDP growth and log labor supply as data. The non-monetary model is mostly standard, with wage stickiness, habit in consumption, and income tax. I use Dynare to produce shock decomposition, variance decomposition, and impulse response functions, all of which look good.
I am not sure I understand your last question. Please let me know if I still won’t get it.
My list of estimated parameters includes 4 parameters on the utility function, with prior assumed to be of normal distributions; 9 parameters on slopes (s) of the shocks (TFP, government expenditure, taste, etc.), with prior beta distributions; 9 parameters on variance of the error terms (e) of these shocks, with prior inverse gamma distributions. They look like following (X are the shocks):
I am looking at oo_.PosteriorTheoreticalMoments.dsge.ConditionalVarianceDecomposition.Variance. The numbers in it are around (1*10^(-30)), compared to oo_.PosteriorTheoreticalMoments.dsge.ConditionalVarianceDecomposition.Mean, where numbers are around 0.1.
The problem is that since the variance in ConditionalVarianceDecomposition is nearly zero, the confidence interval degenerates to the mean.
Yes, you are right. oo_.PosteriorTheoreticalMoments.dsge.correlation.Variance, oo_.PosteriorTheoreticalMoments.dsge.VarianceDecomposition.Variance, oo_.PosteriorTheoreticalMoments.dsge.ConditionalVarianceDecomposition.Variance,
oo_.PosteriorTheoreticalMoments.dsge.covariance.Variance all have small numbers.
Other fields like oo_.PosteriorIRF, oo._posterior_deciles are normal.