WnioskowanieStatystyczne/Twierdzenie Bayesa

Z Brain-wiki

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ń [math]A[/math] i [math]B[/math] hipotezę [math]H[/math] i dane [math]D[/math]. Wtedy [math]P(D\mid H)[/math] będzie prawdopodobieństwem "wylosowania danych [math]D[/math] pod warunkiem, że prawdziwa jest hipoteza [math]H[/math]":


Prawd warunkowe P D H.png


[math] P(D\mid H)=\frac{P(D\cap H)}{P(H)} \Longrightarrow P(D\cap H)=P(D\mid H) P(H) \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (1) [/math]

Analogicznie

[math] P(H\mid D) = \frac{P(H\cap D)}{P(D)} \Longrightarrow P(H\cap D)=P(H\mid D) P(D). [/math]


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


Ponieważ

[math]P(D\cap H)=P(H\cap D)[/math]

czyli

[math]P(D\mid H) P(H) = P(H\mid D) P(D)[/math]

dostajemy

[math] P(H\mid D)=\frac{P(D\mid H) P(H)}{P(D)} \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (2) [/math]


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


[math] P(D)=P(D\cap\Omega)=\sum_i P(D\cap H_i). [/math]


Korzystając z (1) dostajemy


[math] P(D)=\sum_i P(D\mid H_i) P(H_i). [/math]


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


[math] P(H_i\mid D)=\frac{P(D\mid H_i)P(H_i)}{\sum_j P(D\mid H_j)P(H_j)}. [/math]


Prawdopodobieństwo hipotezy [math]H_i[/math] wyrażone jest przez:

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

Najbardziej bulwersujące jest tu [math]P(H_i)[/math], wyrażające naszą wiarę w hipotezę [math]H_i[/math] niezależną od danych [math]D[/math]. 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 [math]P(H)[/math] oznaczmy zaczątek jako [math]P_0[/math]; wzór Bayesa przyjmie wtedy postać

[math] 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)}. [/math]

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

[math] \frac{P(H_1\mid D)}{P(H_2\mid D)} = \frac{P(D\mid H_1)P_0(H_1)}{P(D\mid H_2)P_0(H_2)}. [/math]



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 [math]P_0(U)=0.95[/math]. Poziom naszej początkowej wiary z możliwość przeciwną, czyli że jeteśmy oszukiwani, wynosi wtedy [math]P_0(O)=0.05[/math]. 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 [math]P(W|O)=1[/math]. Jeśli gra byłaby uczciwa (losowa), to prawdopodobieństwo wygrania w każdej grze wynosiłoby [math]0.5[/math], czyli [math]P(W|U)=2^{-1}[/math]. Jeśli kolejne gry są zdarzeniami niezależnymi, to prawdopodobieństwo wygrania w [math]n[/math] kolejnych grach wyniesie [math]P(W_n|U)=2^{-n}[/math]

Ostatecznie

[math] 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) } [/math]


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

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%[math]\approx[/math] 99.8%. Jednakże, jeśli wziąć pod uwagę prawdopodobieństwo a priori (zaczątek) wynoszące 100 000/60 000 000 [math]\approx[/math] 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 [math]\frac{100 000}{220000}\approx[/math] 45% (a nie 99,8%!).

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

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


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

[math]P(+|\overline{HIV})=0,002[/math],

[math]P(HIV)= \frac{100 000}{60 000 000} = \frac{1}{600}[/math]

[math]P(\overline{HIV}) \approx 1[/math].

Szukamy [math]P(HIV|+)[/math]:

[math]\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}[/math]

Ponieważ [math]P(HIV|+) + P(\overline{HIV}|+) = 1[/math], dostajemy [math]P(HIV|+) \approx 0.455[/math], 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