Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo 19 stycznia 2016 Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Przybliżone obliczanie całki oznaczonej Rozważmy całkowalną funkcję f : [0, 1] → R. Chcemy znaleźć przybliżoną wartość liczbową całki Z 1 f (x) dx. 0 Jeden ze sposobów może wyglądać następująco. Niech U1 , U2 , U3 , . . . będzie ciągiem niezależnych zmiennych losowych o jednakowym rozkładzie U(0, 1) (jednostajnym na odcinku [0, 1]). Rozważmy ciąg średnich f (U1 ) + . . . + f (Un ) . n Z mocnego prawa wielkich liczb wynika, że f (U1 ) + . . . + f (Un ) −→ Ef (U1 ), P - prawie wszędzie. n R +∞ R Zauważmy, że Ef (U1 ) = −∞ f (u)1I [0,1] dx = 01 f (x) dx. Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Przybliżone obliczanie całki oznaczonej Wynika stąd, że wartości średnich są dla dużych n przybliżeniem poszukiwanej wartości całki. Oczywiście zawsze pozostaje otwarte pytanie, jak duże należy wybrać n, aby uzyskać odpowiednią dokładność przybliżenia. W powyższym przykładzie dużo lepsze wyniki dają deterministyczne metody numeryczne, dobrane odpowiednio do stopnia regularności funkcji f . Tak już nie jest w przypadku całkowania funkcji k zmiennych, k ­ 10, gdzie stopień złożoności obliczeniowej gwałtownie rośnie. Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Prosta metoda Monte Carlo Twierdzenie Niech f : [0, 1]k → IR 1 będzie całkowalna. Niech U1 , . . . , Uk , Uk+1 , . . . , U2k , U2k+1 , . . . , U3k , U3k+1 , . . . , Unk , . . . , będą niezależnymi zmiennymi losowymi o jednakowym rozkładzie U(0, 1). Wówczas f (U1 , . . . , Uk ) + f (Uk+1 , . . . , U2k ) + . . . + f (U(n−1)k+1 , . . . , Unk ) Zn −→ [0,1]k f (x̄) d x̄ P-prawie wszędzie. W powyższym wzorze Z [0,1]k f (x̄) d x̄ = Z 1 0 dx1 Z 1 0 dx2 . . . Prawdopodobieństwo i statystyka Z 1 0 dxk f (x1 , x2 , . . . , xk ). Wykład XIV: Metody Monte Carlo Uwagi i komentarze W praktyce metod Monte Carlo do obliczeń używany jest ciąg liczb u1 , u2 , . . . , un , . . . uzyskany z generatora liczb losowych. W większości przypadków generator liczb losowych pracuje na podstawie deterministycznego algorytmu, a ciąg u1 , u2 , . . . , un , . . . tylko naśladuje realizację X1 (ω), X2 (ω), . . . , Xn (ω), . . . ciągu niezależnych zmiennych losowych o jednakowych rozkładach. Nie wszystkie generatory liczb losowych są w tym naśladownictwie dostatecznie dobre! Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Inny problem Przypuśćmy, że rozkład ν zmiennej losowej X jest znany, ale nie potrafimy znaleźć na drodze analitycznej Ef (X ) dla pewnej funkcji f . Symulujemy więc ciąg X1 , X2 , . . . , niezależnych zmiennych losowych o rozkładzie ν i szukamy granicy dla f (X1 ) + f (X2 ) + . . . + f (Xn ) , n która równa się Ef (X1 ) z prawa wielkich liczb. Na przykład chcemy symulować funkcjonowanie modelu systemu kolejkowego. Aby ocenić pewne charakterystyki liczbowe systemu musimy dysponować „strumieniem danych” o zadanym rozkładzie. Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Symulacja rozkładu jednostajnego Niech F (x) = 1 − e −x , x > 0 (rozkład wykładniczy). To jest funkcja ciągła i ściśle rosnąca na IR + . Stąd istnieje funkcja odwrotna F −1 : [0, 1) → IR + . Ze związku F F −1 (t) = t otrzymujemy 1 − t = e −F −1 (t) , a więc F −1 (t) = − log(1 − t). Znajdziemy rozkład funkcji F −1 traktowanej jako zmienna losowa na standardowej przestrzeni probabilistycznej [0, 1], B[0,1) , ` . Mamy o n o {t ∈ [0, 1) ; F −1 (t) ¬ x = t ∈ [0, 1) ; t ¬ F (x) n o ` t ∈ [0, 1) ; F −1 (t) ¬ x = F (x), x > 0. Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Symulacja rozkładu jednostajnego Wynika stąd, że jeśli U ∼ U(0, 1), to F −1 (U) = − log(1 − U) ma rozkład wykładniczy. Zauważmy, że log(1 − U) ∼ log(U), a więc − log U ma również rozkład wykładniczy. Twierdzenie Jeśli U1 , U2 , . . . jest ciągiem zmiennych losowych z generatora U(0, 1), to − log U1 , − log U2 , − log U3, . . . jest ciągiem zmiennych losowych z generatora rozkładu Ex(1). Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Metoda odwrócenia dystrybuanty Twierdzenie Jeśli dystrybuanta F : IR 1 → [0, 1] jest ściśle rosnąca i ciągła na IR 1 , to ciąg F −1 (U1 ), F −1 (U2 ), . . . pochodzi z generatora F . F −1 (U) jest zmienna losową o dystrybuancie F , pod warunkiem, że F jest ściśle rosnąca i ciagła na odcinku (F∗ , F ∗ ), gdzie F∗ = inf{x ∈ IR ∗1 ; F (x) > 0}, F ∗ = sup{x ∈ IR 1 ; F (x) < 1}. Używając tej metody, łatwo można symulować zmienne losowe o rozkładzie Pareto lub logistycznym. Nie istnieje zwarta formuła dla funkcji odwrotnej do Φ (dystrybuanty standardowego rozkładu normalnego). W tym przypadku dobre wyniki daje aproksymacja funkcjami wymiernymi (ilorazami wielomianów). Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Metoda odwrócenia dystrybuanty Twierdzenie Niech X ma rozkład o dystrybuancie F . Definiujemy lewostronnie ciągłą odwrotną do F wzorem F ← (u) = inf{x ; F (x) ­ u}. Jeżeli U1 , U2 , U3 , . . . jest ciągiem zmiennych z generatora rozkładu U(0, 1), to F ← (U1 ), F ← (U2 ), F ← (U3 ), . . . jest ciągiem z generatora rozkładu o dystrybuancie F . Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Symulacja rozkładów dyskretnych Przykład Niech X ma rozkład dyskretny skończony, tzn. istnieją liczby x1 < x2 < . . . < xm oraz pi > 0, xi ∈ IR 1 , i = 1, 2, . . . , m, P takie, że m i = 1, 2, . . . , m. i=1 pi = 1 i P X = xi = pi , Kładąc x0 = −∞, xm+1 = +∞, mamy X F (x) = pi = k X pi , jeśli xk ¬ x < xk+1 , i=1 {i ; xi ¬x} F ← (u) = m−1 X xk+1 1I Ak+1 (u), k=0 Pk gdzie Ak+1 = ( i=1 pi , Pk+1 i=1 pi ]. Powyższa metoda jest „naiwna” w tym sensie, że jeśli m jest wielkie (np. rzędu 10100 ), to jest niewykonalna. Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Metody specjalne Przykład: Symulacja rozkładu geometrycznego Niech X ∼ Ex(λ). Wtedy zmienna losowa [X ] przyjmuje wartości całkowite i dla k = 0, 1, 2, . . . mamy: P [X ] = k = P k ¬X <k +1 = FX (k + 1) − FX (k) = 1 − e −λ(k+1) − 1 − e −λk = 1 − e −λ e −λk = (1 − p)k p, gdy położymy p = 1 − e −λ . Stąd [X ] + 1 ∼ Ge(p). Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Transformacja Boxa-Mullera Przykład: Metoda Boxa-Mullera Generujemy niezależnie U, V o rozkładzie jednostajnym U(0, 1). Wtedy wektor (X , Y ), gdzie √ X = −2 ln U cos 2πV , √ Y = −2 ln U sin 2πV , ma rozkład łączny N(0, I2 ). Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Metoda eliminacji Johna von Neumanna Niech f będzie gęstością rozkładu, który chcemy symulować. Zakładamy, że f : [a, b] → IR + . i f (x) ¬ C , x ∈ n [a, b]. o We set B = (x, u) ∈ [a, b] × [0, C ] ; u ¬ f (x) . Algorytm: Metoda eliminacji 1 Generuj (X1 , U1 ) ∼ U(a, b) × U(0, C ) 2 Jeśli (X1 , U1 ) ∈ B, połóż X = X1 . 3 W przeciwnym przypadku generuj niezależnie nowa parę (X2 , U2 ) ∼ U(a, b) × U(0, C ). 4 Jeśli (X2 , U2 ) ∈ B, połóż X = X2 . 5 Jeśli nie, powtarzaj procedurę aż do skutku. Rozkład wygenerowanej zmiennej losowej X ma gęstość f . Rzeczywiście: Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo Metoda eliminacji Johna von Neumanna P X ¬y = = ∞ X k=1 ∞ X P (X1 , U1 ) ∈ / B, . . . , (Xk−1 , Uk−1 ) ∈ / B, (Xk , Uk ) ∈ P (X1 , U1 ) ∈ /B k−1 P (X1 , U1 ) ∈ B, X1 ¬ y k=1 ∞ X = P (X1 , U1 ) ∈ B, X1 ¬ y P (X1 , U1 ) ∈ /B k−1 k=1 = P (X1 , U1 ) ∈ B, X1 ¬ y = P (X1 , U1 ) ∈ B, X1 ¬ y P (X1 , U1 ) ∈ B 1 1 − P (X1 , U1 ) ∈ /B = P X1 ¬ y (X1 , U1 ) ∈ B = Prawdopodobieństwo i statystyka Z y f (x) dx. a Wykład XIV: Metody Monte Carlo Metoda eliminacji Johna von Neumanna Ważna własność Z prawdopodobieństwem jeden algorytm zakończy działanie w skończonym czasie. Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo