Zagadnienia

10. Markowowskie Monte Carlo I. Wprowadzenie

10.1. Co to jest MCMC ?

W pewnych sytuacjach okazuje się, że wygenerowanie zmiennej losowej X z interesującego nas rozkładu prawdopodobieństwa π jest praktycznie niemożliwe. Wyobraźmy sobie, że π jest bardzo skomplikowanym rozkładem na ,,ogromnej”, wielowymiarowej przestrzeni X. Zazwyczaj ten rozkład jest dany poprzez podanie funkcji proporcjonalnej do gęstości, pp, ale bez znajomości stałej normującej 1/p. Przy tym ,,ogromna” przestrzeń X może być zbiorem skończonym (ale bardzo licznym) zaś rozkład π może być… jednostajny, o gęstości p1. Jeśli jednak nośnik rozkładu UX jest bardzo ,,skomplikowanym” zbiorem, to metody typu eliminacji/akceptacji mogą zawieść. Właśnie z takim przypadkiem spotkaliśmy się już we wstępnym Rozdziale 1, w Przykładzie 1.5. Naszkicowany tam algorytm jest przedstawicielem metod, którymi obecnie zajmiemy się dokładniej, czyli algorytmów MCMC. Ten skrót oznacza Markov Chain Monte Carlo, czyli po polsku algorytmy MC wykorzystujące łańcuchy Markowa. Podstawowa idea jest taka: jeśli nie umiemy generować zmiennej losowej X o rozkładzie π to zadowolimy się generowaniem ciągu zmiennych losowych X0,X1,,Xn,, który w pewnym sensie zbliża się, zmierza do rozkładu π. Podobnie jak w cytowanym przykładzie ,,plecakowym” ciąg Xn ma charakter ,,losowego błądzenia” po przestrzeni X.

To wszystko co dotychczas powiedzieliśmy jest bardzo niekonkretne i wymaga uściślenia. W moich wykładach ścisłe przedstawienie tych zagadnień będzie możliwe tylko w ograniczonym zakresie. W obecnym rozdziale skupię się na głównych ideach MCMC. Następnie, w Rozdziałach 11 i 12 przedstawię podstawowe algorytmy i kilka motywujących przykładów, pokażę wyniki symulacji, ale niemal nic nie udowodnię. Sprobuję to częściowo naprawić w Rozdziałach 14 i 15 , które w całości będą poświęcone łańcuchom Markowa i algorytmom MCMC na skończonej przestrzeni X. W tej uproszczonej sytuacji podam dowody (a przynajmniej szkice dowodów) podstawowych twierdzeń. Zastosowania MCMC w przypadku ,,ciągłej” przestrzeni X (powiedzmy, XRd) są przynajmniej równie ważne i w gruncie rzeczy bardzo podobne. Zobaczymy to na paru przykładach. Algorytmy MCMC pracujące na przestrzeni ciągłej są w zasadzie takie same jak te w przypadku przestrzeni skończonej, ale ich analiza robi się trudniejsza, wymaga więcej abstrakcyjnej matematyki – i w rezultacie wykracza poza zakres mojego skryptu. Ograniczę się w tej materii do kilku skromnych uwag. Bardziej systematyczne, a przy tym dość przystępne przedstawienie ogólnej teorii można znaleźć w [20] lub [17].

10.2. Łańcuchy Markowa

Klasyczne metody MCMC, jak sama nazwa wskazuje, opierają się na generowaniu łańcucha Markowa. Co prawda, rozwijają się obecnie bardziej wyrafinowane metody MCMC (zwane adaptacyjnymi), które wykorzystują procesy niejednorodne a nawet nie-markowowskie. Na razie ograniczymy się do rozpatrzenia sytuacji, gdy generowany ciąg zmiennych losowych Xn jest jednorodnym łańcuchem Markowa na przestrzeni X. Jeśli X jest zbiorem skończonym, możemy posługiwać się Definicją 7.1, w ogólnym przypadku – Definicją 7.2. Przypomnijmy oznaczenie prawdopodobieństw przejścia łańcucha: dla xX oraz BX,

P(Xn+1B|Xn=x)=P(x,B).

W przypadku przestrzeni skończonej wygodniej posługiwać się macierzą przejścia o elementach

P(Xn+1=y|Xn=x)=P(x,y).

Metoda generowania łańcuchów Markowa jest dość oczywista i sprowadza się do wzorów (7.2) w przypadku skończonym i (7.5) w przypadku ogólnym.

10.2.1. Rozkład stacjonarny

Niech π oznacza docelowy rozkład prawdopodobieństwa. Chcemy tak generować łańcuch Xn, czyli tak wybrać prawdopodobieństwa przejścia P, aby uzyskać zbieżność do rozkładu π. Spróbujemy uściślić co to znaczy, w jakim sensie rozumiemy zbieżność.

Definicja 10.1

Mówimy, że π jest rozkładem stacjonarnym (lub rozkładem równowagi) łańcucha Markowa o prawdopodobieństwach przejścia P, jeśli dla każdego (mierzalnego) zbioru BX mamy

πB=XπdxPx,B.

W przypadku skończonej przestrzeni X równoważne sformułowanie jest takie: dla każdego stanu y,

πy=xXπxPx,y.

Jeśli rozkład początkowy jest rozkładem stacjonarnym, P(X0)=π(), to mamy P(Xn)=π() dla każdego n. Co więcej, w takiej sytuacji łączny rozkład zmiennych Xn,Xn+1, jest taki sam, jak rozkład zmiennych X0,X1,. Mówimy, że łańcuch jest w położeniu równowagi lub, ze jest procesem stacjonarnym. To uzasadnia nazwę rozkładu stacjonarnego. Oczywiście, łańcuchy generowane przez algorytmy MCMC nie są w stanie równowagi, bo z założenia nie umiemy wygenerować X0π. Generujemy X0 z pewnego innego rozkładu ξ, nazywanego rozkładem początkowym. Gdy zajdzie potrzeba, żeby uwidocznić zależność od rozkładu początkowego, będziemy używali oznaczeń Pξ i Eξ. Przeważnie start jest po prostu deterministyczny, czyli ξ jest rozkładem skupionym w pewnym punkcie xX. Piszemy wtedy Px i Ex.

Jeśli π jest rozkładem stacjonarnym, to przy pewnych dodatkowych założeniach uzyskuje się tak zwane Słabe Twierdzenie Ergodyczne (STE). Jego tezą jest zbieżność rozkładów prawdopodobieństwa zmiennych losowych Xn do π w następującym sensie: dla dowolnego (mierzalnego) zbioru BX i dowolnego rozkładu początkowego ξ mamy

PξXnBπBn. (10.1)

Dla skończonej przestrzeni X równoważne jest stwierdzenie, że dla każdego yX,

PξXn=yπyn.

Pewną wersję STE dla skończonej przestrzeni X udowodnimy w następnym rozdziale (Twierdzenie 14.5). Na razie poprzestańmy na następującym prostym spostrzeżeniu.

Uwaga 10.1

Jeżeli zachodzi teza STE dla pewnego rozkładu granicznego π, czyli Pnx,BπB dla dowolnych xX, BX, to π jest rozkładem stacjonarnym. W istocie, wystarczy przejść do granicy w równości

Pn+1x,B=Pnx,dzPz,BπBπdzPz,B.

Co więcej, π jest jedynym rozkładem stacjonarnym.

Uwaga 10.2

W teorii łańcuchów Markowa rozważa się różne pojęcia zbieżności rozkładów. Zauważmy, że w powyżej przytoczonej tezie STE oraz w Uwadze 10.1 mamy do czynienia z silniejszym rodzajem zbieżności, niż poznana na rachunku prawdopodobieństwa zbieżność słaba (według rozkładu), oznaczana d.

10.2.2. Twierdzenia graniczne dla łańcuchów Markowa

Naszkicujemy podstawowe twierdzenia graniczne dla łańcuchów Markowa. Dokładniejsze sformułowania i dowody pojawią się w następnym rozdziale i będą ograniczone do przypadku skończonej przestrzeni X. Bardziej dociekliwych Czytelników muszę odesłać do przeglądowych prac [20, 13].

Sformułujemy najpierw odpowiednik Mocnego Prawa Wielkich Liczb (PWL) dla łańcuchów Markowa. Rozważmy funkcję f:XR. Wartość oczekiwana funkcji f względem rozkładu π jest określona jako całka

Eπf=Xfxπdx.

Jeżeli rozkład π ma gęstość p względem miary Lebesgue'a to jest to ,,zwyczajna całka”,

Eπf=Xfxpxdx.

W przypadku dyskretnej przestrzeni X jest to suma

Eπf=xXfxπx.

Jeśli załóżmy π jest rozkładem stacjonarnym łańcucha Markowa Xn, to możemy oczekiwać, że zachodzi zbieżność średnich do granicznej wartości oczekiwanej,

1ni=0n-1fXiEπfn (10.2)

z prawdopodobieństwem 1. W istocie, można udowodnić (10.2) przy pewnych dodatkowych założeniach. Mówimy wtedy, że zachodzi PWL lub Mocne Twierdzenie Ergodyczne. Ze względu na zastosowania MCMC, wymagamy aby (10.2) zachodziło dla dowolnego rozkładu początkowego ξ (a nie dla ξ=π, czyli dla łańcucha stacjonarnego). Jedną z wersji PWL dla łańcuchów Markowa przedstawimy, wraz z pięknym i prostym dowodem, w Rozdziale 14 rozdziale (Twierdzenie 14.3).

Centralne Twierdzenie Graniczne (CTG) dla łańcuchów Markowa ma tezę następującej postaci. Dla dowolnego rozkładu początkowego ξ zachodzi zbieżność według rozkładu:

1ni=0n-1fXi-EπfN0,σas2fn. (10.3)

Liczba σas2f, zwana asymptotyczną wariancją, nie zależy od rozkładu początkowego ξ, zależy zaś od macierzy przejścia P i funkcji f. Ponadto można udowodnić następujący fakt: dla dowolnego rozkładu początkowego ξ,

1nVarξi=0n-1fXiσas2f. (10.4)

Przy pewnych dodatkowych założeniach, asymptotyczną wariancję można wyrazić w terminach ,,stacjonarnych kowariancji” jak następuje. Mamy

σas2f=VarπfX0+2n=1CovπfX0,fXn, (10.5)

gdzie Varπ i Covπ oznaczają, oczywiście, wariancję i kowariancję obliczoną przy założeniu, że łańcuch jest stacjonarny. Niech

σ2f=VarπfX0;σ2fρnf=CovπfX0,fXn,

Przyjmijmy jeszcze, że ρnf=ρ-nf. To określenie jest naturalne bo łańcuch stacjonarny można ,,przedłużyć wstecz”. Wzór (10.5) można przepisać tak:

σas2f=σ2f1+2n=1ρnf=σ2fn=-ρnf.

Później pojawi się kilka innych wzorów na asymptotyczną wariancję.

W tym miejscu chcę podkreślić różnicę między stacjonarną wariancją σ2f=Varπf=VarπfXn i asymptotyczną wariancją σas2f. W większości zastosowań kowariancje we wzorze (10.5) są dodatnie (zmienne losowe fX0 i fXk są dodatnio skorelowane). W rezultacie σas2f jest dużo większa od σ2f. To jest cena, którą płacimy za używanie łańcucha Markowa zamiast ciągu zmiennych niezależnych, jak w Rozdziale 8.

Zauważmy, że algorytmy Monte Carlo przeważnie mają za zadanie obliczyć pewną wartość oczekiwaną, a więc wielkość postaci θ=Eπf. Jeśli potrafimy generować łańcuch Markowa zbieżny do π, to naturalnym estymatorem Eπf jest

θn=1ni=0n-1fXi.

Możemy tezy PWL oraz CTG zapisać w skrócie tak:

θnp.n.θ(n),n(θn-θ)dN(0,σas2(f)),(n).

PWL gwarantuje zgodność estymatora, a więc w pewnym sensie poprawność metody. Jest to, rzecz jasna, zaledwie wstęp do dokładniejszej analizy algorytmu. Zauważmy, że CTG może służyć do budowania asymptotycznych przedziałów ufności dla estymowanej wielkości θ: jeśli przyjmiemy poziom ufności 1-α i dobierzemy odpowiedni kwantyl z rozkładu normalnego, to

limnPθn-θzσasfn=Φz-Φ-z=1-α.

Oczywiście, Φz oznacza to dystrybuantę rozkładu N0,1 i Φz=1-α/2. Potrzebne jest jeszcze oszacowanie asymptotycznej wariancji σas2f, co nie jest wcale łatwe. Co więcej, CTG nie daje żadnej informacji o tym, dla jakich n przybliżenie rozkładem normalnym jest rozsądne.

Graniczne zachowanie wariancji estymatora θn wyjaśnia wzór (10.4). Uzupełnijmy to (pomijając chwilowo uzasadnienie) opisem granicznego zachowania obciążenia: przy n,

Varξθn=1nσas2f+o1n,Eξθn-θ=O1n.

Oczywiście, naturalną miarą jakości estymatora jest błąd średniokwadratowy (BŚK). Ponieważ BŚK jest sumą wariancji i kwadratu obciążenia to, przynajmniej w granicy dla n, wariancja ma dominujący wpływ, zaś obciążenie staje się zaniedbywalne:

Eξθn-θ2=1nσas2f+o1n. (10.6)

Powtóżmy jednak zastrzeżenie dotyczące wszystkich wyników zawartych w tym podrozdziale, Wzór (10.6) tylko sugeruje pewne przybliżenie interesującej nas wielkości.

Sławne i ważne twierdzenia graniczne sformułowane w tym podrozdziale nie są, niestety, całkowicie zadowalającym narzędziem analizy algorytmów Monte Carlo. Algorytmy wykorzystujące łańcuchy Markowa są użyteczne wtedy, gdy osiągają wystarczającą dokładność dla liczby kroków n znikomo małej w porównaniu z rozmiarem przestrzeni stanów. W przeciwnym przypadku można po prostu deterministycznie ,,przejrzeć wszystkie stany” i dokładnie obliczyć interesującą nas wielkość.

Niemniej, twierdzenia graniczne są interesujące z jakościowego punktu widzenia. Ponadto, ważne dla nas oszacowania dotyczące zachowania łańcucha w skończonym czasie można porównać z wielkościami granicznymi, aby ocenić ich jakość.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.