(interakcja) MCMC dla multimodalnego tylnej

9

Próbuję próbować z tyłu, mając wiele trybów szczególnie daleko od siebie za pomocą MCMC. Wygląda na to, że w większości przypadków tylko jeden z tych trybów zawiera 95% hpd, którego szukam. Próbowałem wdrożyć rozwiązania oparte na hartowanej symulacji, ale nie przynosi to zadowalających rezultatów, ponieważ w praktyce przejście z jednego „zakresu przechwytywania” do drugiego jest kosztowne.

W związku z tym wydaje mi się, że bardziej wydajnym rozwiązaniem byłoby uruchomienie wielu prostych MCMC z różnych punktów początkowych i zanurzenie się w dominującym rozwiązaniu poprzez wzajemne oddziaływanie MCMC. Czy wiesz, czy istnieje jakiś właściwy sposób na wdrożenie takiego pomysłu?

Uwaga: znalazłem ten papier http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf (rozproszony łańcuch Markowa Monte Carlo, Lawrence Murray), który jest podobny do tego, czego szukam, ale tak naprawdę nie rozumiem projektu funkcji .Ri

[EDYCJA]: brak odpowiedzi wydaje się wskazywać, że nie ma oczywistego rozwiązania mojego początkowego problemu (zmuszenie kilku MCMC do próbkowania z tego samego rozkładu celu z różnych punktów początkowych oddziałuje na siebie). Czy to prawda ? dlaczego to takie skomplikowane? Dzięki

peuhp
źródło
Wygląda na to, do czego wcześniej użyłem „Population MCMC”. Patrz „Oszacowanie czynników Bayesa za pomocą integracji termodynamicznej i MCMC populacji” Calderhead i Girolami. Przepraszam, jeśli przyjdzie trochę później, ale może inni docenią referencję!
Sam Mason
Prawdopodobnie to samo co Population MCMC to Sequential Monte Carlo.
Robert P. Goldman,

Odpowiedzi:

1

Pragnę przede wszystkim poszukać lepszej metody, a przynajmniej metody z bardziej szczegółowym opisem, ponieważ „Rozproszony łańcuch Markowa Monte Carlo” z artykułu, do którego się odwołujesz, nie wydaje się być jasno określony. Zalety i wady nie są dobrze zbadane. Istnieje metoda, która pojawiła się w arxivie całkiem niedawno, zwana „ Wormhole Hamiltonian Monte Carlo ”, polecam to sprawdzić.

Wracając do dokumentu, który podałeś, zdalna propozycja jest bardzo niejasno opisana. W części dotyczącej aplikacji opisano ją jako „maksymalne prawdopodobieństwo Gaussa w stosunku do poprzedzających próbek t / 2”. Może to oznacza, że ​​uśredniasz ostatnie wartości t / 2 łańcucha ? Trochę trudno zgadnąć z kiepskim opisem podanym w referencji.Ri(θi)ith

[AKTUALIZACJA:] Interakcje między kilkoma łańcuchami i zastosowanie tego pomysłu do pobierania próbek z dystrybucji tylnej można znaleźć w równoległych metodach MCMC, na przykład tutaj . Jednak uruchamianie kilku łańcuchów i zmuszanie ich do interakcji może nie pasować do multimodalnego odcinka bocznego: na przykład, jeśli istnieje bardzo wyraźny region, w którym skoncentrowana jest większość rozkładu tylnego, oddziaływanie łańcuchów może nawet pogorszyć rzeczy, trzymając się tego konkretnego region i bez eksploracji innych, mniej wyraźnych regionów / trybów. Dlatego zdecydowanie zaleciłbym poszukiwanie MCMC zaprojektowanego specjalnie dla problemów multimodalnych. A jeśli chcesz stworzyć kolejną / nową metodę, to kiedy wiesz, co jest dostępne na „rynku”, możesz stworzyć bardziej wydajną metodę.

Tomas
źródło
Dzięki za pomoc. Nie do końca tego się spodziewałem, ale może szukam rzeczy nieosiągalnych. Obecnie badam (nie jestem pewien, czy uda mi się uzyskać wszystko, czego potrzebuje Hamiltonian MCMC), tak zwane darting MC, które znalazłem w twoich referencjach. Daję ci nagrodę, jeszcze raz dziękuję za porady.
peuhp
@peuhp, Jest to ściśle związane z metodami hamiltonowskimi, o których mowa powyżej, ale Equi-Energy Sampler jest metodą MCMC, która jest specjalnie rozliczana jako metoda multimodalnych rozkładów bocznych. Wiem, że działa, uruchamiając kilka równoległych łańcuchów i pozwalając na przeskakiwanie między łańcuchami, ale nie mam wystarczającej wiedzy / doświadczenia z metodą, aby opublikować odpowiedź. Spójrz na link. Mam nadzieję, że to pomoże.
Makro
1

Powinieneś spróbować multinest: https://arxiv.org/pdf/0809.3437.pdf https://github.com/JohannesBuchner/MultiNest Jest to bayesowski silnik wnioskowania, który da ci próbki parametrów dla dystrybucji multimodalnej.

Łącze github zawiera multinestowy kod źródłowy, który kompilujesz i instalujesz zgodnie z instrukcjami. ma również prostsze w użyciu opakowanie z pythonem. Przykładowe kody mają poprzednią sekcję, która służy do ograniczenia parametrów, oraz sekcję dotyczącą prawdopodobieństwa, która zawiera twoje prawdopodobieństwo. plik ustawień zawiera wszystkie twoje ustawienia i po dopasowaniu generuje foldery do wielu wyników. da ci próbki twoich parametrów

Eric Kamau
źródło
Witamy w CV i dziękuję za wspaniałą odpowiedź. Może możesz poprawić swoją odpowiedź, podsumowując Githublink.
Ferdi
1
Łącze github zawiera multinestowy kod źródłowy, który kompilujesz i instalujesz zgodnie z instrukcjami. ma również prostsze w użyciu opakowanie z pythonem. Przykładowe kody mają poprzednią sekcję, która służy do ograniczenia parametrów, oraz sekcję dotyczącą prawdopodobieństwa, która zawiera twoje prawdopodobieństwo. plik ustawień zawiera wszystkie twoje ustawienia i po dopasowaniu generuje foldery do wielu wyników. da ci próbki twoich parametrów.
Eric Kamau,
łał. To jest niesamowite. Poparłem twoją odpowiedź. W przyszłości możesz dołączyć taki opis za każdym razem, gdy udostępnisz link.
Ferdi,
0

Wydaje się, że jest to trudny i ciągły problem w statystykach obliczeniowych. Istnieje jednak kilka mniej nowoczesnych metod, które powinny działać poprawnie.

Powiedzmy, że znalazłeś już kilka różnych trybów a posteriori i ciesz się, że są to najważniejsze tryby, a jeśli obwód wokół nich jest w miarę normalny. Następnie możesz obliczyć hessian w tych trybach (powiedzmy, używając optimum w R z hessian = T) i możesz aproksymować tylną jako mieszaninę normalnych (lub t rozkładów). Patrz p318-319 w Gelman i in. (2003) „Analiza danych bayesowskich” w celu uzyskania szczegółowych informacji. Następnie można użyć aproksymacji mieszaniny normalnej / t jako rozkładu propozycji w niezależnym próbniku do uzyskania próbek z pełnego tylnego.

Innym pomysłem, którego nie próbowałem, jest Annealed Ważność Sampling (Radford Neal, 1998, link tutaj ).

Mata
źródło
Inną rzeczą, jeśli masz już zestaw łańcuchów, z których każdy wydaje się być „zbieżny” lokalnie, byłoby wykonanie pewnego rodzaju zmiany znaczenia z kombinacji wszystkich twoich łańcuchów. Nie jestem tego jednak pewien.
Mat
Witamy na forum Mat. Nie wahaj się edytować odpowiedzi, aby dodać nowe pomysły zamiast komentować własną odpowiedź. Nie ma w tym nic złego :)
brumar
0

Co powiesz na wypróbowanie nowej metody MCMC dla multimodalności, odpychająco-atrakcyjny algorytm Metropolis ( http://arxiv.org/abs/1601.05633 )? Ten multimodalny sampler działa z pojedynczym parametrem strojenia, takim jak algorytm Metropolis i jest łatwy do wdrożenia.

Baran
źródło