Reversible-jump Markov chain Monte Carlo

In computational statistics, reversible-jump Markov chain Monte Carlo is an extension to standard Markov chain Monte Carlo (MCMC) methodology, introduced by Peter Green, which allows simulation (the creation of samples) of the posterior distribution on spaces of varying dimensions. Thus, the simulation is possible even if the number of parameters in the model is not known. The "jump" refers to the switching from one parameter space to another during the running of the chain. RJMCMC is useful to compare models of different dimension to see which one fits the data best. It is also useful for predictions of new data points, because we do not need to choose and fix a model, RJMCMC can directly predict the new values for all the models at the same time. Models that suit the data best will be chosen more frequently then the poorer ones.

Details on the RJMCMC process
Let $$n_m\in N_m=\{1,2,\ldots,I\} \, $$be a model indicator and $$M=\bigcup_{n_m=1}^I \R^{d_m}$$ the parameter space whose number of dimensions $$d_m$$ depends on the model $$n_m$$. The model indication need not be finite. The stationary distribution is the joint posterior distribution of $$(M,N_m)$$ that takes the values $$(m,n_m)$$.

The proposal $$m'$$ can be constructed with a mapping $$g_{1mm'}$$ of $$m$$ and $$u$$, where $$u$$ is drawn from a random component $$U$$ with density $$q$$ on $$\R^{d_{mm'}}$$. The move to state $$(m',n_m')$$ can thus be formulated as



(m',n_m')=(g_{1mm'}(m,u),n_m') \, $$

The function



g_{mm'}:=\Bigg((m,u)\mapsto \bigg((m',u')=\big(g_{1mm'}(m,u),g_{2mm'}(m,u)\big)\bigg)\Bigg) \, $$

must be one to one and differentiable, and have a non-zero support:


 * $$ \mathrm{supp}(g_{mm'})\ne \varnothing \, $$

so that there exists an inverse function


 * $$g^{-1}_{mm'}=g_{m'm} \, $$

that is differentiable. Therefore, the $$(m,u)$$ and $$(m',u')$$ must be of equal dimension, which is the case if the dimension criterion


 * $$d_m+d_{mm'}=d_{m'}+d_{m'm} \, $$

is met where $$d_{mm'}$$ is the dimension of $$u$$. This is known as dimension matching.

If $$\R^{d_m}\subset \R^{d_{m'}}$$ then the dimensional matching condition can be reduced to


 * $$d_m+d_{mm'}=d_{m'} \, $$

with


 * $$(m,u)=g_{m'm}(m). \, $$

The acceptance probability will be given by



a(m,m')=\min\left(1, \frac{p_{m'm}p_{m'}f_{m'}(m')}{p_{mm'}q_{mm'}(m,u)p_{m}f_m(m)}\left|\det\left(\frac{\partial g_{mm'}(m,u)}{\partial (m,u)}\right)\right|\right), $$

where $$|\cdot |$$ denotes the absolute value and $$p_mf_m$$ is the joint posterior probability



p_mf_m=c^{-1}p(y|m,n_m)p(m|n_m)p(n_m), \, $$

where $$c$$ is the normalising constant.

Software packages
There is an experimental RJ-MCMC tool available for the open source BUGs package.

The Gen probabilistic programming system automates the acceptance probability computation for user-defined reversible jump MCMC kernels as part of its Involution MCMC feature.