A few questions on Bayesian estimation!!!
Posted: Tue Dec 30, 2014 9:01 am
Dear all,
When estimating a medium-scale DSGE model similar to Smets and Wouters (2007), I have encountered some hard time when searching for the mode and also in other steps of the estimation. So I have a few general questions related to Bayesian estimation.
1. When searching for the posterior mode, I took two different ways. On one hand, I used mode_compute=4,6,9 to search for the mode iteratively. In this way, I could get a mode A. On the other hand, I used my own code to find the mode. Specifically, I randomly sampled 5000 draws in the parameter space according to the prior density. Then I ranked these draws according to their log posterior and chose the highest 50 draws. Starting from each of these 50 draws, I used Chris Sims's csminwel algorithm (mode_compute=4 in Dynare) to find the highest mode B. This procedure is following Guerron-Quintana (2010, Journal of Applied Econometrics). I am currently considering a few different specifications of the model. And I found that, among all the cases, only in a few cases A and B coincided. For those cases that did not coincide, B was usually better than A because B had a higher log posterior. However, B was usually trapped near the boundary of the parameter space of the AR(1) parameter of the exogenous shocks, e.g. preference shock, labor supply shock, government spending shock and etc. Sometimes, these parameters could be 0.9999, which is not reasonable and not seen in the literature. When this happened, mode A seemed OK because Dynare started the search from the prior mean. In other words, the initial values of the mode search matter.
My concern is how should I think about the modes A and B. It seems to me that most people are using Dynare to find the mode iteratively and A should be the result. Then what B really is? Are they really local modes? It seems both yes and no. Yes, because B obtains a higher log posterior. No, because they are almost sitting on the boundary of the parameter space. It also seems to me that csminwel has hard time to escape from the boundary. Of course, there have been many threads in this forum saying that finding the mode for models like Smets and Wouters (2007) is very difficult. Chib and Ramamurthy (2010) has provided a new method but it is not possible to implement in Dynare until now. I am just wondering if there has been any consensus on the mode finding procedure given the caveats.
I also tried to run MCMC from both A and B with 500000 replications. When from B where some parameters are on the boundary, MCMC encountered obvious convergence problem, especially for those sitting on the boundary. When from A, things seem to be OK.
2. When I estimated the model using US data from 1960 to 2008, I got very small estimates of the partial indexation paramaters in price and wage rigidity setup, e.g. less than 0.1. This is clearly lower than the values commonly estimated in the literature. Besides the low values of these parameters, the AR(1) coefficients were high. Even for mode A mentioned above, the AR(1) coefficients for preference shock, labor supply shock and price markup shock are very high, e.g. between 0.97 and 1. Is this normal?
3. In order to get out-of-sample forecast in Dynare, I used forecast option in the estimation command. My question is can I trigger forecast in stoch_simul? Is MCMC necessary in order to do forecasting? If I want to do the forecast based on the posterior mode or mean, how should I do it?
Thanks very much in advance!!! I appreciate any comments or suggestions!
When estimating a medium-scale DSGE model similar to Smets and Wouters (2007), I have encountered some hard time when searching for the mode and also in other steps of the estimation. So I have a few general questions related to Bayesian estimation.
1. When searching for the posterior mode, I took two different ways. On one hand, I used mode_compute=4,6,9 to search for the mode iteratively. In this way, I could get a mode A. On the other hand, I used my own code to find the mode. Specifically, I randomly sampled 5000 draws in the parameter space according to the prior density. Then I ranked these draws according to their log posterior and chose the highest 50 draws. Starting from each of these 50 draws, I used Chris Sims's csminwel algorithm (mode_compute=4 in Dynare) to find the highest mode B. This procedure is following Guerron-Quintana (2010, Journal of Applied Econometrics). I am currently considering a few different specifications of the model. And I found that, among all the cases, only in a few cases A and B coincided. For those cases that did not coincide, B was usually better than A because B had a higher log posterior. However, B was usually trapped near the boundary of the parameter space of the AR(1) parameter of the exogenous shocks, e.g. preference shock, labor supply shock, government spending shock and etc. Sometimes, these parameters could be 0.9999, which is not reasonable and not seen in the literature. When this happened, mode A seemed OK because Dynare started the search from the prior mean. In other words, the initial values of the mode search matter.
My concern is how should I think about the modes A and B. It seems to me that most people are using Dynare to find the mode iteratively and A should be the result. Then what B really is? Are they really local modes? It seems both yes and no. Yes, because B obtains a higher log posterior. No, because they are almost sitting on the boundary of the parameter space. It also seems to me that csminwel has hard time to escape from the boundary. Of course, there have been many threads in this forum saying that finding the mode for models like Smets and Wouters (2007) is very difficult. Chib and Ramamurthy (2010) has provided a new method but it is not possible to implement in Dynare until now. I am just wondering if there has been any consensus on the mode finding procedure given the caveats.
I also tried to run MCMC from both A and B with 500000 replications. When from B where some parameters are on the boundary, MCMC encountered obvious convergence problem, especially for those sitting on the boundary. When from A, things seem to be OK.
2. When I estimated the model using US data from 1960 to 2008, I got very small estimates of the partial indexation paramaters in price and wage rigidity setup, e.g. less than 0.1. This is clearly lower than the values commonly estimated in the literature. Besides the low values of these parameters, the AR(1) coefficients were high. Even for mode A mentioned above, the AR(1) coefficients for preference shock, labor supply shock and price markup shock are very high, e.g. between 0.97 and 1. Is this normal?
3. In order to get out-of-sample forecast in Dynare, I used forecast option in the estimation command. My question is can I trigger forecast in stoch_simul? Is MCMC necessary in order to do forecasting? If I want to do the forecast based on the posterior mode or mean, how should I do it?
Thanks very much in advance!!! I appreciate any comments or suggestions!