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 .
[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
źródło
Odpowiedzi:
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ę.
źródło
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
źródło
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 ).
źródło
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.
źródło