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łbymrstanarm
i 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 p
poprawnie 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 glm
polecenie to opisuje niepewność w prawidłowy sposób. Jestem pewien, że przy 95% zbliżyłbym się do nosa, gdybym podniósł się iter
i 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_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?
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ć?
źródło
Odpowiedzi:
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
źródło
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.
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.
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.
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.
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?
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
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.)”.
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?
źródło