Hi all, I tried to generate GDP forecasts by estimating a DSGE model using standard Bayesian methods, and **it ended up with the following message when posterior subdraws were taken**:

Error using print_info (line 54) One of the eigenvalues is close to 0/0 (the absolute value of numerator and denominator is smaller than 1e-06! If you believe that the model has a unique solution you can try to reduce the value of qz_zero_threshold.

Following some suggestions from previous posts, I also ran `model_diagnostics(M_,options_,oo_)`

, and it shows that:

MODEL_DIAGNOSTICS: The Jacobian of the static model is singular

MODEL_DIAGNOSTICS: there is 5 colinear relationships between the variables and the equations

My original estimation command was `estimation (smoother, order=1, prefilter=0, datafile=data, presample=4, mh_replic=1000000, mh_nblocks=1, mh_jscale=0.3, mh_drop=0.3, sub_draws=5000, forecast=40, mode_compute=6) gdp;`

. Since the above singularity problem arises, I changed it to

`estimation (..., mh_replic=0, sub_draws=0, mode_compute=0, mode_file=corresponding_mode_file) gdp;`

or

`estimation (..., mh_replic=0, sub_draws=0, mode_compute=0, mode_file=corresponding_mh_mode_file) gdp;`

and both worked well.

So, my questions are:

- Why the singularity problem only arises when posterior subdraws are taken?
- How much does it change the estimations results and the forecasts?
- Is it reasonable to just calculate the forecasts at the mode or mh_mode, given that the model is a linear one?

And maybe a side issue: The forecasts I obtained by using the mode file and mh_mode file are the same. Why would this happen and does this mean that there’s something wrong with the MH sampling process?

Thanks!