Codice MCMC di salto reversibile (Matlab o R)


14

Qualcuno sa di qualche codice ben scritto (in Matlab o R) per il salto reversibile MCMC? Preferibilmente una semplice applicazione demo per complimentare i documenti sull'argomento, che sarebbe utile per comprendere il processo.


Si è discusso dell'aggiunta di MCMC a salto reversibile a OpenBUGS per pagina 288 di The BUGS Book e WinBUGS ha, credo, un modulo Jump. Qualcuno ha sentito parlare di uno sviluppo simile per JAGS? Esiste un modo di scrivere il codice JAGS per ottenere l'effetto di variare la dimensionalità? Si tratta semplicemente di definire dimensioni più grandi del necessario?
Jan Galkowski,

Risposte:


12

RJMCMC è stato introdotto da Peter Green in un articolo del 1995 che è un classico delle citazioni. Ha scritto un programma Fortran chiamato AutoRJ per RJMCMC automatico; la sua pagina su questo link al programma AutoMix di David Hastie . C'è un elenco di software disponibili gratuitamente per vari algoritmi RJMCMC nella Tabella 1 di un documento del 2005 di Scott Sisson . Una ricerca su Google trova anche alcuni pseudocodici di un gruppo dell'Università di Glasgow che possono essere utili per comprendere i principi se si desidera programmarlo da soli.


7

Il libro Bayesian Analysis for Population Ecology di King et al. descrive RJMCMC nel contesto dell'ecologia della popolazione. Ho trovato la descrizione molto chiara e forniscono il codice R nell'appendice.

Il libro ha anche una pagina web associata , ma parte del codice trovato nel libro non è sul sito web.


forniscono il codice WinBUGS per RJMCMC? Quindi, WinBUGS è in grado di RJMCMC?
Curioso il

1
@Tomas Qualcuno ha modificato la mia risposta e ha cambiato R in WinBUGS. Da quello che ricordo, il libro fornisce il codice R.
csgillespie,

Grazie. (+1) A proposito, hai trovato RJMCMC utile per l'ecologia della popolazione? Non ho ancora trovato alcun esempio in cui possa essere utile .. Posso sempre utilizzare l'aumento dei dati, ad esempio con MCMC standard, e fa il lavoro per me. Nota che non ho il libro .. va bene?
Curioso il

@Tomas Il libro utilizza RJMCMC per la scelta del modello. Ho trovato la descrizione abbastanza bella. Tuttavia, ho dovuto usare RJMCMC con rabbia.
csgillespie,

"arrabbiato"?? Cosa intendi?
Curioso il

1

Basta aggiungere un dettaglio alla risposta di @ onestop: trovo che il software C rilasciato da Olivier Cappé (CT / RJ MCMC) sia molto utile per comprendere l'algoritmo MCMC di salto reversibile (in particolare come progettare le probabilità di nascita-morte e divisione- unire le mosse). Il link al codice sorgente è: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/


1

Jailin Ai fa una bella presentazione di RJ MCMC insieme (anche se si avvicina molto attentamente al documento originale di Green) con il codice R presente come parte della tesi del suo maestro a Leeds. Fornisce inoltre un esempio approfondito di problemi relativi ai punti di cambiamento, che sono inclusi anche nel documento di Green del 1995.

Trova la tesi e il codice qui:

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


0

Nando de Freitas fornisce dimostrazioni sull'uso dell'algoritmo MCMC di salto reversibile per la stima dei parametri della rete neurale. Questo modello considera il numero di neuroni, parametri del modello, parametri di regolarizzazione e parametri del rumore come variabili casuali da stimare.

Il codice e il write-up sono disponibili qui: http://www.cs.ubc.ca/~nando/software.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.