Código MCMC de salto reversível (Matlab ou R)

14

Alguém sabe de algum código bem escrito (em Matlab ou R) para MCMC de salto reversível? De preferência, um aplicativo de demonstração simples para complementar os trabalhos sobre o assunto, que seria útil para entender o processo.

usuario
fonte
Há discussões sobre a adição de MCMC de salto reversível ao OpenBUGS, na página 288 do The BUGS Book e o WinBUGS possui, acredito, um módulo de salto. Alguém ouviu falar de algum desenvolvimento semelhante para o JAGS? Existe alguma maneira de escrever código JAGS para obter o efeito de variar a dimensionalidade? É simplesmente uma questão de definir dimensões maiores que o necessário?
Jan Galkowski

Respostas:

12

O RJMCMC foi introduzido por Peter Green em um artigo de 1995 que é um clássico de citação. Ele escreveu um programa Fortran chamado AutoRJ para RJMCMC automático; sua página neste link para o programa C de David Hastie, AutoMix . Há uma lista de softwares disponíveis gratuitamente para vários algoritmos RJMCMC na Tabela 1 de um artigo de 2005 de Scott Sisson . Uma pesquisa no Google também encontra alguns pseudocódigos de um grupo da Universidade de Glasgow que podem ser úteis para entender os princípios, se você quiser programá-lo.

uma parada
fonte
7

O livro Análise Bayesiana para Ecologia Populacional de King et al. descreve o RJMCMC no contexto da ecologia populacional. Eu achei a descrição muito clara e eles fornecem o código R no apêndice.

O livro também tem uma página da web associada , mas parte do código encontrado no livro não está no site.

csgillespie
fonte
eles fornecem o código WinBUGS para RJMCMC? Então, o WinBUGS é capaz de RJMCMC?
Curioso
1
@ Tomas Alguém editou minha resposta e mudou R para WinBUGS. Pelo que me lembro, o livro fornece código R.
precisa saber é o seguinte
Obrigado. (+1) Btw, você achou o RJMCMC útil para ecologia populacional? Ainda não encontrei nenhum exemplo em que pudesse ser útil. Sempre posso usar o aumento de dados, por exemplo, no MCMC padrão e ele faz o trabalho para mim. Note que eu não tenho o livro .. é bom?
Curioso
@Tomas O livro usa o RJMCMC para a escolha do modelo. Achei a descrição bastante agradável. Eu precisava usar o RJMCMC com raiva, no entanto.
csgillespie
"com raiva"?? O que você quer dizer?
Curioso
1

Basta adicionar um detalhe à resposta da @ onestop: Acho que o software C lançado por Olivier Cappé (CT / RJ MCMC) é muito útil para entender o algoritmo MCMC de salto reversível (em particular, como projetar as probabilidades para a morte e a divisão de nascimento). movimentos de mesclagem). O link para o código-fonte é: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/

Xiangju
fonte
1

Jailin Ai faz uma apresentação bastante agradável do RJ MCMC juntos (embora pareça muito próximo ao artigo original de Green) com o código R como parte da tese de mestrado em Leeds. Também fornece um exemplo detalhado de problemas de mudança de ponto, que também estão incluídos no documento de Green de 1995.

Encontre a tese e o código aqui:

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

Jack O'Brien
fonte
0

Nando de Freitas fornece demonstrações sobre o uso do algoritmo MCMC de salto reversível para estimativa de parâmetros de redes neurais. Este modelo trata o número de neurônios, parâmetros de modelo, parâmetros de regularização e parâmetros de ruído como variáveis ​​aleatórias a serem estimadas.

O código e a redação estão disponíveis aqui: http://www.cs.ubc.ca/~nando/software.html

Vadim Smolyakov
fonte