Código MCMC de salto reversible (Matlab o R)

14

¿Alguien sabe de algún código bien escrito (en Matlab o R) para MCMC de salto reversible? Preferiblemente, una aplicación de demostración simple para complementar los documentos sobre el tema, que sería útil para comprender el proceso.

Mella
fuente
Se ha discutido la posibilidad de agregar MCMC de salto reversible a OpenBUGS por página 288 de The BUGS Book y WinBUGS tiene, creo, un módulo Jump. ¿Alguien ha oído hablar de algún desarrollo similar para JAGS? ¿Hay alguna forma de escribir código JAGS para obtener el efecto de hacer la dimensionalidad variable? ¿Es simplemente una cuestión de definir dimensiones más grandes de lo necesario?
Jan Galkowski

Respuestas:

12

RJMCMC fue presentado por Peter Green en un artículo de 1995 que es un clásico de citas. Escribió un programa Fortran llamado AutoRJ para RJMCMC automático; su página en este enlace al programa C de David Hastie, AutoMix . Hay una lista de software disponible gratuitamente para varios algoritmos RJMCMC en la Tabla 1 de un artículo de 2005 de Scott Sisson . Una búsqueda en Google también encuentra un pseudocódigo de un grupo de la Universidad de Glasgow que puede ser útil para comprender los principios si desea programarlo usted mismo.

una parada
fuente
7

El libro Bayesian Analysis for Population Ecology de King et al. describe RJMCMC en el contexto de la ecología de la población. Encontré la descripción muy clara y proporcionan el código R en el apéndice.

El libro también tiene una página web asociada , pero parte del código que se encuentra en el libro no está en el sitio web.

csgillespie
fuente
Proporcionan el código WinBUGS para RJMCMC? Entonces, ¿WinBUGS es capaz de RJMCMC?
Curioso
1
@Tomas Alguien editó mi respuesta y cambió R a WinBUGS. Por lo que recuerdo, el libro proporciona el código R.
csgillespie
Gracias. (+1) Por cierto, ¿te pareció útil el RJMCMC para la ecología de poblaciones? Todavía no encontré ningún ejemplo en el que pudiera ser útil. Siempre puedo usar el aumento de datos, por ejemplo, con MCMC estándar y hace el trabajo por mí. Tenga en cuenta que no tengo el libro ... ¿está bien?
Curioso
@Tomas El libro usa RJMCMC para la elección del modelo. La descripción me pareció bastante agradable. Sin embargo, he necesitado usar RJMCMC con ira.
csgillespie
"enojado"?? ¿Qué quieres decir?
Curioso
1

Solo agregue un detalle a la respuesta de @ onestop: creo que el software C lanzado por Olivier Cappé (CT / RJ MCMC) es muy útil para comprender el algoritmo MCMC de salto reversible (en particular, cómo diseñar las probabilidades de nacimiento-muerte y división) fusionar movimientos). El enlace al código fuente es: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/

Xiangju
fuente
1

Jailin Ai hace una presentación bastante agradable de RJ MCMC juntos (aunque se asemeja mucho al documento original de Green) con el código R asistente como parte de su tesis de maestría en Leeds. También da un ejemplo en profundidad de problemas de puntos de cambio, que también se incluyen en el artículo de Green de 1995.

Encuentra la tesis y el código aquí:

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

Jack O'Brien
fuente
0

Nando de Freitas proporciona demostraciones sobre el uso del algoritmo MCMC de salto reversible para la estimación de parámetros de redes neuronales. Este modelo trata el número de neuronas, los parámetros del modelo, los parámetros de regularización y los parámetros de ruido como variables aleatorias a estimar.

El código y la redacción están disponibles aquí: http://www.cs.ubc.ca/~nando/software.html

Vadim Smolyakov
fuente