Jak Bayesianie weryfikują swoje metody przy użyciu metod symulacji Monte Carlo?

11

Tło : Mam doktorat z psychologii społecznej, gdzie statystyki teoretyczne i matematyka były ledwo ujęte w moich ilościowych zajęciach. Przez szkołę licencjacką i gradową uczyłem się (podobnie jak wielu z was również w naukach społecznych) poprzez „klasyczne” ramy częstokroć. Teraz Uwielbiam też R i za pomocą metod symulacyjnych w celu sprawdzenia, że metody pracy sprawia, że sposóbbardziej sensowny dla mnie niż dowód matematyczny (znowu: tło w ilościowej nauce społecznej, a nie statystyki teoretyczne). Metody częstych i metody symulacji razem mają dla mnie mnóstwo sensu. Ponieważ częstokroć postrzegają prawdopodobieństwo jako szanse długoterminowe (np. Jeśli zrobię to dowolnie wiele razy, a zdarza się to w 50% przypadków, istnieje prawdopodobieństwo 50%). Możemy symulować ten długi okres metodami Monte Carlo!

Powikłania : Ponieważ undergrad, byłem bardzo świadomy metody Bayesa, i nie zawsze ludzie w moim życiu nazywając mnie do Bayesa boku, mówiąc, że wyniki były łatwiejsze do interpretacji, że mamy prawdopodobieństwa dla hipotezy zamiast danych biorąc pod uwagę hipotezę itp. Naprawdę się tym zajmowałem i wziąłem udział w lekcji bayesowskiej, przeczytałem kilka książek i artykułów bayesowskich, a teraz całkiem dobrze znam Stan i związane z nim pakiety R.

Enter Mayo : Po przemyśleniu „Bayesian jest prawdopodobnie drogą przyszłości”, przeczytałem Wnioskowanie statystyczne Deborah Mayo jako poważne testowanie . Mówi, że nie wybiera strony na początku książki, ale robi to: jest częstym, a duża część książki broni metodologii częstych. Nie chcę koniecznie wdawać się w dyskusję na temat tego, czy uważamy, że sposób, w jaki postrzega dowody, jest ważny, ale to sprawiło, że pomyślałem: czy Bayes jest naprawdę wszystkim, co jest reklamowane? Mam na myśli to, że tłum Bayesów jest tak podzielony, że nawet nie znam „właściwej” metody częstej analizy danych w ramach Bayesa. Zwykle po prostu używałbymrstanarmi prezentujemy szacunki punktowe i wiarygodne przedziały ... które często są ściśle zgodne z częstymi szacunkami i przedziałami ufności. Mogę robić porównania modeli, ale zawsze boję się opisywać czynniki Bayesa jako porównania prawdopodobieństwa a posteriori itp.

Więcej przemyśleń: W mojej książce Mayo zastanawiałem się: Istnieje sposób, w jaki możemy wykorzystać komputery, aby upewnić się, że nasze metody częstokroć działają, ponieważ prawdopodobieństwo jest tym, co widzimy na dłuższą metę i możemy to zasymulować. Bayesianie nie mogą nawet zgodzić się co do tego, jakie jest prawdopodobieństwo, w zależności od szkoły bayesowskiej (domyślne, subiektywne itp.). Co prowadzi mnie do mojego pytania:

Pytanie : W jaki sposób Bayesianie weryfikują, czy ich metody poprawnie określają niepewność (tj. Obliczają prawidłowe wiarygodne przedziały i rozkłady tylne) przy użyciu metod symulacji Monte Carlo, jeśli prawdopodobieństwo nie jest zdefiniowane jako wskaźniki w długim okresie?

Przykład : tworzę generator danych. To będzie po prostu symulować z rozkładu Bernoulliego z prawdopodobieństwem .5:

set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
  rbinom(n, 1, p)
}

Powiedzmy, że chcę się upewnić, że przedziały ufności w regresji logistycznej są rzeczywiście poprawne. Potrafię symulować regresję wiele razy i upewnić się, że rzeczywista wartość populacji mieści się w 95% przedziale ufności w 95% przypadków. Jest to model tylko przechwytujący, więc chcę się tylko upewnić, że ppoprawnie oceniam :

set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
  mod <- glm(gen_dat(n, p) ~ 1, binomial)
  conf <- suppressMessages(confint(mod))
  log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)

Uruchomienie zajmuje kilka minut, ale ostatecznie otrzymujemy mean(results)połączenie 0.9416. Jest to około 95% i jestem przekonany, że glmpolecenie to opisuje niepewność w prawidłowy sposób. Jestem pewien, że przy 95% zbliżyłbym się do nosa, gdybym podniósł się iteri chciałem dłużej czekać na swoim laptopie.

Z drugiej strony, dopasujmy model Bayesa do tej samej rzeczy:

library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)

Po części daje mi to:

Estimates:
                mean   sd    2.5%   25%   50%   75%   97.5%
(Intercept)    -0.1    0.2  -0.5   -0.2  -0.1   0.0   0.3  
mean_PPD        0.5    0.1   0.3    0.4   0.5   0.5   0.6  
log-posterior -73.0    0.7 -75.1  -73.1 -72.7 -72.5 -72.5  

Ponieważ Bayesianie nie definiują prawdopodobieństwa jako tego, co widzimy na dłuższą metę, w jaki sposób mogę użyć metod symulacyjnych do weryfikacji, niż stan_glmdokładnie wychwytuje niepewność? To znaczy, jak mogę ufać, że te wiarygodne przedziały są prawidłowe, stosując metody symulacji? I w tej chwili nawet nie definiuję przeora - w jaki sposób ma tu zastosowanie włączenie przeorów, skoro wpłynie to na nasze mierniki niepewności?

Kiedy próbowałem napisać od początku regresję beta z komponentem modelu przeszkody w Stanie, ktoś polecił mi: „Symuluj dane. Zrób to kilka razy, a prawdziwe szacunki powinny być w wiarygodnym przedziale około 95 % czasu. ” Ale dla mnie jest to sprzeczne z tym, w co wierzą Bayesianie! To opiera się na częstym rozumieniu prawdopodobieństwa! Jak więc Bayesian przekonałby mnie, że wiarygodny przedział czasu, jaki otrzymuję od summary()połączenia do mojego modelu, dokładnie opisuje niepewność za pomocą metod symulacyjnych?

Cel pytania : To jest trywialny przykład, ale wiele razy klienci napotykają na mnie trudne problemy. Próbuję rzeczy, których nie znam, więc często przeprowadzam badanie symulacyjne, aby upewnić się, że to, co robię, jest prawidłowe. Gdybym miał napisać niestandardowy model w Stanie, skąd miałbym wiedzieć, że to, co robię, jest legalne? Jak mogę użyć metod symulacji, aby zweryfikować, że to, co robię w Stanie, powie mi, co chcę wiedzieć?

Mark White
źródło
3
Dobre pytanie. Dwa komentarze: 1. Możemy użyć metod sim do „weryfikacji” modeli częstych, ale sama symulacja nie może całkowicie poinformować nas o wiarygodności modelu częstego. 2: Istnieją sposoby, aby wiedzieć, że model Bayesian / Stan NIE jest godny zaufania do wnioskowania. Na przykład zaobserwowano rozbieżne przejścia po okresie rozgrzewania.
19TH
1
Myślę, że łączysz dwa różne rodzaje „niepewności”. Metody często stosowane są przez niepewność ale uzasadnione ich długofalowymi właściwościami. Metody bayesowskie zajmują się niepewnością epistemiczną i nie muszą być uzasadniane na podstawie ich długich właściwości. W szczególności 95% wiarygodnych przedziałów nie musi być 95% przedziałami ufności. Mimo to nawet Bayesianie mogą chcieć zostać „skalibrowani”, tj. W celu dopasowania prawdopodobieństwa częstych. Patrz: Rubin, DB. „Bayesowskie uzasadnienie i odpowiednie obliczenia częstotliwości dla stosowanego statystysty. Annals of Statistics 1984: 12: 1151-1172.
a.arfe
jeśli żyjesz w świecie prawdopodobieństw subiektywnych, być może nie musisz niczego weryfikować, nigdy się nie mylisz
Aksakal
Możesz spojrzeć na stats.stackexchange.com/questions/2272/…, aby zobaczyć, dlaczego nie możesz robić tego, o czym myślisz, przynajmniej w określonych odstępach czasu.
Dave Harris,

Odpowiedzi:

5

Myślę, że widzisz logiczny problem w swoim pytaniu. W paradygmacie częstokroć dobrze jest zakładać prawdę o populacji, generować dane i sprawdzać, czy dane szacunkowe mają dobry zasięg, ponieważ tak właśnie powinni robić. W paradygmacie bayesowskim nie ma jednak żadnej prawdziwej prawdy do generowania danych! Bayesianie pytają o prawdopodobieństwo podania takich prawd danych, więc w symulacji potrzebujemy różnych prawd, które dają początek danym, a następnie warunkują dane. W praktyce kończy się symulowanie prawa prawdopodobieństwa warunkowego, które na szczęście zawsze obowiązuje z definicji. Dokładnie ten problem podejmuję w Rouder, 2014, Psychonomic Bulletin and Review. https://dx.doi.org/10.3758/s13423-014-0595-4

Jeff
źródło
1

W jaki sposób Bayesianie weryfikują, czy ich metody prawidłowo definiują niepewność (tj. Obliczają prawidłowe wiarygodne przedziały i rozkłady tylne) przy użyciu metod symulacji Monte Carlo, jeśli prawdopodobieństwo nie jest zdefiniowane jako wskaźniki w długim okresie?

Uważam, że zamieszanie dotyczy celu metod symulacji w statystyce bayesowskiej. Jedynym celem metod Markowa w łańcuchu Monte Carlo, takich jak próbkowanie Gibbsa lub hamiltonian Monte Carlo, jest obliczenie mianownika reguły Bayesa.

Oczywiście często dostępne są inne metody, które sprawiają, że MCMC jest niepotrzebny. Niektóre modele można wyrazić za pomocą koniugacji, inne poprzez zastosowanie cienkiej siatki w przestrzeni parametrów, a inne można rozwiązać za pomocą testu akceptacji-odrzucenia. Przydaje się MCMC, gdy całka zachowuje się źle.

π(θ|x)=fa(X|θ)π(θ)θΘfa(X|θ)π(θ)reθ,
fa(X|θ)π(θ)fa(X|θ)π(θ|X)sumy do jednego. Celem MCMC jest określenie dolnej liczby. Zauważ, że dolna liczba jest stałą. Jest to oczekiwane prawdopodobieństwo.

Dokładność tej liczby określa niektóre, ale nie wszystkie oszacowania parametrów. Jeśli korzystasz z estymatora maksymalnego a posteriori, MCMC jest niepotrzebnym krokiem. Zamiast tego powinieneś zbudować algorytm wspinaczki. Z drugiej strony konieczne jest określenie średniej tylnej lub odstępu. Jest tak, ponieważ przedział 95% musi wynosić 95% czegoś, a mianownik określa, jaka jest skala tego czegoś.

Celem MCMC w metodologii bayesowskiej jest doprowadzenie łańcuchów Markowa do zbieżności z gęstością boczną. To jest to. To nie testuje ważności niczego. To tylko próba ustalenia stałej wartości punktu. Jest to forma integracji numerycznej. Ponieważ nie ma sposobu, aby dowiedzieć się, nie pozwalając algorytmowi uruchomić się w nieskończoność, czy wszystkie gęste regiony zostały pokryte, istnieje pewna ludzka ocena. Algorytm zostanie odcięty, jeśli będzie przekonany, że zostało zrobione, ale to nie znaczy, że faktycznie zostało wykonane.

W metodologii Frequentist MCMC jest często używany do testowania racjonalności modelu lub do numerycznego przybliżenia rozwiązania, gdy analityczne nie jest dostępne. Nie służy tutaj podobny cel.

Gdybym miał napisać niestandardowy model w Stanie, skąd miałbym wiedzieć, że to, co robię, jest legalne? Jak mogę użyć metod symulacji, aby zweryfikować, że to, co robię w Stanie, powie mi, co chcę wiedzieć?

To pytanie jest znacznie trudniejsze. Stan jest szybkim algorytmem, co oznacza, że ​​handluje prędkością, co zwiększa ryzyko niedokładności. Stan, z założenia, będzie częściej poprawny niż niepoprawny. Istnieją inne algorytmy zaprojektowane do szerokiego przeszukiwania przestrzeni parametrów w poszukiwaniu lokalnych maksimów, które mogą być dokładniejsze, ale będą bardzo wolne.

θΘfa(X|θ)π(θ)reθ.

Drugą rzeczą, którą możesz zrobić, to sprawdzić poprawność za pomocą alternatywnego algorytmu. Liczby nigdy się nie zgadzają, ale jeśli uznasz, że są wystarczająco blisko, to nic ci nie jest.

Po trzecie, większość gotowych pakietów zawiera ostrzeżenia, że ​​coś może być nie tak. Jeśli pojawi się ostrzeżenie, użyj czegoś innego po zbadaniu źródła problemu, aby nie odtworzyć go w innym algorytmie.

Par(μ)=N.(7,2)2))σ2)N.(25,.12))

Po piąte, i powinieneś to zrobić, zanim zaczniesz Stan w pierwszej kolejności, wykreśl swoje krańcowe prawdopodobieństwa w jednym lub dwóch wymiarach. Czy są gdzieś niespodzianki, które mogą zakłócać algorytm?

Ponieważ Bayesianie nie definiują prawdopodobieństwa jako tego, co widzimy na dłuższą metę, jak mogę użyć metod symulacji do sprawdzenia, czy stan_glm dokładnie wychwytuje niepewność? To znaczy, jak mogę ufać, że te wiarygodne przedziały są prawidłowe, stosując metody symulacji? I w tej chwili nawet nie definiuję przeora - w jaki sposób ma tu zastosowanie włączenie przeorów, skoro wpłynie to na nasze mierniki niepewności?

Jeśli nie zdefiniujesz wcześniej, Twój model jest nieprawidłowy. Jeśli nie definiujesz rozsądnej wcześniejszej gęstości, to dlaczego miałbyś używać modelu bayesowskiego? Modele Frequentist minimalizują ryzyko maksymalnej straty, która mogłaby się zdarzyć w wyniku zebrania złej próbki. Są bardzo pesymistyczni i często potrzeba więcej informacji, aby uzyskać taki sam wynik, jak w przypadku metody bayesowskiej.

Niemniej jednak nie ma to zastosowania bez dobrego wcześniejszego zagęszczenia. Wcześniejsza gęstość pozwala metodzie bayesowskiej zminimalizować średnią stratę wynikającą z wyboru złej próbki. Informacje we wcześniejszych działaniach działają jak schemat ważenia, dzięki czemu, jeśli jakaś niecodzienna próba zostanie wybrana z ekstremalnej próby, uprzedni osłabia rolę danych.

EDYCJA Zdałem sobie sprawę, że nie podałem jednej konkretnej odpowiedzi. To było na pytanie

Jak mogę użyć metod symulacji, aby zweryfikować, że to, co robię w Stanie, powie mi, co chcę wiedzieć?

X

p1-pp{1/3),1/2),2)/3)}

Dla ciebie ważne jest, aby przepowiednia bayesowska nigdy nie była prawdziwym rozkładem. Jednym z trzech rozkładów jest rozkład prawdziwy. Metody bayesowskie ważą swoje prawdopodobieństwo na podstawie wartości obserwowanej i wcześniejszej. Tylnym nigdy nie może być prawdziwy rozkład, ani gęstość predykcyjna.

Pyta: „jakie jest prawdopodobieństwo zobaczenia sześciu głów i dwóch ogonów na podstawie zestawu wszystkich możliwych wyjaśnień (parametrów, modeli itp.)”.

H.0:p=1/3),

Jeśli użyjesz symulacji, aby utrwalić próbkę, zobaczysz, że Stan wykonałby znakomicie, ponieważ twierdzenie Bayesa jest twierdzeniem matematycznym. Jest optymalny ex post. Wszystko, co można znaleźć, to to, że algorytm poprawnie zaimplementował twierdzenie Bayesa aż do naturalnego poziomu błędu przy szacowaniu mianownika.

Możesz zrobić trzy rzeczy. Po pierwsze, możesz użyć metod punktacji modelu dla danych poza próbą. Po drugie, możesz użyć wyboru modelu Bayesa lub procesu uśredniania modelu. Po trzecie, możesz potraktować to jako problem Frequentist i skonstruować rozkład próbkowania estymatorów.

Po pierwsze, metody punktacji same w sobie stanowią całą literaturę. Powinieneś je zbadać. Wybór modelu Bayesa i uśrednianie modelu traktuj modele jako parametry. W przypadku wyboru modelu obliczane jest prawdopodobieństwo prawdziwości modeli. W celu uśrednienia modelu obliczane jest prawdopodobieństwo, że każdy model jest prawdziwy, co służy jako ważenie w przestrzeni modelu. Wreszcie możesz potraktować to jako model Frequentist.

Ten ostatni będzie problemem w wielu standardowych przypadkach z powodu wcześniejszego. W przypadku modeli o co najmniej trzech wymiarach i rozkładzie normalnym gęstość boczna nie zintegruje się z jednością, jeśli gęstość poprzednia nie jest gęstością właściwą. Innymi słowy, musisz ugryźć kulę i wybrać wcześniejszy model dla dowolnego modelu o dowolnej złożoności.

Obecność prawidłowo wyśrodkowanej właściwej wcześniejszej siły wymusza przypadek, w którym metoda Bayesa będzie lepsza od odpowiedniej metody Frequentist ze względu na ulepszoną informację. Metoda bayesowska wygra przy dowolnym rozsądnym standardzie. Nie wynika to z błędu w metodzie Frequentist, ale metoda Bayesa zakłada informacje zewnętrzne. Metoda Frequentist, biorąc pod uwagę tylko informacje w próbie, będzie zawierała mniej informacji, jeśli masz prawdziwy przeor.

Ponownie, jeśli nie masz prawdziwego przeora, to dlaczego używasz metody bayesowskiej?

Dave Harris
źródło
@Aksakal Zgadzam się z tobą, to zbiega decyzje i analizy. Usunąłem to.
Dave Harris,