Z Brain-wiki
Skocz do: nawigacja, szukaj

Wnioskowanie_Statystyczne_-_wykład


Twierdzenie Bayesa

Twierdzenie Bayesa można wyprowadzić z elementarnych reguł prawdopodobieństwa, wychodząc z definicji prawdopodobieństwa warunkowego. Ponieważ interesuje nas głównie weryfikacja hipotez statystycznych, przekształćmy ten wzór, wstawiając od razu zamiast zdarzeń A i B hipotezę H i dane D. Wtedy P(D\mid H) będzie prawdopodobieństwem "wylosowania danych D pod warunkiem, że prawdziwa jest hipoteza H":

P(D\mid H)=\frac{P(D\cap H)}{P(H)} \Longrightarrow P(D\cap H)=P(D\mid H) P(H).

Analogicznie

P(H\mid D) = \frac{P(H\cap D)}{P(D)} \Longrightarrow P(H\cap D)=P(H\mid D) P(D).

Celem wnioskowania statystycznego jest najczęściej ocena prawdopodobieństwa prawdziwości hipotezy H w świetle zdarzenia opisanego obserwowanymi danymi D, a nie odwrotnie --- mylenie tych dwóch prawdopodobieństw może prowadzić np. do tzw. błędu rozumowania prokuratorskiego.

Ponieważ P(D\cap H)=P(H\cap D), czyli P(D\mid H) P(H) = P(H\mid D) P(D), dostajemy

P(H\mid D)=\frac{P(D\mid H) P(H)}{P(D)}.

Prawdopodobieństwo P(D) uzyskania w doświadczeniu danych D trudno ocenić bezpośrednio, jeśli nie wiemy, czy prawdziwa jest odnosząca się do nich hipoteza H. W tej sytuacji należy wziąć pod uwagę wszystkie możliwe hipotezy H_i, tworzące kompletny, czyli pokrywający całą przestrzeń \Omega: \sum_i H_i=\Omega zbiór hipotez H_i wykluczających się wzajemnie \left(P(H_i\cap H_j\right)=0. Wtedy

P(D)=P(D\cap\Omega)=\sum_i P(D\cap H_i).

Korzystając z (1) dostajemy

P(D)=\sum_i P(D\mid H_i) P(H_i).

Wstawiając tę zależność do (2), i podstawiając za H jedną z możliwych H_i, dostajemy wzór wyrażający twierdzenie Bayesa:

P(H_i\mid D)=\frac{P(D\mid H_i)P(H_i)}{\sum_j P(D\mid H_j)P(H_j)}.

Prawdopodobieństwo hipotezy H_i wyrażone jest przez:

  • prawdopodobieństwo uzyskania w jej świetle danych D, czyli P(D\mid H_i)
  • stopień naszego zaufania do hipotezy H_i (niezależny od eksperymentu, w którym uzyskaliśmy dane D), czyli P(H_i)
  • całkowite prawdopodobieństwo uzyskania danych D w świetle wszystkich możliwych hipotez H_j, czyli \sum_j P(D\mid H_j)P(H_j)

Najbardziej bulwersujące jest tu P(H_i), wyrażające naszą wiarę w hipotezę H_i niezależną od danych D. Wielkość tę określa się mianem prawdopodobieństwa "a priori", lub jak proponuje R. Nowak, "prawdopodobieństwem zaczątkowym" lub "zaczątkiem" . Dla odróżnienia od (szukanego) prawdopodobieństwa P(H) oznaczmy zaczątek jako P_0; wzór Bayesa przyjmie wtedy postać

P(H_i\mid D)=\frac{P(D\mid H_i)P_0(H_i)}{\sum_j P(D\mid H_j)P_0(H_j)}.

Jeśli nie dysponujemy informacją o kompletnym zbiorze hipotez H_i, możemy badać stosunek prawdopodobieństw dwóch hipotez H_1 i H_2:

\frac{P(H_1\mid D)}{P(H_2\mid D)} = \frac{P(D\mid H_1)P_0(H_1)}{P(D\midH_2)P_0(H_2)}.



Poniższe przykłady zaczerpnięto z raportu Giuglio D'Agostini "Bayesian Reasoning in High Energy Physics - Principles and Applications".


Uaktualnianie prawdopodobnieńswa zaczątkowego czyli Bayes w barze

Spotykamy w barze znajomego, który dla wyboru kto płaci za drinki proponuje prostą grę losową: płaci ten, kto wyciągnie z zakrytej talii niższą kartę. Zgadzamy się wierząc w losowość gry (czyli uczciwość znajomego, który grę prowadzi), ale jeśli przegramy kilka razy z rzędu zaczynamy wątpić. Opiszmy to liczbami:

Na początku przyjmujemy, że znajomy proponuje uczciwą grę losową, z prawdopodobieństwem na przykład P_0(U)=0.95. Poziom naszej początkowej wiary z możliwość przeciwną, czyli że jeteśmy oszukiwani, wynosi wtedy P_0(O)=0.05. Dla uproszczenia załóżmy, że jeśli prowadzący grę znajomy oszukuje, to zawsze wygra, czyli prawdopodobieństwo wygrania w każdej z gier wyniesie wtedy P(W|O)=1. Jeśli gra byłaby uczciwa (losowa), to prawdopodobieństwo wygrania w każdej grze wynosiłoby 0.5, czyli P(W|U)=2^{-1}. Jeśli kolejne gry są zdarzeniami niezależnymi, to prawdopodobieństwo wygrania w n kolejnych grach wyniesie P(W_n|U)=2^{-n}

Ostatecznie

P(O|W_n)=\frac{ P(W_n|O) P_0(O) }{ P(W_n|O) P_0(O) + P(W_n|U) P_0(U) }


P(O|W_n)=\frac{P_0(O) }{ P_0(O) +2^{-n} [1 - P_0(O)] }

import matplotlib.pyplot as plt
import numpy
t = numpy.arange(0, 20.0, 1.0)
def p(n,p0c):
	return p0c/(p0c+(1-p0c)*0.5**n)
plt.plot(t, p(t, 0.01), label='$p_0=0.01$')
plt.plot(t, p(t, 0.05), label='$p_0=0.05$')
plt.plot(t, p(t, 0.5), label='$p_0=0.5$')
plt.xlabel('n')
plt.ylabel('P')
plt.grid(True)
plt.legend()
plt.show()
Bayes w barze.png

'Prawdziwe' prawdopodobieństwo zarażenia w świetle wyników testu na HIV

Podobnie jak powyższy, ten przykład również zaczerpnięto z cytowanego poniżej tekstu d'Agostiniego:

Przypadkowo wybrany z populacji (w której na 60 milionów jest około stu tysięcy nosicieli wirusa) obywatel poddany jest testowi na obecność wirusa HIV. Użyty test wykrywa niemal 100% przypadków zakażenia, i daje około 0,2% „fałszywych alarmów”. Jakie jest prawdopodobieństwo, że badany obywatel jest nosicielem wirusa, jeśli test dał wynik pozytywny?

Na pierwszy rzut oka wydaje się, że skoro test wykrywa wirusa fałszywie tylko w dwu przypadkach na tysiąc, to szukane prawdopodobieństwo wynosi 1-0,2%\approx 99.8%. Jednakże, jeśli wziąć pod uwagę prawdopodobieństwo a priori (zaczątek) wynoszące 100 000/60 000 000 \approx 2% otrzymamy wartość bliską 50%!

Na początek wyobraźmy sobie wynik tego testu na całej populacji: będzie on pozytywny dla stu tysięcy zarażonych i dla 0,2% pozostałych, czyli w sumie 220 tysięcy. Wśród nich faktycznych nosicieli będzie tylko sto tysięcy, pozostali będą ofiarami błędu testu. Prawdopodobieństwo, że jesteśmy nosicielem, jeśli znaleźliśmy się w tej grupie, jest równe \frac{100 000}{220000}\approx 45% (a nie 99,8%!).

Formalnie możemy dowieść tego wyniku korzystając z (2) i (4). Oznaczmy:

  • P(+) --- prawdopodobieństwo pozytywnego wyniku testu,
  • P(HIV) --- prawdopodobieństwo, że badany jest nosicielem (zaczątek),
  • P(\overline{HIV}) --- prawdopodobieństwo, że badany nie jest nosicielem (również zaczątek).


Z opisu przykładu dostaniemy: P(+|HIV)\approx 1,

P(+|\overline{HIV})=0,002,

P(HIV)= \frac{100 000}{60 000 000} = \frac{1}{600}

P(\overline{HIV}) \approx 1.

Szukamy P(HIV|+):

\begin{matrix}P(HIV|+)& =& \frac{P(+|HIV)P(HIV)}{P(+)}\\P(\overline{HIV}|+)& = &\frac{P(+|\overline{HIV})P(\overline{HIV})}{P(+)}\\\frac{P(HIV|+)}{P(\overline{HIV}|+)}&=&\frac{P(+|HIV)P(HIV)}{P(+|\overline{HIV})P(\overline{HIV})}= \frac{1 \cdot \frac{1}{600}}{0,002 \cdot 1} = \frac{1}{1,2}.\end{matrix}

Ponieważ P(HIV|+) + P(\overline{HIV}|+) = 1, dostajemy P(HIV|+)\approx 0.455, czyli ok. 45%

Referencja

Polecam doskonały tekst Giuglio D'Agostini z 1995 roku pt. "Probability and Measurement Uncertainty in Physics - a Bayesian Primer", dostępny z https://arxiv.org/abs/hep-ph/9512295