Przeskocz do treści

Delta mi!

W sieci Bayesa

Łukasz Rajkowski

o artykule ...

  • Publikacja w Delcie: czerwiec 2018
  • Publikacja elektroniczna: 22 maja 2018
  • Wersja do druku [application/pdf]: (119 KB)

Rozpoczniemy od żartobliwej, acz pouczającej historyjki: podczas rozmowy dwóch stałych bywalców lokalnego baru jeden z nich mówi do drugiego "Noszenie kaloszy jest bardzo niezdrowe; ilekroć budzę się rano i mam je na nogach, boli mnie głowa"...

obrazek

Rys. 1

Rys. 1

obrazek

Łatwo wskazać lukę w przedstawionym rozumowaniu (psując odrobinę dowcip, ale czegóż nie robi się dla dobra nauki): choć niewątpliwie spędzenie nocy w kaloszach i poranny ból głowy często występowały wspólnie, nie można na tej podstawie powiedzieć, że to pierwsze jest przyczyną drugiego. Oba mają po prostu wspólną praprzyczynę, jaką jest niechlubne zamiłowanie autora uwagi do wysokoprocentowych trunków. Zależność tę można przedstawić graficznie, tak jak na rysunku 1, na którym |X, Y i Z związane są odpowiednio z kaloszami na nogach, porannym bólem głowy i przesadną konsumpcją poprzedniego wieczora. Zwróćmy uwagę, że (1) nie każdy wieczór spędzony jest w barze (na szczęście), (2) nie każdy wieczór spędzony w barze skutkuje bolącą głową (kaloszami na nogach) następnego ranka i (3) nie zawsze boląca głowa (kalosze) są dowodem na wieczór spędzony w barze. Sugeruje to, aby na |X, Y ,Z patrzeć jak na zmienne losowe, które określone wartości (powiedzmy 0 i 1) przyjmują z określonym prawdopodobieństwem. Jest zatem sensowne pytanie na przykład o prawdopodobieństwo obudzenia się z kaloszami na nogach bez bólu głowy oraz gdy nie byliśmy poprzedniego dnia w barze, czyli

pX,Y (1,0,0) = P(X = 1,Y = 0,Z = 0).

Funkcja pX,Y ma kilka funkcji "pochodnych", można z niej, na przykład, odczytać prawdopodobieństwo obudzenia się z kaloszami

pX(1) = pX,Y (1,0,0)+pX,Y (1,0,1)+ pX,Y (1,1,0)+pX,Y (1,1,1).

Podobnie możemy zdefiniować p ,p , Y Z a także p ,p X,Y Y,Z i p X,Z - za każdym razem sumujemy |pX,Y dla wszystkich możliwych wartości zmiennych, które nie występują w dolnym indeksie (otrzymujemy w ten sposób rozkłady brzegowe). Jesteśmy też w stanie obliczyć prawdopodobieństwo obudzenia się bez kaloszy pod warunkiem spędzenia wieczoru w barze, czyli

pXSZ(1 1) = pX,Z(1,1)/pZ(1).

Analogicznie możemy określić funkcje pASB ,pA,BSC czy pASB,C , gdzie pod |A, B, C można dowolnie wstawić |X, Y ,Z ; otrzymamy w ten sposób rozkłady warunkowe. Zwróćmy uwagę na oczywistą algebraicznie równość

pX,Y = pZ ⋅pY SZ ⋅pXSY . (1)

Wspomniany na początku bywalec baru zaobserwował zależność między kaloszami i bólem głowy, możemy jednak podejrzewać, że zjawiska te są niezależne pod warunkiem pobytu w barze. Oznacza to, że jeśli dysponujemy informacją o sposobie spędzenia poprzedniego wieczoru, to wiedza o kaloszach na nogach o poranku nie wpłynie na naszą ocenę szansy na ból głowy. Wykorzystując wprowadzone przez nas oznaczenia, możemy to zapisać na trzy algebraicznie równoważne sposoby

pYSX,Z= pY SZ, pXSY = pXSZ, pX,Y = pXSZpYSZ

(wszystkie te równości można szybko sprowadzić do | pX,Y pZ = pX,ZpY,Z ). Równość (1) możemy wówczas zapisać jako

pX,Y = pZ ⋅pYSZ⋅pXSZ. (2)

W takiej sytuacji mówimy, że funkcja |p X,Y faktoryzuje się względem grafu przedstawionego na rysunku 1 - przedstawia się bowiem jako iloczyn, w którym każdy czynnik jest postaci pzmiennaSjejrodzicewgrafie. Jeśli w każdym z czynników ze zmiennych, po których warunkujemy, nie da się niczego uszczknąć (tak, jak przechodząc z zawsze prawdziwego (1) do szczególnego (2)), to mówimy, że dany graf jest siecią bayesowską dla funkcji |pX,Y . Jeśli graf z rysunku 1 jest siecią bayesowską dla naszych zmiennych, to połączenie (1) (zawsze prawdziwe!) i (2) (założenie o faktoryzacji) daje nam |p = p , XSY XSZ czyli warunkową niezależność X i |Y (oznaczaną jako |X Y Z ). Z drugiej strony mamy

pX,Y(x,y) = pZ(0)pY SZ(y 0)pXSZ(x 0) + pZ(1)pYSZ(y 1)pXSZ(x 1),

czego bez dodatkowych założeń nie moglibyśmy zapisać jako iloczynu dwóch funkcji, z których jedna jest zależna tylko od x, a druga tylko od |y. W ogólności nie występuje zatem niezależność |X od |Y, co zostało zaobserwowane przez bywalca baru.

obrazek

Rys. 2

Rys. 2

Zastanówmy się, jakie jeszcze dwukrawędziowe sieci bayesowskie mogą rządzić zachowaniem trzech zmiennych. Gdyby pX,Y faktoryzowało się wedle grafu na rysunku 2, mielibyśmy p = p p p . X,Y X ZSX YSZ Odpowiadałoby to sytuacji, w której X jest oceną ze sprawdzianu z trygonometrii, Z oceną roczną z matematyki, a |Y - średnią na świadectwie. Wówczas |X i |Y są zależne (choć delikatnie), przestaje to jednak mieć miejsce, jeśli rozpatrzymy sytuację pod warunkiem oceny z matematyki (nie mylić z warunkiem z matematyki). Odpowiada to prostej do sprawdzenia (wykorzystując |pX,Y = pXpZSXpY SX,Z ) równości pY | SZ = pY SX,Z.

obrazek

Rys. 3

Rys. 3

Ostatnia możliwość jest przedstawiona na rysunku 3 Wówczas ma miejsce zależność pX,Y = pXpY pZSX,Y. Zmienne |X, Y są niezależne (zachodzi bowiem p = p Y YSX ), zależność ta nie występuje jednak w ogólności po "zwarunkowaniu" po Z. | Ta sieć znajduje odzwierciedlenie w sytuacji, gdy Z oznacza uruchomienie się alarmu przeciwpożarowego, X - ćwiczenia ewakuacji, a Y - faktyczny pożar. Nie ma powodów, aby sądzić, że szansa na wystąpienie pożaru budynku była zależna od planu przeprowadzania w nim ćwiczeń przeciwpożarowych, jeśli jednak słyszymy alarm i wiemy, że na dany dzień nie były zapowiadane ćwiczenia, powinniśmy jak najszybciej (ale bez paniki!) wziąć nogi za pas.

Grafy przedstawione na rysunkach 1, 2, 3 zwykło się nazywać w specjalistycznym żargonie odpowiednio "widelcem" (fork), "łańcuchem" (chain) i "zderzaczem" (collider).

obrazek

Rys. 4

Rys. 4

Z powyższych rozważań wynika, że znajomość sieci bayesowskiej odpowiadającej funkcji pX,Y pozwala na sformułowanie wniosków o (warunkowej) niezależności. Oczywiście, rozpatrywaliśmy trywialny przypadek trzech zmiennych - co się dzieje, kiedy jest ich więcej? Kandydat na sieć bayesowską dla zmiennych |X1, ...,Xn musi być grafem skierowanym, i to nie byle jakim: wymagamy od niego, aby nie miał żadnych cykli (Directed Acyclic Graph, czyli DAG). Dla przykładu, DAG przedstawiony na rysunku 4 jest siecią bayesowską dla funkcji prawdopodobieństwa |pX1,X2,X3,X4,X5,,X6 jeśli zachodzi

pX1,X2,X3,X4,X5=,Xp6X2⋅pX5SX2p⋅X1SX5p⋅X4SX1pX⋅6SX5,X4pX⋅3SX6

i nie można usunąć z powyższego napisu żadnej ze zmiennych "warunkowych". Jakie (warunkowe) niezależności spełniają wówczas zmienne |X ,...,X ? 1 6 Okazuje się (i jest to jedno z podstawowych twierdzeń teorii sieci bayesowskich; jego dowód jest bardziej skomplikowany, niż może się na pierwszy rzut oka wydawać), że (warunkowa) niezależność wynika wówczas z występujących w sieci bayesowskiej d -rozdzielności. Mówimy, że wierzchołki |X i Y w grafie |G d -połączone przez zbiór wierzchołków 𝒵, jeśli istnieje pomiędzy nimi ścieżka |X = W0 −W1−...− Wk −Wk+1 = Y (nie bierzemy pod uwagę kierunku krawędzi) taka, że dla dowolnego |1⩽ i⩽ k zachodzi

  • jeśli Wi−1 Wi Wi+1, to Wi lub któryś z jego potomków (dzieci, wnuków, prawnuków…) należy do 𝒵
  • w przeciwnym przypadku W i nie należy do 𝒵.

Jeśli |X, Y nie są d -połączone przez 𝒵, to mówimy, że są przez |𝒵d -rozdzielone. W sieci przedstawionej na rysunku 4 wierzchołki |X 2 i X 4 d -rozdzielone przez X , 1 nie są jednak d -rozdzielone przez |{X1, X3}. Zgodnie ze wspomnianym twierdzeniem oznacza to, że w tej sytuacji, jeśli znamy wartość |X1, to wiedza o |X2 nie dostarcza nam informacji o |X4 ; byłoby jednak inaczej, gdybyśmy na początku poznali jeszcze |X . 3 Odpowiada to "przepływowi informacji" w sieci: między |X2 a |X4 są dwie ścieżki: |𝒮1 = X2 X5 X1 X4 oraz |𝒮2 = X2 X5 X6 X4. Informacja nie przepływa przez 𝒮2, przepływa jednak przez |𝒮1. Zmieni się to, kiedy dowiemy się czegoś o |X1 - wówczas obie ścieżki są zablokowane. Gdy jednak uzyskamy również informację na temat X3, to dowiemy się czegoś o X6, przez co "odblokujemy" ścieżkę |𝒮2 (na tej samej zasadzie, jak w przykładzie o alarmie przeciwpożarowym).

obrazek

Należy podkreślić, że choć z sieci bayesowskiej możemy odczytać występujące między zmiennymi warunkowe niezależności, nie możemy na jej podstawie wnioskować o ich braku. Przykładem może być sytuacja, w której X, Y to wyniki dwóch niezależnych rzutów symetryczną monetą (gdzie orzeł kodowany jest przez 0, a reszka przez 1), natomiast Z to odpowiedź na pytanie o równość X i Y (0 - fałsz, 1 - prawda). Sieć bayesowska odpowiadająca tym zmiennym była przedstawiona na rysunku 3 Pomimo tego, że wierzchołki |X i Z |d -połączone, są one niezależne. Wedle tej zasady działa każdy godny szacunku kryminał: pojedyncza wskazówka nic nie mówi o przestępcy, ale uwzględnienie ich wszystkich pozwala na doprowadzenie go przed oblicze sprawiedliwości.

Czytelnik Pragmatyczny zapewne zaczął się już niecierpliwić - wprowadziliśmy mnóstwo nowych pojęć, a sformułowaliśmy tylko jedno twierdzenie, którego nawet nie udowodniliśmy; po co więc cały ten ambaras? Otóż sieci bayesowskie są bardzo poręcznym matematycznym wynalazkiem, pozwalającym w czytelny sposób przedstawiać zależności między zmiennymi losowymi. Są one użyteczne zwłaszcza wtedy, gdy chcemy zilustrować bezpośrednie związki między nimi. Działa to również w drugą stronę - choć na podstawie samych obserwacji nigdy nie jesteśmy w stanie zidentyfikować związków przyczynowo-skutkowych (jest to zasada, którą każda osoba przeprowadzająca analizę statystyczną powinna mieć na uwadze), zidentyfikowanie najprostszej sieci bayesowskiej można traktować jako krok w dobrym kierunku. Zauważmy bowiem, na przykład, że jeśli wśród zmiennych X, Y,Z zaobserwujemy niezależność X od Y , jednak zmienne te są zależne pod warunkiem Z, to wiemy, że mamy wówczas do czynienia ze "zderzaczem". Stanowi to pewną mglistą przesłankę (nie zawsze słuszną), że |X i |Y "składają się" na Z ; wiemy jednak z całą pewnością, że Z nie może być przyczyną ani X, ani |Y (wówczas bowiem mielibyśmy do czynienia z inną strukturą niezależności). Sprawę często komplikują tutaj tak zwane "ukryte zmienne" - jak, na przykład, wizyta w barze ostatniej nocy, która nie została uwzględniona podczas analizy...