Only a Bayesian Statistician is able to coherently explain the statement: If there is a 50-50 chance that something can go wrong, then 9 times out of ten it will.
Twierdzenie Bayesa jest proste, łatwe i nieskomplikowane, a mimo to jego zastosowania są olbrzymie, konsekwencje niebanalne, a dyskusja wokół stosowania twierdzenia Bayesa w modelowaniu statystycznym — bardzo zawzięta. W pewnym rozumieniu, twierdzenie Bayesa stawia bowiem na głowie rachunek prawdopodobieństwa, a nawet metodologię naukową.
Wykonujemy test na losowej osobie; test wypada pozytywnie. Jakie jest prawdopodobieństwo, że ta osoba rzeczywiście ma raka?
- nie da się tego policzyć
- ok. 99%
- ok. 90%
- ok. 50%
- ok. 10%
Naiwne rozumowanie brzmi tak: hipoteza zerowa brzmi „osoba jest zdrowa”, hipoteza alternatywna: „osoba ma raka”. Prawdopodobieństwo uzyskania pozytywnego wyniku jeśli osoba jest zdrowa wynosi 0.001 (0.1%). Zatem odrzucamy hipotezę zerową i przyjmujemy alternatywną. Ale jak policzyć prawdopodobieństwo, że osoba jest chora? Nie jest to 1-0.001, czyli 99.9% — ta wartość to prawdopodobieństwo, że osoba zdrowa uzyska negatywny wynik testu.
To prawda, że test jest z pozoru bardzo dokładny — rzadko popełnia błędy drugiego rodzaju (false negative), jeszcze rzadziej błędy pierwszego rodzaju (false positive). Problem jednak polega na tym, że choć błędną, pozytywną diagnozę test stawia stosunkowo rzadko, to jeszcze rzadziej mamy do czynienia z osobami, które faktycznie cierpią na tę formę raka. Mamy więc znacznie większe szanse na popełnienie błędnej pozytywnej diagnozy (false positive) niż błędnej negatywnej diagnozy (false negative).
Możemy policzyć, jakie jest prawdopodobieństwo p(T), że u losowej osoby test da wynik pozytywny. Albo ta osoba ma raka (z prawdopodobieństwem p(R)), albo nie ma (z prawdopodobieństwem 1 – p(R)). Jeśli ma, to prawdopodobieństwo pozytywnego wyniku jest p(T|R), jeśli nie ma — p(T|^R). Ponieważ zdarzenia są niezależne (zakładamy, że albo rak jest, albo go nie ma), p(T) = p(R)*p(T|R) + (1-p(R)) * p(T|^R). Ten wzór odpowiada liczbie 1000 + 95, którą wyliczyliśmy powyżej. Z twierdzenia Bayesa p(R|T) = p(T|R) * p(R) / p(T). Wszystkie te trzy wielkości znamy; p(T|R) * p(R) odpowiada liczbie 95, którą wyliczyliśmy powyżej. Zatem p(R|T) = 0.95 * 0.0001 / ( 0.0001 * 0.95 + 0.9999 * 0.001 ) = 0.000095 / 0.00108 = 0.083, czyli 8.3%.
Twierdzenie Bayesa jest banalne do udowodnienia. Trick polega na definicji prawdopodobieństwa warunkowego: P(T|R) = p(T oraz R) / p(R). Jest to zgodne z naszą intuicją: załóżmy, że chcemy wyliczyć, ile osób z miliona ma (i) raka i (ii) pozytywny wynik testu (czyli p(T oraz R) razy milion). Liczymy ile osób ma raka ( milion * p(R) ) i mnożymy przez prawdopodobieństwo, że u osoby z rakiem test da wynik pozytywny (p(T|R) * p(R) * milion). Czyli milion * p(R) * p(T|R) = milion * p( T oraz R). Zatem p(T oraz R) = p(R)*p(T|R).
Oczywiście, w ten sam sposób p(R|T) = p( T oraz R ) / p(T), czyli p(T oraz R) = p(T) * p(R|T). Kombinując te dwa stwierdzenia, p(R)*p(T|R) = p(T)*p(R|T), czyli p(R|T) = p(R)*p(T|R) / p(T).
Powiedzmy, że mamy jakąś hipotezę H (w powyższym przykładzie hipoteza brzmi: losowy pacjent ma raka), której prawdopodobieństwo możemy w jakiś tam sposób przyjąć z góry. Mamy też pewien zestaw danych D (w powyższym przykładzie: wynik testu), i możemy policzyć, jakie jest prawdopodobieństwo uzyskania tego zestawu danych zakładając hipotezę H. Mamy też alternatywną hipotezę H’ i wiemy, jakie jest prawdopodobieństwo uzyskania tego zestawu danych jeśli prawdziwa jest H’. Wówczas możemy policzyć jakie jest prawdopodobieństwo, że hipoteza H jest prawdziwa w kontekście uzyskanych wyników. Prawdopodobieństwo p(H) zwykło się nazywać prawdopodobieństwem a priori, a p(H|D) — a posteriori, czyli po uzyskaniu danych.
Skręt mózgu bierze się najpierw z konfrontacji z „klasyczną” statystyką. W klasycznej statystyce określamy pewną hipotezę zerową (dana osoba jest zdrowa) i pewną hipotezę alternatywną (osoba ta ma raka). Liczymy prawdopodobieństwo p uzyskania pozytywnego wyniku testu (czyli uzyskania D) przy założeniu hipotezy zerowej, i odrzucamy hipotezę zerową na rzecz alternatywnej, jeśli p jest mniejsze od arbitralnie przyjętego progu. W naszym przypadku p = 0.001, więc zapewne odrzucamy hipotezę zerową i uznajemy — i to ze sporą pewnością siebie — że pacjent ma raka. Rozumowanie bajezjańskie umożliwia nam jednak bezpośrednie policzenie prawdopodobieństwa hipotezy alternatywnej, które wcale nie jest takie wysokie, jakby się to nam zdawało, ale i nie bezużytecznie: przecież 10% to wielokrotnie więcej, niż 0.01%.
Z drugiej strony, popperowski falsyfikacjonizm można rozumieć jako szczególny przypadek Bayesa. Załóżmy, że hipoteza H może zostać sfalsyfikowana przez obserwację D — to oznacza, że p(D|H) jest równe zeru. Wówczas z twierdzenia Bayesa wynika, że p(H|D) także równe jest zeru. Innymi słowy, jeśli zaobserwujemy D, to H jest nieprawdziwa i otrzymujemy popperowską falsyfikację. Jednak jeśli nie zaobserwujemy D, to mamy inną sytuacje, rozważamy bowiem p(H|^D) = p(^D|H)*p(H) / p(^D). Jeśli prawdopodobieństwo braku obserwacji D jest przy założeniu hipotezy H wyższe niż prawdopodobieństwo braku obserwacji D przy, na przykład, założeniu jakiejś alternatywnej hipotezy, to p(H|^D), czyli prawdopodobieństwo a posteriori jest wyższe niż p(H), prawdopodobieństwo a priori. Tak jak u Poppera, możemy odrzucić hipotezę w wyniku falsyfikacji. Inaczej jednak niż u Poppera, obserwacja zgodna z przewidywaniami wzmacnia (i to w sposób mierzalny) naszą hipotezę.
Literatura
- Bellhouse, D. R., „The Reverend Thomas Bayes, FRS: A Biography to Celebrate the Tercentenary of His Birth„, Statistical Science 2004, Vol. 19, No. 1, 3–43
- Znacznie dłuższe wprowadzenie do bajezjańskiego rachunku prawdopodobieństwa znajduje się tutaj
Za każdym razem, kiedy o tym czytam, boli mnie mózg.
Od skręcania. Też to mam :-) A jeszcze nie doszliśmy do wiewiórek from outer space, czyli bajezjańskiego modelowania procesów.
Fajne! Pisales cos moze o filtrach Kalmana?
Ja zawsze mam inny problem niż wszyscy, przepraszam. Tu zupełnie nie rozumiem tego podejścia naiwnego z początku: widzę, że test daje false-positive z prawdop. dużo większym, niż szansa w populacji na tegoż raka, więc od razu widzę, że test jest mocno bezużyteczny do sprawdzania na wynik pozytywny (owszem, jeśli kolejne pomiary to zdarzenia niezależne, bo błąd wynika np. z niedokładności wykonania testu, a nie np. ze stadium raka, albo genetyki badanego — to zrobimy po prostu zawsze dwa, trzy testy, i wynik potraktujemy jak jeden nowy test, o lepszych parametrach, ale to inna historia). Więc w ogóle nie wchodzę w ten tok rozumowania :(