14
$\begingroup$

Does anyone know of some well written code (in Matlab or R) for reversible jump MCMC? Preferably a simple demo application to compliment papers on the subject, that would be useful in understanding the process.

$\endgroup$
1
  • $\begingroup$ There's been discussion of adding reversible jump MCMC to OpenBUGS per page 288 of The BUGS Book and WinBUGS has, I believe, a Jump module. Anyone heard of any similar development for JAGS? Is there some way of writing JAGS code to get the effect of doing the varying dimensionality? Is it simply a matter of defining dimensions larger than needed? $\endgroup$ Jan 14, 2014 at 20:13

5 Answers 5

12
$\begingroup$

RJMCMC was introduced by Peter Green in a 1995 paper that is a citation classic. He wrote a Fortran program called AutoRJ for automatic RJMCMC; his page on this links to David Hastie's C program AutoMix. There's a list of freely available software for various RJMCMC algorithms in Table 1 of a 2005 paper by Scott Sisson. A Google search also finds some pseudocode from a group at the University of Glasgow that may be useful in understanding the principles if you want to program it yourself.

$\endgroup$
8
$\begingroup$

The book Bayesian Analysis for Population Ecology by King et al. describes RJMCMC in the context of population ecology. I found there description very clear and they provide the R code in the appendix.

The book also has an associated webpage, but some of the code found in the book isn't on the website.

$\endgroup$
8
  • $\begingroup$ they provide the WinBUGS code for RJMCMC? So, WinBUGS is capable of RJMCMC? $\endgroup$
    – Tomas
    Jan 22, 2013 at 19:04
  • 1
    $\begingroup$ @Tomas Someone edited my answer and changed R to WinBUGS. From what I recall, the book provides R code. $\endgroup$ Jan 22, 2013 at 21:30
  • $\begingroup$ Thank you. (+1) Btw, did you find RJMCMC useful for population ecology? I didn't yet found any example where it could be useful.. I can always use data augmentation for example with standard MCMC and it does the job for me. Note that I don't have the book.. is it good? $\endgroup$
    – Tomas
    Jan 22, 2013 at 22:38
  • $\begingroup$ @Tomas The book uses RJMCMC for model choice. I found the description quite nice. I've needed to use RJMCMC in anger though. $\endgroup$ Jan 23, 2013 at 8:50
  • $\begingroup$ "in anger"?? What do you mean? $\endgroup$
    – Tomas
    Jan 23, 2013 at 10:45
1
$\begingroup$

Just add one detail to @onestop's answer: I find the C software released by Olivier Cappé (CT/RJ MCMC) is very helpful to understand the Reversible jump MCMC algorithm (in particular how to design the probabilities for the birth-death and split-merge moves). The link to the source code is: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/

$\endgroup$
1
$\begingroup$

Jailin Ai gives a fairly nice presentation of RJ MCMC together (though it hews very closely to Green's original paper) with attendant R code as part of his master's thesis at Leeds. Also gives an in-depth example of change-point problems, which are also included in Green's 1995 paper.

Find the thesis and the code here:

http://www1.maths.leeds.ac.uk/~voss/projects/2011-RJMCMC/

$\endgroup$
0
$\begingroup$

Nando de Freitas provides demos on the use of reversible jump MCMC algorithm for neural network parameter estimation. This model treats the number of neurons, model parameters, regularization parameters and noise parameters as random variables to be estimated.

The code and the write-up are available here: http://www.cs.ubc.ca/~nando/software.html

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.