Recover log likelihood from ms_estimation?

Hi Dynare Community,

I’d like to carry out models selection by comparing my MS-BSVAR models Bayesian Information Criterion. For this I need the posterior log-likelihood of the model. Any ways to get this from the ms_estimation command?

Thanks for your help.


Dear all,

Any suggestions on this? Also, I’m wondering how to implement the svar_restriction a la SWZ (see … gInterface)?

Thanks a lot for your help.


The MS-SBVAR code can directly compute the marginal likelihood (i.e marginal data density) in order to compare models. The command is :


Please, refer the Dynare manual for the options of this command.


Thanks Stephane. Really appreciate.

Hi Stephane,

Thanks for your previous answer. I’m still wondering how to use the restrictions on the lagged coefficients in the SVAR a la Sims, Wagonner, and Zha (2008). According to the user guide, it can be called by svar_restriction(SWZ) but that doesn’t seem to work. Any hint how I can practically use it?

Thanks a lot for your help.


The command is


restriction equation 1, coeff(y,-1)-coeff(pie,-1)=0;
restriction equation 2, coeff(y,-2) = 0;


which means that in equation 1, the lagged output coefficient (y_{t-1}) is equal to the lagged inflation coefficient (pi_{t-1}), and in equation 2, the output coefficient at lag 2 is equal to 0.

Other commands can be found here: … gInterface

Hi Stephane,

I obtain the following output from the ms_compute_mdd; command. Which values could I interpret as the correct posterior likelihood?

[code]tag: MSSBVAR_CKM2013
truncated power
lower bound=5.44052
upper bound=7.1029

nproposal = 100000 nposterior = 800

log(mdd) = -6.461043e+002 log(cut) = minus infinity in_proposal = 100000 in_posterior = 800
log(mdd) = -6.576172e+002 log(cut) = -6.263865e+002 in_proposal = 1 in_posterior = 791

Muller log(mdd) = -6.613846e+002
nproposal = 100000 nposterior = 800 in_P1 = 100000 in_P2 = 800

in_P1 is the number of proposal draws such that the density of the proposal is greater than
or equal to the density (properly scaled!) of the posterior. in_P2 is the number of
posterior draws such that the density (properly scaled!) of the posterior is greater than
or equal to the density of the proposal. Both numbers should be somewhat larger than zero.
Ideally both should also be somewhat less than the maximum possible value, though in
practice this rarely happens.

Bridge log(mdd) = -6.637995e+002[/code]


“ms_compute_mdd” does not report the likelihood but an approximation of the marginal likelihood, also called marginal data density (mdd). It computes it using three different methods: Bridge, Mueller, and Sims, Waggoner and Zha (2008,JoE). In your case, the two former methods are fine. The Bridge method is the standard one.