Kod MCMC skoku w tył (Matlab lub R)

14

Czy ktoś wie o dobrze napisanym kodzie (w Matlabie lub R) dla MCMC z odwracalnym skokiem? Najlepiej jest to prosta aplikacja demonstracyjna uzupełniająca dokumenty na ten temat, która byłaby przydatna w zrozumieniu procesu.

Nacięcie
źródło
Dyskutowano o dodaniu odwracalnego skoku MCMC do OpenBUGS na stronie 288 książki BŁĘDY, a WinBUGS ma, jak sądzę, moduł skoku. Czy ktoś słyszał o podobnym rozwoju JAGS? Czy jest jakiś sposób na napisanie kodu JAGS, aby uzyskać efekt robienia różnych wymiarów? Czy to po prostu kwestia zdefiniowania wymiarów większych niż to konieczne?
Jan Galkowski

Odpowiedzi:

12

RJMCMC został wprowadzony przez Petera Greena w artykule z 1995 roku, który jest cytatem klasycznym. Napisał program Fortran o nazwie AutoRJ dla automatycznego RJMCMC; jego strona w tym linku do programu David Hastie's C AutoMix . Lista swobodnie dostępnych programów dla różnych algorytmów RJMCMC znajduje się w tabeli 1 artykułu z 2005 roku autorstwa Scotta Sissona . Wyszukiwarka Google znajduje również pseudokod z grupy na Uniwersytecie w Glasgow, który może być pomocny w zrozumieniu zasad, jeśli chcesz go zaprogramować samodzielnie.

jeden przystanek
źródło
7

Książka Bayesian Analysis for Population Ecology autorstwa King i in. opisuje RJMCMC w kontekście ekologii populacji. Znalazłem tam bardzo jasny opis, który zawiera kod R w dodatku.

Książka ma również powiązaną stronę internetową , ale części kodu znalezionego w książce nie ma w witrynie.

csgillespie
źródło
podają kod WinBUGS dla RJMCMC? Więc WinBUGS jest zdolny do RJMCMC?
Ciekawy
1
@Tomas Ktoś edytował moją odpowiedź i zmienił R na WinBUGS. Z tego, co pamiętam, książka zawiera kod R.
csgillespie
Dziękuję Ci. (+1) Btw, czy uważasz, że RJMCMC jest przydatne w ekologii populacji? Nie znalazłem jeszcze żadnego przykładu, w którym mógłby się przydać. Zawsze mogę korzystać z rozszerzania danych, na przykład ze standardowym MCMC, i robi to za mnie. Pamiętaj, że nie mam tej książki ... czy to dobrze?
Ciekawy
@Tomas Książka używa RJMCMC do wyboru modelu. Uważam, że opis jest całkiem fajny. Musiałem jednak używać RJMCMC w gniewie.
csgillespie
"w złości"?? Co masz na myśli?
Ciekawy
1

Wystarczy dodać jeden szczegół do odpowiedzi @ onestop: Uważam, że oprogramowanie C wydane przez Oliviera Cappé (CT / RJ MCMC) jest bardzo pomocne w zrozumieniu algorytmu MCMC skoku odwracalnego (w szczególności jak zaprojektować prawdopodobieństwo narodzin-śmierci i rozszczepienia- scal ruchy). Link do kodu źródłowego to: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/

Xiangju
źródło
1

Jailin Ai daje całkiem niezłą prezentację RJ MCMC razem (choć bardzo ściśle odpowiada oryginalnej pracy Greena) z towarzyszącym kodem R w ramach pracy magisterskiej w Leeds. Daje także dokładny przykład problemów związanych ze zmianą punktu, które są również zawarte w pracy Greena z 1995 roku.

Znajdź pracę dyplomową i kod tutaj:

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

Jack O'Brien
źródło
0

Nando de Freitas udostępnia dema dotyczące wykorzystania algorytmu MCMC z odwracalnym skokiem do szacowania parametrów sieci neuronowej. Ten model traktuje liczbę neuronów, parametry modelu, parametry regularyzacji i parametry hałasu jako zmienne losowe, które należy oszacować.

Kod i opis są dostępne tutaj: http://www.cs.ubc.ca/~nando/software.html

Vadim Smolyakov
źródło