Code MCMC à saut réversible (Matlab ou R)

14

Est-ce que quelqu'un connaît un code bien écrit (dans Matlab ou R) pour MCMC à saut réversible? De préférence, une simple application de démonstration pour compléter les articles sur le sujet, qui serait utile pour comprendre le processus.

pseudo
la source
Il a été question d'ajouter MCMC à saut réversible à OpenBUGS conformément à la page 288 du livre BUGS et WinBUGS a, je crois, un module Jump. Quelqu'un a entendu parler d'un développement similaire pour JAGS? Existe-t-il un moyen d'écrire du code JAGS pour obtenir l'effet de faire la dimensionnalité variable? S'agit-il simplement de définir des dimensions plus grandes que nécessaire?
Jan Galkowski

Réponses:

12

RJMCMC a été présenté par Peter Green dans un article de 1995 qui est un classique de citation. Il a écrit un programme Fortran appelé AutoRJ pour RJMCMC automatique; sa page sur ce lien vers le programme C de David Hastie AutoMix . Il y a une liste de logiciels disponibles gratuitement pour divers algorithmes RJMCMC dans le tableau 1 d'un article de 2005 de Scott Sisson . Une recherche Google trouve également un pseudocode d'un groupe de l'Université de Glasgow qui peut être utile pour comprendre les principes si vous souhaitez le programmer vous-même.

un arrêt
la source
7

Le livre Bayesian Analysis for Population Ecology de King et al. décrit le RJMCMC dans le contexte de l'écologie des populations. J'y ai trouvé la description très claire et ils fournissent le code R en annexe.

Le livre a également une page Web associée , mais une partie du code trouvé dans le livre n'est pas sur le site Web.

csgillespie
la source
ils fournissent le code WinBUGS pour RJMCMC? Donc, WinBUGS est capable de RJMCMC?
Curieux
1
@Tomas Quelqu'un a modifié ma réponse et changé R en WinBUGS. D'après ce que je me souviens, le livre fournit le code R.
csgillespie du
Je vous remercie. (+1) Btw, avez-vous trouvé le RJMCMC utile pour l'écologie des populations? Je n'ai pas encore trouvé d'exemple où cela pourrait être utile .. Je peux toujours utiliser l'augmentation de données par exemple avec MCMC standard et il fait le travail pour moi. Notez que je n'ai pas le livre .. est-ce bien?
Curieux
@Tomas Le livre utilise RJMCMC pour le choix du modèle. J'ai trouvé la description assez sympa. J'ai cependant dû utiliser RJMCMC en colère.
csgillespie
"en colère"?? Que voulez-vous dire?
Curieux
1

Ajoutez juste un détail à la réponse de @ onestop: je trouve que le logiciel C publié par Olivier Cappé (CT / RJ MCMC) est très utile pour comprendre l'algorithme MCMC de saut réversible (en particulier comment concevoir les probabilités de naissance-décès et de division- fusionner les mouvements). Le lien vers le code source est: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/

Xiangju
la source
1

Jailin Ai donne une assez belle présentation de RJ MCMC ensemble (bien qu'il se rapproche beaucoup du document original de Green) avec le code R qui l'accompagne dans le cadre de sa thèse de maîtrise à Leeds. Donne également un exemple détaillé des problèmes de changement de point de vue, qui sont également inclus dans le document de 1995 de Green.

Retrouvez la thèse et le code ici:

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

Jack O'Brien
la source
0

Nando de Freitas fournit des démonstrations sur l'utilisation de l'algorithme MCMC à saut réversible pour l'estimation des paramètres du réseau neuronal. Ce modèle traite le nombre de neurones, les paramètres du modèle, les paramètres de régularisation et les paramètres de bruit comme des variables aléatoires à estimer.

Le code et la rédaction sont disponibles ici: http://www.cs.ubc.ca/~nando/software.html

Vadim Smolyakov
la source