Czym ABC i MCMC różnią się w swoich aplikacjach?

15

O ile mi wiadomo, przybliżone obliczenia bayesowskie (ABC) i łańcuch Markowa Monte Carlo (MCMC) mają bardzo podobne cele. Poniżej opisuję moje rozumienie tych metod oraz sposób, w jaki postrzegam różnice w ich zastosowaniu do rzeczywistych danych.

Przybliżone obliczenia bayesowskie

ABC polega na pobraniu próbek parametru θ z poprzedniego poprzez symulację numeryczną obliczenia statystyczne xi która w porównaniu do pewnego obserwowanej xobs . Na podstawie algorytmu odrzucenia, xi jest albo zachowane lub odrzucone. Lista zachowanych xi utworzyła rozkład tylny.

Markov Chain Monte Carlo

MCMC polega na próbkowaniu wcześniejszego rozkładu parametru . Pobiera pierwszą próbkę θ 1 , oblicza P ( x o b s | θ 1 ) P ( θ 1 ), a następnie przeskakuje (zgodnie z pewną regułą) do nowej wartości θ 2, dla której P ( x o b s | θ 2 ) P ( θ 2 ) jest obliczane ponownie. Stosunek P ( x o b sθθ1P(xobs|θ1)P(θ1)θ2)P.(xobs|θ2))P.(θ2)) jest obliczane i w zależności od pewnej wartości progowej następny skok nastąpi z pierwszej lub drugiej pozycji. Eksploracjaθwartości idzie jeden i jeden i do końca, rozkład zatrzymanychθwartości jest rozkład a posteriorip(θ|x)(z tego powodu, że nie jest jeszcze znana do mnie).P.(xobs|θ2))P.(θ2))P.(xobs|θ1)P.(θ1)θθP(θ|x)

Zdaję sobie sprawę, że moje wyjaśnienia nie odzwierciedlają różnorodności metod, które istnieją pod każdym z tych terminów (szczególnie w przypadku MCMC).

ABC vs MCMC (plusy i minusy)

ABC ma tę zaletę, że nie trzeba być w stanie analitycznie rozwiązać . Jako taki ABC jest wygodny dla złożonego modelu, w którym MCMC by tego nie zrobił.P(x|θ)P(θ)

MCMC pozwala na przeprowadzanie testów statystycznych (test ilorazu wiarygodności, test G, ...), podczas gdy nie sądzę, aby było to możliwe w przypadku ABC.

Czy mam rację do tej pory?

Pytanie

  • Czym ABC i MCMC różnią się w swoich aplikacjach? Jak ktoś decyduje się na zastosowanie jednej lub drugiej metody?
Remi.b
źródło
1
„MCMC polega na próbkowaniu wcześniejszego rozkładu parametru θ.” Chociaż na pewno można to zrobić, w większości przypadków nie jest to konieczne, ani nawet pożądane. W przypadku wielu aplikacji MCMC pobieramy próbkę θ2 z rozkładu kandydata skupionego wokół θ1 (np. Gaussa z małym odchyleniem standardowym), a następnie obliczamy współczynnik akceptacji / odrzucenia, jak wspomniano powyżej. Jest to w przeciwieństwie do ABC, w którym próbujemy z wcześniejszego (i jest to jedyny sposób włączenia wcześniejszych informacji do ABC).
z_dood

Odpowiedzi:

12

Kilka dodatkowych komentarzy do odpowiedzi Björna:

  1. ABC został po raz pierwszy wprowadzony przez Rubina (1984) jako wyjaśnienie natury wnioskowania bayesowskiego, a nie do celów obliczeniowych. W tym artykule wyjaśnił, w jaki sposób rozkład próbkowania i rozkład poprzedni oddziałują na siebie, tworząc rozkład boczny.

  2. ABC jest jednak wykorzystywana głównie ze względów obliczeniowych. Genetycy populacyjni opracowali metodę opartą na modelach drzewiastych, w których prawdopodobieństwo zaobserwowanej próbki było niemożliwe. Schematy MCMC (Data Augmentation), które były dostępne w takich ustawieniach, były wyjątkowo nieefektywne, podobnie jak ważność próbkowania, nawet z parametrem jednego wymiaru ... U podstaw ABC jest substytutem metod Monte Carlo, takich jak MCMC lub PMC, gdy nie są one dostępne do wszystkich praktycznych celów. Gdy są dostępne, ABC pojawia się jako serwer proxy, którego można użyć do ich skalibrowania, jeśli działa szybciej.

  3. W bardziej nowoczesnej perspektywie osobiście uważam ABC za przybliżoną metodę wnioskowania, a nie technikę obliczeniową. Budując model przybliżony, można wnioskować na temat interesującego parametru, niekoniecznie polegając na precyzyjnym modelu. Chociaż w tym ustawieniu wymagany jest pewien stopień walidacji, nie jest on mniej ważny niż wykonywanie uśredniania modelu lub nieparametrycznych. W rzeczywistości ABC można postrzegać jako specjalny rodzaj nieparametrycznych statystyk bayesowskich.

  4. Można również wykazać, że (głośny) ABC jest idealnie dobrze zdefiniowanym podejściem bayesowskim, jeśli zastąpi się oryginalny model i dane głośnym. Jako taki pozwala na wszystkie Bayesowskie wnioski, jakie można sobie wyobrazić. W tym testowanie. Nasz wkład w debatę na temat ABC i testowania hipotez jest taki, że przybliżony model leżący u podstaw ABC może okazać się słabo przygotowany do oceny trafności hipotezy na podstawie danych, ale niekoniecznie , co jest równie dobre, ponieważ większość zastosowań ABC w populacji genetyka zajmuje się wyborem modelu.

  5. W jeszcze nowszej perspektywie widzimy ABC jako Bayesowską wersję wnioskowania pośredniego, w której parametry modelu statystycznego są powiązane z momentami z góry określonej statystyki. Jeśli ta statystyka jest wystarczająca (lub wystarczająca w języku narodowym) do zidentyfikowania tych parametrów, można wykazać , że ABC zbiega się z prawdziwą wartością parametrów wraz z liczbą obserwacji.

Xi'an
źródło
2
Sprawdziłem tę odpowiedź, ale najpierw zalecam przeczytanie odpowiedzi @ Björna (+1), a następnie odpowiedzi Xi'ana.
Remi.b
12

Różnica polega na tym, że w przypadku ABC nie potrzebujesz wyrażenia analitycznego dla a zamiast tego przybliżasz je, symulując dane i sprawdzając, dla których wartości θP(x|θ)θdane symulowane najczęściej (w przybliżeniu) odpowiadają obserwowanym danym (z proponowanymi wartościami, np. losowo wybieranymi z poprzedniego). W prostych przypadkach, takich jak pojedyncza dwumianowa zmienna losowa o niezbyt dużej wielkości próbki, możesz nawet wymagać dokładnego dopasowania, aw takich przypadkach naprawdę nic nie możesz zrobić z tymi późniejszymi próbkami, z którymi nie mógłbyś również zrobić standardowe próbki MCMC. W przypadku bardziej skomplikowanych sytuacji z ciągłymi (nawet dla wielowymiarowych dyskretnych wyników) i potencjalnie wielowymiarowych wyników wymagających dokładnego dopasowania nie jest już wykonalne.

Istnieją w rzeczywistości wersje ABC MCMC, które rozwiązują problem polegający na tym, że jeśli masz przeor, który nie bardzo przypomina tylny (np. Ponieważ przeor jest bardzo nieinformacyjny), pobieranie próbek z przeszukiwania jest wyjątkowo nieefektywne, ponieważ bardzo rzadko będziesz uzyskać ścisłe dopasowanie między obserwowanymi a symulowanymi danymi.

P(x|θ)P(x|θ)P(x|θ)nie jest dostępny analitycznie. Oczywiście w takich przypadkach mogą istnieć inne możliwe opcje (np. INLA, kwadratowe przybliżenia prawdopodobieństw itp.), Które mogą być bardziej wydajne / skuteczne w przypadku konkretnych problemów. W pewnym sensie wszelkie ograniczenia tego, co można zrobić z próbkami tylnymi z ABC, wynikają tylko z wymogu przybliżonego dopasowania rzeczywistych i symulowanych danych (jeśli można wymagać dokładnego dopasowania, w ogóle nie byłoby problemów). Istnieje kilka dobrych prac wprowadzających, np. Praca Marin i in. (2012) . Przynajmniej jeden ze współautorów (@ Xi'an) jest tutaj aktywnym współpracownikiem i chciałbym również tutaj przedstawić swoje przemyślenia - wierzę, że może on powiedzieć coś więcej na temat testowania.

Björn
źródło
Mam nadzieję, że udało mi się naprawić link teraz (teraz działa dla mnie).
Björn
1
(+1) bardzo dobre punkty!
Xi'an
1
„Gdy P (x | θ) jest dostępne analitycznie, zakładam, że prawie zawsze lepiej będzie użyć standardowego MCMC.” Prawie, ale nie zawsze. Wyobraź sobie, że jeden ma bardzo dużą próbkę (10 ^ 9) w połączeniu z wieloma parametrami. Obliczenie prawdopodobieństwa dla każdego zestawu parametrów staje się bardzo kosztowne. W ABC istnieje wiele sztuczek, których można użyć, aby to przyspieszyć. Z MCMC nie tyle.
z_dood
2
@z_dood: gdy jest zbyt wiele obserwacji, aby naprawdę obliczyć prawdopodobieństwo, ponieważ np. gdy trzeba je przechowywać na różnych komputerach, staje się dyskusyjne, że funkcja wiarygodności nie jest dostępna analitycznie.
Xi'an