Algorytmy MCMC i ich zastosowania statystyczne Wojciech Niemiro Uniwersytet Mikołaja Kopernika, Toruń i Uniwersytet Warszawski Statystyka Matematyczna Wisła, grudzień 2010
Wykład 2 1 Podstawowe idee symulacji stochastycznych Generowanie zmiennych losowych Eliminacja/akceptacja Losowanie istotne (ważone) 2 Łańcuchy Markowa Definicja, oznaczenia Rozkład stacjonarny Odwracalność Twierdzenia graniczne 3 Algorytmy MCMC Algorytm Metropolisa-Hastingsa (MH) Próbnik Gibbsa (PG)
Generowanie zmiennych losowych Uwaga: Odtad rozważana będzie jedynie losowość Monte Carlo, pochodzaca z generatorów komputerowych. W tym sensie używane będa litery P i E. Obserwacje realnych zmiennych losowych, wartości statystyk itp. będa traktowane jako ustalone liczby. Założenie: Możemy produkować dowolnie wiele niezależnych zmiennych losowych o jednakowym rozkładzie jednostajnym Unif (0, 1), powiedzmy U 1,..., U n,....
Metoda przekształceń. Niech F będzie dystrybuanta jednowymiarowego rozkładu prawdopodobieństwa. TWIERDZENIE Jeśli U Unif (0, 1) i X = F 1 (U) to X F. Dowód. P(X x) = P(F 1 (U) x) = P(U F (x)) = F (x). Nieco ogólniej: dla dowolnego rozkładu (niekoniecznie jednowymiarowego), możemy wyprodukować zmienna losowa X o tym rozkładzie jako X = ψ(u). W istocie, U zazwyczaj jest wektorem (U 1,..., U s ), przeważnie losowego wymiaru. Ale to wszystko jedno... (teoretycznie).
Metoda przekształceń. Niech F będzie dystrybuanta jednowymiarowego rozkładu prawdopodobieństwa. TWIERDZENIE Jeśli U Unif (0, 1) i X = F 1 (U) to X F. Dowód. P(X x) = P(F 1 (U) x) = P(U F (x)) = F (x). Nieco ogólniej: dla dowolnego rozkładu (niekoniecznie jednowymiarowego), możemy wyprodukować zmienna losowa X o tym rozkładzie jako X = ψ(u). W istocie, U zazwyczaj jest wektorem (U 1,..., U s ), przeważnie losowego wymiaru. Ale to wszystko jedno... (teoretycznie).
Eliminacja/akceptacja Uwaga: Odtad, na ogół, rozkłady prawdopodobieństwa utożsamiamy z gęstościami. Napis p p oznacza, że p (x) = cp(x) dla pewnej stałej c, czyli znamy gęstość p z dokładnościa do stałej normujacej. Algorytm eliminacji/akceptacji: Zakładamy, że umiemy generować zmienne losowe o gęstości q, a chcielibyśmy otrzymać zmienna o gęstości p. Zakładamy, że p p, q q i p q. repeat Gen Y q Gen U Unif (0, 1) until U p (Y ) q (Y ) X := Y
Eliminacja/akceptacja Zakładamy, że p p, q q i p q. repeat Gen Y q Gen U Unif (0, 1) until U p (Y ) q (Y ) X := Y TWIERDZENIE Na wyjściu z tego algorytmu otrzymujemy X p. Dowód. Niech V = Uq (Y ). Punkt (Y, V ) ma rozkład jednostajny na podwykresie {(y, v) : 0 v q (y)}. Zatem po eliminacji, punkt (X, V ) ma rozkład jednostajny na podwykresie {(x, v) : 0 v p (x)}. Brzegowo, X p.
Losowanie istotne (ważone) Chcemy obliczyć całkę θ = X f (x)p(x)dx. Przypuśćmy, że umiemy losować z rozkładu o gęstości q. Losowanie istotne, wersja I: Niech X 1,..., X n będa niezależnymi zmiennymi losowymi o jednakowym rozkładzie q, ˆθ n = 1 n n W i f (X i ), (1) i=1 gdzie W i = w(x i ) = p(x i) q(x i ) traktujemy jako wagi wylosowanych punktów X i.
Losowanie istotne (ważone) TWIERDZENIE Estymator (1) jest nieobciażony, zgodny, asymptotycznie normalny. Dowód. Zauważmy, że p(x) θ = q(x) f (x)q(x)dx = E p(x) q q(x) f (X) = E qw(x)f (X), X gdzie w(x) = p(x)/q(x). Stad nieobciażoność. Zgodność wynika z PWL. Asymptotyczna normalność wynika z CTG.
Losowanie istotne (ważone) Załóżmy, że umiemy tylko obliczać iloraz w (x) w(x) ale nie znamy stałej normujacej. Losowanie istotne, wersja II: gdzie TWIERDZENIE n i=1 ˆθ n = W i f (X i) n i=1 W i, (2) W i = w (X i ). Estymator (2) jest zgodny, asymptotycznie normalny. Dowód. Zauważmy, że ˆθ n = n 1 n i=1 W if (X i ) n 1 n i=1 W. i Licznik jest estymatorem (1). Mianownik 1 p.n.
Przykład: ENW metoda MC, przykład Geyera-Thompson Przykład losowania istotne, wersja I: Z (θ) = x = x [ ] exp θ T T (x) [ ] [ ] exp (θ θ ) T T (x) exp θ T T (x) [ ] exp (θ θ ) T T (x) p θ (x) x [ ] = E θ exp (θ θ ) T T (x).
Definicja (symulacyjna) Niech X będzie przestrzenia polska. Jak zwykle, U 0, U 1,..., U n,... Unif (0, 1), iid. DEFINICJA Łańcuch Markowa (jednorodny) jest to ciag zmiennych losowych X 0, X 1,..., X n,... o wartościach w X określony następujaco (IRF): X 0 = ψ(u 0 ) X n+1 = φ(x n, U n+1 ), dla pewnych funkcji ψ : [0, 1] X oraz φ : X [0, 1] X. Jadro przejścia: dla x X i A X mamy P(x, A) = P(X n+1 A X n = x) = P(φ(x, U) A). Rozkład poczatkowy: ξ(a) = P(X 0 A) = P(ψ(U) A).
Oznaczenia Zależność od rozkładu poczatkowego: P ξ, E ξ. Jeśli ξ = δ x to P x, E x. Operatory zwiazane z jadrem przejścia P: Jeśli ξ jest miara i f jest funkcja na X to: Pf (x) = P(x, dy)f (x) = E x f (X 1 ); ξp(a) = ξ(dx)p(x, A) = P ξ (X 1 A); ξf = ξ(dx)f (x). J adro przejścia w n krokach: P n (x, A) = P(x, dx1 )P(x 1, dx 2 ) P(x n 1, A) = P x (X n A).
Rozkład stacjonarny Inaczej zwany rozkładem równowagi. DEFINICJA Rozkład prawdopodobieństwa π jest stacjonarny dla jadra P jeśli πp = π. Uwaga: Jeśli X 0 π to łańcuch X n jest procesem ściśle stacjonarnym. DEFINICJA Łańcuch o j adrze P jest π-nieprzywiedlny, jeśli dla każdego A X takiego, że π(a) > 0 i dla każdego x X istnieje n = n(x, A) takie, że P n (x, A) > 0.
Odwracalność DEFINICJA Łańcuch o jadrze P jest odwracalny względem rozkładu prawdopodobieństwa π, jeśli dla dowolnych A, B X mamy π(dx)p(x, B) = π(dy)p(y, A). W skrócie, A TWIERDZENIE π(dx)p(x, dy) = π(dy)p(y, dx). Jeśli π(dx)p(x, dy) = π(dy)p(y, dx) to πp = P. Dowód. πp(b) = X π(dx)p(x, B) = B π(dy)p(y, X ) = B π(dy) = π(b). B
(Słabe) Twierdzenie Ergodyczne, PWL, CTG Założenia: Łańcuch X 0,..., X n,... ma rozkład stacjonarny π i jest π-nieprzywiedlny... i dodatkowe warunki. (Słabe) Twierdzenie Ergodyczne P(X n ) π( ) (n ), w odpowiednim sensie. Prawo Wielkich Liczb, PWL 1 n n f (X i ) π(f ) (n ), prawie na pewno. i=1 Centralne Twierdzenie Graniczne, CTG 1 n n [f (X i ) π(f )] N(0, σas(f 2 )) (n ), według rozkładu. i=1
Algorytm Metropolisa-Hastingsa (MH) Rozkład docelowy: π(dx) = π(x)dx. Rozkład propozycji : q(x, dy) = q(x, y)dy. Reguła akceptacji: a(x, y) = π(y)q(y, x) π(x)q(x, y) 1. X n = x y q(x, ) a(x,y) 1 a(x,y) X n+1 = y X n+1 = x
Algorytm Metropolisa-Hastingsa (MH) Bładzenie losowe zgodnie z jadrem przejścia q, modyfikowane tak aby zmierzało do π function KrokMH(x) Gen y q(x, ) { propozycja } Gen U Unif (0, 1) if U > a(x, y) then y := x { ruch odrzucony z pr-stwem 1 a(x, y) } end if return y Gen X 0 π 0 { start } for n := 1 to do X n := KrokMH(X n 1 ) { krok } end for
Algorytm Metropolisa-Hastingsa (MH) Jadro przejścia M-H. P(x, B) = dy q(x, y)a(x, y)+i(x B) B X dy q(x, y)[1 a(x, y)]. Dla przestrzeń skończonej, prawdopodobieństwa przejścia M-H, dla x y: P(x, y) = q(x, y)a(x, y).
Algorytm Metropolisa-Hastingsa (MH) TWIERDZENIE Jadro przejścia MH jest odwracalne względem π. Dowód. Przestrzeń skończona. Niech (bez straty ogólności) Wtedy a(x, y) = π(y)q(y, x) 1, a(y, x) = 1. π(x)q(x, y) π(x)p(x, y) = π(x)q(x, y)a(x, y) π(y)q(y, x) = π(x)q(x, y) π(x)q(x, y) = π(y)q(y, x) = π(y)p(y, x) bo a(y, x) = 1!
Algorytm Metropolisa-Hastingsa (MH) Uwagi historyczne: Metropolis: 1953: q(x, y) = q(y, x), a(x, y) = π(y) π(x) 1. Łańcuch propozycji ma rozkład stacjonarny jednostajny. Hastings, 1970. Uwaga ważna: Algorytm MH wymaga znajomości gęstość π tylko z dokładnościa do proporcjonalności, bez stałej normujacej.
Próbnik Gibbsa (PG) Gibbs Sampler (GS). Przestrzeń produktowa: X = d i=1 X i. Oznaczenia: Jeśli X x = (x i ) d i=1 to x i = (x j ) j i : wektor z pominięta i-ta współrzędna. Rozkład docelowy (gęstość): π(dx) = π(x)dx. Pełne rozkłady warunkowe (full conditionals): π(x i x i ) = π(x) π(x i ) Mały krok PG: zmiana i-tej współrzędnej: x = (x 1,..., x i,..., x d ) Gen y i π( x i ) Y = (x 1,..., y i,..., x d ).
Próbnik Gibbsa (PG) Prawdopodobieństwo przejścia małego kroku PG (w przypadku przestrzeni skończonej): TWIERDZENIE Mały krok PG jest π-odwracalny. Dowód. Niech x i = y i. (symetria). P i (x, y) = π(y i x i )I(x i = y i ). π(x)p i (x, y) = π(x)π(y i x i ) = π(x i )π(x i x i )π(y i x i ) = π(y i )π(x i x i )π(y i y i ) = π(y)p i (y, x).
Próbnik Gibbsa (PG) Pełny krok PG, 2 wersje Losowy wybór współrzędnych, LosPG. Systematyczny wybór współrzędnych, SystemPG. Losowy PG: Wybieramy współrzędna i-ta z pr-stwem c(i). function LosPG(x) Gen i c( ) Gen y i := π( x i ) { zmieniamy i-ta współrzędna } y := (x i, y i ) return y Jadro przejścia w dużym kroku LosPG P = d c(i)p i, i=1 LosPG jest odwracalny.
Próbnik Gibbsa (PG) Systematyczny PG: Współrzędne zmieniane w porzadku cyklicznym. function SystemPG(x) Gen y 1 π( x 2,..., x d ) Gen y 2 π( y 1, x 3,..., x d ) Gen y d π( y 1,..., y d 1 ) return y Jadro przejścia w dużym kroku SystemPG. P = P 1 P 2 P d, SystemPG nie jest odwracalny. Ale jest π-stacjonarny, bo πp 1 P 2 P d = π. Problemy: Dobrać c( ) w LosPG. Dobrać kolejność w SystemPG. Zmieniać bloki współrzędnych na raz. W praktyce SystemPG preferowany ale trudniejszy do analizy!
Próbnik Gibbsa, trajektoria kappa 0.5 1.0 1.5 2.0 1.5 1.0 0.5 0.0 mu
Próbnik Gibbsa, chmurka kappa 0.0 0.5 1.0 1.5 2.0 2.5 3 2 1 0 1 mu