Is it possible to achieve MCMC convergence diagnostics through iterative initialization?

Hello, I encountered a problem while using Dynare for estimation. I tried to search existing posts and materials but couldn’t find an answer.

Based on the US_VI16 in MMB, I wrote a new model for estimation. The model has a total of 30 parameters to be estimated, and the prior, initial values, and bounds for the parameters are set using the settings in US_VI16. In SW2003, my data can pass MCMC convergence diagnostics and obtain estimation results.I attempted estimation with mh_replic=1000000 and found that the MCMC convergence diagnostics did not pass. I tried another approach: I first set mh_replic=100000, used the posterior means as new initial values, repeated this process three times, and found that the MCMC convergence diagnostics passed.

I would like to know if this approach is reasonable. Does it imply that, when the model derivation and data processing are correct, as long as the parameter settings are not too wrong, one can find an MCMC diagnostic convergence result through such an operation?

Since English is not my native language, I ask for your understanding if my choice of words or expressions may cause any discomfort. Sincerely, I appreciate every researcher willing to help me with my questions!
Hongming Zhang

You should try to understand what is going on here, typically be inspecting the trace_plot. What you describe sounds like your MCMC did not start at the actual mode and drifted upwards over the subsequent runs. If that is the case, then your approach is reasonable.

Dear Professor Jpfeifer, thank you for your response!

I introduced a new financial friction in US_VI16 and used a longer time series of US data, so I am inclined to believe that the actual mode was not found during the estimation process. Under such circumstances, I first attempted to increase the number of mh_replic, but I found that the MCMC diagnostics still did not pass. I speculated that it might be because the actual mode is too far away, and simply increasing the number of mh_replic seems to require a lengthy process. Therefore, I tried the method I mentioned to update the initial values.

Following your advice, I included the trace_plot command. Since there are many variables, I selected only two variables from the MCMC diagnostics. In the first estimation, the variables moved in a certain direction in both chains, indicating that a suitable position had not been found. In the third estimation, the variables basically no longer moved in a certain direction and resembled white noise, indicating that a suitable position had been found. Could you confirm if my understanding is correct?

I’m sorry; I don’t know how to set the initial values correctly, hence the questions and attempts. Could you provide guidance on a general approach?

Once again, thank you for your selfless assistance.
Hongming Zhang

First:
Trace plot for parameter rho_pi by first estimate (block number 1)
Trace plot for parameter rho_pi  by first estimate (block number 1)

Trace plot for parameter rho_pi by first estimate (block number 2)
Trace plot for parameter rho_pi  by first estimate (block number 2)

Trace plot for parameter phi by first estimate (block number 1)
Trace plot for parameter phi  by first estimate (block number 1)

Trace plot for parameter phi by first estimate (block number 2)
Trace plot for parameter phi  by first estimate (block number 2)

Third:
Trace plot for parameter rho_pi by third estimate (block number 1)
Trace plot for parameter rho_pi  by third estimate (block number 1)

Trace plot for parameter rho_pi by third estimate (block number 2)
Trace plot for parameter rho_pi  by third estimate (block number 2)

Trace plot for parameter phi by third estimate (block number 1)
Trace plot for parameter phi  by third estimate (block number 1)

Trace plot for parameter phi by third estimate (block number 2)
Trace plot for parameter phi  by third estimate (block number 2)

Your MCMC shows poor mixing but not really a trend. I guess you will simply need a lot of draws to properly sample from the ergodic distribution.

I will try to increase the number of samples to over 1,000,000, thanks for your guidance!
However, a significant increase in the number of samples will considerably extend the runtime, and I need to run ten models, incurring high time costs. I still hope to use the iterative initialization method mentioned earlier to save a lot of time. Do you think this is feasible, or do you have any other suggestions that might be more effective?

That’s hard to tell. But this exercise will be time-intensive in any case.

Although this is indeed a time-consuming exercise, your communication has made it exceptionally meaningful for me. I believe leveraging multiple computers to run in parallel would be my best option. Once again, I sincerely appreciate your assistance.