1 Całkowanie metodami Monte Carlo,,Od igły Buffona do metod redukcji wariancji Igła Buffona i metoda Monte Carlo typu,,orzeł reszka. Metoda podstawowa całkowania Monte Carlo. Klasyczne metody redukcji wariancji. Losowanie warstwowe. Metoda średniej ważonej. Metoda zmiennych kontrolnych. Metoda zmiennych antytetycznych. http://th-www.if.uj.edu.pl/ placzek/dydaktyka/mmc/
Igła Buffona i szacowanie liczby π 2 Igła Buffona (Buffon 1777, Laplace 186): Igł e o długości l rzucamy losowo na pozioma płaszczyzn e pokryta równoległymi liniami prostymi o odst epie L (L l). Jeżeli rzucona igła przetnie lini e, to liczymy,,trafienie, w przeciwnym wypadku liczymy,,chybienie. Przez zliczanie trafień i chybień wyznaczyć wartość liczby π. Eksperyment: L l x Teoria: x kat mi edzy igła a normalna do linii, x U(, π), funkcja g estości prawdopodobieństwa zmiennej x: ρ(x) = 1 π, p(x) prawdopodob.,,trafienia dla danej wartości x: n liczba trafień, liczba prób (,,trafienia +,,chybienia ) Prawo wielkich liczb (PWL): p(x) = l L cos x, Całkowite prawdopodobieństwo,,trafienia : ˆP = n P = E[p(x)] = P = 2l πl π p(x)ρ(x)dx = 2l πl. = ˆπ = 2l nl π.
Igła Buffona modelowanie Monte Carlo 3 Monte Carlo typu,,orzeł reszka Dzi eku symetrii p(x) bierzemy: < x < π 2. Algorytm: Generujemy równomiernie dwie zmienne: (x, y) : < x < π 2 i < y < 1. p(x) : trafienie, y > p(x) : chybienie. y 1.9.8.7.6.5.4.3.2.1 p(x) trafienie chybienie.2.4.6.8 1 1.2 1.4 Zdefiniujmy funkcj e wagowa: w(x, y) = Θ(p(x) y), gdzie: Θ(z) = dla z < i Θ(z) = 1 dla z (funkcja schodkowa). Funkcja g estości prawdopodobieństwa: (x, y) = ρ(x)g(y) = 2 π 1. Całkowite prawdopodobieństwo: P = E(w) = w(x, y) (x, y)dxdy = 2l πl ˆP = 1 Odchylenie standardowe estymatora Monte Carlo ˆP : σ = 1 P(1 P) ˆσ = 1 n 1 w(x i, y i ) = n. ( 1 n ). x
Igła Buffona Monte Carlo typu,,orzeł reszka 4 Szacowanie prawdopodobieństwa (całki) jako stosunku liczby trafień (sukcesów) do liczby prób losowych nazywa si e metoda,,orzeł reszka (,,sukces porażka ; ang. hit or miss ). Jaka jest oczekiwana dokładność po próbach? n liczba trafień spełnia rozkład dwumianowy (Bernoulliego). Rozkład dwumianowy: P(n) = ( ) P n (1 P) n, n n =, 1,...,, gdzie: P prawdopodobieństwo sukcesu, liczba prób. Wartość oczekiwana: E(n) = P, Wariancja: V (n) = P(1 P).,,Igła Buffona wartość oczekiwana i wariancja estymatora MC prawdopodobieństwa P : Ćw. A9: Pokazać powyższe. E( ˆP) = P, V ( ˆP) = P(1 P).
Efektywność metody,,orzeł reszka 5,,Igła Buffona : niech l = L (dla prostoty) Estymator MC liczby π i jego odchylenie standardowe (teoretyczne): Ćw. A1: Pokazać powyższe. ˆπ = 2 n, σ(ˆπ) = 1 π = σ orzeł-reszka ˆπ 2.374 To znaczy, że niepewność oszacowania liczby π jest: Te niedokładności sa bardzo duże! π 2 1. po 1 próbach:.2374 po 1 próbach:.237 po 1 próbach:.24 Czy możemy to poprawić? Ćw. 2.1: Wykonać komputerowe modelowanie problemu,,igły Buffona. Wyznaczać wartość liczby π metoda,,orzeł reszka i wyliczac jej teoretyczne oraz praktyczne odchylenie standardowe. Obserwować zbieżność wyników do dokładnej wartości dla rosnacej liczby prób.
Igła Buffona metoda podstawowa Monte Carlo 6 Podstawa: prawo wielkich liczb (PWL) 1 1 f(x i ) b a b a f(x) dx = E(f) Odchylenie standardowe (teoretyczne): σ = 1 [E(f2 ) E 2 (f)]. Zdefiniujmy: w(x) = p(x) = l L cos x i generujmy x równomiernie w przedziale (, π 2 ). a podstawie PWL mamy: P = w(x)ρ(x)dx = π/2 ( ) l 2 L cos x π dx = 2l πl Odchylenie standardowe estymatora MC liczby π dla l = L: σ Pˆπ 1.52 Ćw. A11: Pokazać. = 1 w(x i ). Metoda Monte Carlo szacowania całki w oparciu o prawo wielkich liczb nazywa si e metoda podstawowa Monte Carlo (ang. crude Monte Carlo). Metoda podstawowa Monte Carlo jest bardziej wydajna niż metoda,,orzeł reszka! Ale metoda,,orzeł reszka daje przypadki nieważone (tzn. ze stała waga = 1), podczas gdy metoda podstawowa daje przypadki ważone (tzn. ze zmienna waga)!
Twierdzenie: Metoda podstawowa a metoda,,orzeł reszka 7 Metoda podstawowa Monte Carlo nie jest nigdy mniej wydajna niż metoda,,orzeł reszka! Dowód: iech I = 1 f(x)dx i f(x) 1 (dla prostoty). Wariancja dla metody,,orzeł reszka : V (ÎOR) = 1 (I I2 ), [ 1 Wariancja dla metody podstawowej: V (ÎOR) V (ÎP) = 1 V (ÎP) = 1 ] [ I 1 f2 (x) dx = 1 f2 (x) dx I 2 ] 1 f(x)[1 f(x)] dx. (c.n.d.) V (ÎOR) V (ÎP) = tylko gdy f(x) lub f(x) 1, czyli dla funkcji schodkowej. Ćw. 2.2: Używajac metody orzeł reszka oraz metody podstawowej MC policzyć całki: Φ = Ψ = 1 φ(x) dx, φ(x) = 1 e x2 2 ; (Φ.341345, 2π ψ(x, y) dxdy, ψ(x, y) = 4 1 1 (x2 + y 2 ). x 2 +y 2 1 Wyznaczyć teoretyczne i praktyczne odchylenia standardowe dla obu tych całek. Porównać zbieżność obu metod Monte Carlo. 1, ) φ 2 (x)dx.118861,
Uogólnienie na wiele wymiarów 8 Metoda podstawowa przypadek ogólny iech x = (x 1, x 2,...,x m ) wektor w m-wymiarowej przestrzeni, tzn. x R m, Ω R m pewien obszar w m-wymiarowej przestrzeni, V M(Ω) obj etość tego obszaru. I = Estymator MC: Ω Ĵ = 1 f(x) dx = V Ω f(x) dx V = V Ω f(x) dp(x) = ozn. V J = V E(f). f(x (i) ), x (i) U(Ω), tzn. rozkład równomierny na Ω. Odchylenie standardowe: ˆσ(Ĵ) = 1 f 2 (x (i) ) 1 ( 1) Stad dla estymatora całki I mamy: [ 2 f(x )] (i). Î = V Ĵ, ˆσ(Î) = V ˆσ(Ĵ).
Uogólnienie na wiele wymiarów 9 Metoda,,orzeł reszka przypadek ogólny iech x = (x 1, x 2,...,x m ) wektor w m-wymiarowej przestrzeni, tzn. x R m, Ω R m pewien obszar w m-wymiarowej przestrzeni, V M(Ω) obj etość tego obszaru. I = Ω Oznaczamy: f(x) dx = Ω dx K = fmax dy Θ(f(x) y) = V f max Ω dx V gdzie: (x, y) U (Ω [, f max ]). Ω dx V fmax fmax dy f max Θ(f(x) y) = E(Θ), Losujemy (x, y) U (Ω [, f max ]) i sprawdzamy: y dy f max Θ(f(x) y), f(x) trafienie: waga = 1, > f(x) chybienie: waga =. iech: liczba prób, n liczba trafień estymator MC i jego odchylenie standardowe: ˆK = n, ˆσ( ˆK) 1 = ˆK(1 ˆK) = Î = f maxv ˆK, ˆσ(Î) = f maxv ˆσ( ˆK). 1
Klasyczne metody redukcji wariancji 1 iepewność obliczania całki metoda Monte Carlo: σ = 1 V (f). Ta niepewność może być zmniejszona przez zwi ekszanie, tzn. rozmiaru próby losowej bardzo powolna poprawa (zbieżność)! σ 1. Inny sposób zmniejszanie wariancji funkcji: V (f), σ V (f). (Por. Metoda,,orzeł reszka Metoda podstawowa) Dlatego ważne jest poszukiwanie metod redukcji wariancji! Poznamy cztery podstawowe klasyczne metody redukcji wariancji: 1) Losowanie warstwowe (ang. stratified sampling), 2) Medoda średniej ważonej (ang. importance sampling), 3) Medoda zmiennych kontrolnych (ang. control variates), 4) Medoda zmiennych antytetycznych (ang. antithetic variates).
Losowanie warstwowe 11 Intuicyjnie, duże niepewności całkowania metodami Monte Carlo sa spowodowane tym, że funkcja podcałkowa różni si e znacznie od rozkładu płaskiego duże fluktuacje wartości funkcji w oszacowaniu MC całki! Możliwe rozwiazanie: Sprawić by rozkład wartości funkcji wchodzacych do estymatora MC całki Losowanie warstwowe był bardziej równomierny. Oparte o fundamentalna własność całki Riemanna: I = 1 f(u) du = a f(u) du + 1 a f(u) du, < a < 1. Ogólny schemat: Obszar całkowania dzielimy na pewna liczb e podobszarów. W j-tym podobszarze, którego obj etość wynosi ω j losujemy n j punktów według rozkładu równomiernego. ast epnie tworzymy sumy cz eściowe wartości funkcji w wylosowanych punktach dla każdego podobszaru i te sumy dodajemy do siebie z wagami proporcjonalnymi do ω j i odwrotnie proporcjonalnymi do n j.
iech: a całka po j-tym podobszarze: Losowanie warstwowe szczegóły 12 I = I j = Ω f(x) dx, Ω = ω j f(x) dx = I = p j jednorodny rozkład w j-ym podobszarze: k dp j = dx ω j Całka I j jest obliczana w oparciu o metod e podstawow Î j = ω n j j f(x (i) j n ). j ω j, k I j. j=1 = I j = ω j ω j f(x) dp j. a MC jej estymator MC wynosi: Punkty w każdym podobszarze losowane sa niezależnie, zatem całkowity estymator MC wynosi: a wariancja: V (Î) = k j=1 Î = k Î j = j=1 k j=1 ω j n j n j f(x (i) j ), ω 2 j n j V j (f) jej estymator MC: ˆV ( Î) = gdzie V j (f) jest wariancja funkcji f w j-ym podobszarze. k j=1 ω 2 j n j ˆVj (f),
Równomierne warstwy 13 Ćw. A12: Pokazać, że estymator MC Î dla losowania warstwowego jest estymatorem nieobciażonym oraz udowodnić wzór na wariancj e teoretyczna V (Î) tego estymatora. Można pokazać, że podział na równomierne warstwy (ω j = ω l i n j = n l dla wszystkich j, l) nie powoduje zwi ekszenia wariancji i generalnie prowadzi do jej zmniejszenie, jeżeli tylko wartości oczekiwane funkcji sa różne w różnych warstwach. p. podział na dwie równe warstwy: ω 1 = ω 2 = 1 2 Ω, n 1 = n 2 = 1 2, gdzie: V (ÎP) V (ÎLW) = 1 ω 1 f(x) dx f(x) dx ω 2 2, Î P estymator MC całki dla metody podstawowej, a ÎLW estymator MC tej całki dla losowania warstwowego. Ćw. A13: Udowodnić powyższe. Podział na równomierne warstwy jest najbezpieczniejszym wyborem kiedy nie wiemy nic o funkcji podcałkowej!
Losowanie warstwowe dla problemu,,igły Buffona 14 Przyjmijmy l = L i wykonajmy podział na równomierne warstwy dla k = 5 podobszarów: 1.9.8.7.6.5.4.3.2.1 p(x) 1 2 3 4 5.2.4.6.8 1 1.2 1.4 x Mamy: ω j = Ω 5 = π 1 i n j = 5. Estymator MC prawdopodobieństwa trafienia: ˆP = 1 Ω 5 j=1 ω j n j /5 p(x (i) j ) = 1 p(x i ). Odchylenie standardowe estymatora MC liczby π: σ LW ˆπ.345 < σ Pˆπ 1.52. W powyższym podziale na równomierne warstwy generowaliśmy te same liczby punktów w każdym podpobszarze, niezależnie od ich wkładu do pełnej całki. To można poprawić albo przez generowanie liczby punktów proporcjonalnie do pól niebieskich prostokatów, albo przez podział obszaru całkowania na podobszary, dla których odpowiednie niebieskie prostokaty maja jednakowe pola. Ćw. 3.1: W oparciu o metod e losowania warstwowego policzyć całki Φ i Ψ, dzielac obszary całkowania na 5 warstw o równych obj etościach (odcinki dla Φ, współśrodkowe pierścienie dla Ψ). Obliczać praktyczne odchylenia standardowe i porównywać szybkość zbieżności tej metody oraz metody podstwowej.
Metoda średniej ważonej 15 Duża zmienność wartości funkcji f prowadzi do dużej niepewności oszacowania MC jej całki. Rachunki MC byłyby bardziej efektywne gdyby każdy punkt miał prawie t e sama wartość funkcji. Rozwiazanie: zamiana zmiennej(ych) całkowania: Schemat rachunku MC: f(x) dx f(x) g(x) dg(x), dg(x) gdzie g(x) = dx (i) Punkty generujemy według rozkładu G(x) zamiast równomiernie. (ii) Dla każdego punktu liczymy wag e: w(x) = f(x)/g(x), jakobian. g tzw. funkcja próbna. (iii) Obliczamy wartość oczekiwana ÊG(w) i wariancj e ˆV G (w) dla całej próby losowej. Jeżeli g(x) jest odpowiednio dobrana, to wariancja wagi w = f/g może być znaczaco mniejsza niż wariancja funkcji f! (możemy mieć nawet: w = const ˆV G (w) =!). Można otrzymać przypadki nieważone przez zastosowanie metody,,orzeł reszka dla w(x). Wymagania: Funkcja g(x) powinna być nieujemna na całym obszarze i całkowalna analitycznie. Dystrybuanta G(x) odwracalna analitycznie (niewielka liczba znanych funkcji) lub powinien być dost epny generator rozkładu g. Możliwe jest też numeryczne odwracanie funkcji, ale zwykle jest ono wolniejsze, a także może być mniej dokładne i mniej stabilne.
Metoda średniej ważonej dla problemu,,igły Buffona 16 iech 1.2 1.8.6.4.2 g(x) l = L, dla prostoty. p(x) w(x).2.4.6.8 1 1.2 1.4 x Weźmy: g(x) = 4 π ( 1 2 π x). G(x) = 4 π x( 1 x π) odwracalna analitycznie. Funkcja wagowa: w(x) = p(x) g(x) = π 4 cos x π 1 2x/π i 4 w π2 8. Odchylenie standardowe estymatora MC liczby π: σśw ˆπ.46 < σ Pˆπ 1.52. Możemy nawet uzyskać lepszy wynik przez wybór: g(x) = cos x. Wówczas: G(x) = sin x odwracalna analitycznie. Funkcja wagowa: w(x) 1!!! To znaczy, że możemy obliczyć nasza całk e dokładnie, bo wariancja: V (w) =!!! Metoda średniej ważonej jest jedna z najbardziej podstawowych i użytecznych technik Monte Carlo, umożliwiajac a osiagni ecie znacznej redukcji wariancji. Jest to jedyna znana metoda usuwania nieskończonych osobliwości funkcji f przez wybór funkcji próbnej g z analogicznymi osobliwościami w tych samych miejscach.
Metoda średniej ważonej wady 17 Wady metody średniej ważonej: Klasa funkcji, które sa całkowalne i odwracalne analitycznie jest mała (głównie funkcje trygonometryczne, wykładnicze, wielomiany bardzo niskiego stopnia oraz ich kombinacje). Liczenie całek wielowymiarowych jest, poza najprostszymi funkcjami, bardzo skomplikowane najcz eściej jest sprowadzane do odpowiednich kombinacji całkowań jednowymiarowych. Może być niestabilna, np. kiedy funkcja g staje si e bardzo mała, to wariancja V (f/g) może stać si e bardzo duża! (o ile funkcja f nie jest odpowiednio mała w tych samych obszarach). iebezpieczeństwo: g zeruje si e w obszarach, gdzie f = V (f/g) =! Ćw. 3.2: Korzystajac z metody średniej ważonej policzyć całk e Φ. Jako funkcji próbnych użyć funkcji liniowych. Zastosować dwa sposoby normalizacji funkcji próbnych: addytywny i multiplikatywny. Obliczać praktyczne odchylenia standardowe i porównywać szybkość zbieżności tej metody oraz metod poprzednich.
Metoda zmiennych kontrolnych 18 Podobna do metody średniej ważonej, z tym że funkcja próbna g jest tu odejmowana od f. Podstawa matematyczna liniowość całki: f(x) dx = [f(x) g(x)] dx + g(x) dx. Funkcja g musi być dobrana tak, że całka g(x)dx jest znana, najlepiej analitycznie. iepewność rachunku MC pochodzi tylko od obliczania całki: [f(x) g(x)]dx. Wariancja: V (f g) g f. Zalety: Bardziej stabilna od metody średniej ważonej, ponieważ zera funkcji g nie powoduja osobliwości dla (f g). Całka funkcji próbnej g nie musi być odwracalna analitycznie. Wady: adaje si e tylko do liczenia całek, nie można jej stosować do generowania rozkładu f(x). Ćw. 3.3: W oparciu o metod e zmiennych kontrolnych policzyć całk e Φ. Jako funkcji próbnych użyć funkcji liniowych, jak ćwiczeniu dla metody średniej ważonej. Obliczać praktyczne odchylenia standardowe i porównywać szybkość zbieżności tej metody oraz metod poprzednich.
Metoda zmiennych antytetycznych 19 Zwykle w rachunkach MC używa si e liczb (punktów) losowych, które sa niezależne (przynajmniej w zasadzie!). Metoda zmiennych antytetycznych celowo używa punktów skorelowanych, wykorzystujac fakt, że te korelacje moga być ujemne. iech: f, f pewne funkcje, Wariancja: V (f + f ) = V (f ) + V (f ) + 2 Cov(f, f ). Jeżeli Cov(f, f ) < = V (f + f ) < V (f ) + V (f ). To znaczy, jeżeli da si e tak dobrać wybór punktów, że f i f b ed a ujemnie skorelowane, to można osiagn ać znaczna redukcj e wariancji! Wady: Wymaga to jednak znajomości funkcji f i nie jest łatwo podać ogólne metody uzyskiwania takich ujemnych korelacji. Trudno ja uogólnić na całki wielowymiarowe (znane sa rozwiazania tylko dla pewnych szczególnych funkcji). ie nadaje si e do generowania rozkładów f(x).
Metoda zmiennych antytetycznych w praktyce 2 PRZYKŁAD: iech f(x) monotonicznie rosnaca funkcja zmiennej x [, 1], f(x) i f(1 x) ujemnie skorelowane! (bo jeżeli f(x) ր to f(1 x) ց i odwrotnie.) Weźmy f(x) = 1 2 iech: I = 1 2 = 1 [f(x) + f(1 x)]. [ 1 f(x)dx + 1 I 1 f(x)dx = E( f) f(x)dx, ] f(1 x)dx = Î = 1 2 Uzyskujemy redukcj e wariancji: V ( f) < V (f). 1 1 [f(x) + f(1 x)] dx 2 [f(x i ) + f(1 x i )]. Ćw. 3.4: Korzystajac z metody zmiennych antytetycznych policzyć całk e Φ i jej praktyczne odchylenie standardowe. Jako estymatora funkcji użyć: φ(x) = 1 2 [φ(x) + φ(1 x)]. Porównać efektywność tej metody oraz metod poprzednich.