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.


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.


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.


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/


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/


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.