Całkowanie metodą Monte Carlo
Plan wykładu:
1. Podstawowa metoda Monte Carlo
2. Metody MC o zwiększonej efektywności a) losowania ważonego
b) zmiennej kontrolnej c) losowania warstwowego d) obniżania krotności całki
Funkcja gęstości prawdopodobieństwa zmiennej losowej x.
Funkcja ta ma następujące własności:
Przy jej pomocy można określić
prawdopodobieństwo zdarzenia że zmienna x przyjmie wartość pomiędzy x a x+dx:
Dla danej funkcji gęstości prawdopodobieństwa można określić dystrybuantę rozkładu
która jest funkcją prawostronnie ciągłą i niemalejącą.
^
x2[a;b]
f (x) ¸ 0
Z
b af (x)dx = 1
P fx · x
i· x + dxg = f (x)dx
P fx
1· x · x
2g = Z
ba
f (x)dx = F (x
2) ¡ F (x
1)
Przykład. Rozkład normalny (Gaussa)
f (x) = 1 2 p
¼ exp µ
¡ (x ¡ ¹)
22¾
2¶
F (x) = Z
x¡1
f (x
0)dx
0- wartość oczekiwana zmiennej losowej x
- wariancja zmiennej losowej x
- odchylenie standardowe
¾
2(x) = hx
2i ¡ hxi
2¾
2(x) = h[x ¡ hxi]
2i Z
ba
[x ¡ hxi]
2dx
= Z
b a£ x
2¡ 2xhxi + hxi
2¤
= Z
b ax
2f (x)dx ¡ 2hxi Z
ba
xf (x)dx
+ hxi Z
ba
f (x)dx
Wartość oczekiwana µ oraz odchylenie standardowe σ są parametrami funkcji gęstości prawdopodobieństwa f(x).
W podobny sposób możemy określić wartość
oczekiwaną funkcji, której argumentem jest zmienna losowa x o funkcji gęstości prawdopodobieństwa f(x)
i analogicznie jej wariancję
oraz odchylenie standardowe
hxi = E(x) = ¹(x) = Z
ba
xf (x)dx
¾
2(z) = hz
2i ¡ hzi
2¾(x) = p
hx
2i ¡ hxi
2¾(z) = p
hz
2i ¡ hzi
2hzi = ¹(z) =
Z
1¡1
zg(z)dz = Z
ba
z(x)f (x)dx
Jeśli ciąg liczb
stanowią zmienne losowe o funkcji gęstości prawdopodobieństwa f(x) to estymatorem wartości oczekiwanej µ(z) zmiennej losowej z(xi) jest średnia z próbki
z wariancją
Uwaga:
(N-1) w mianowniku wynika z faktu że średnią wyliczamy z N wartości z(xi) – znając jej wartość możemy wyliczyć
dowolną z(xi) dysponując N-1 pozostałymi wartościami. Liczba stopni swobody
zmniejsza się o 1. W praktyce, dla dużych N jedynkę można pominąć.
fx
ig = fx
ijn = 1; 2; : : : ; Ng
¹
z = 1 N
X
N i=1z(x
i)
s
2(z) = 1 N ¡ 1
X
N i=1[z(x
i) ¡ ¹ z]
2s
2(z) = 1 N ¡ 1
X
N i=1(z
i¡ ¹ z)
2= 1
N ¡ 1
µ X
Ni=1
z
i2¡ 1 N
µ X
Ni=1
z
i¶
2¶
s = p
s
2(z)
Miarą „rozrzutu” zmiennych losowych zi wokół wartości średniej jest odchylenie standardowe
Ale też jest zmienną losową, ponieważ konstruujemy ją ze zmiennych zi (każda z nich ma identyczną wariancję) . Jakie jest odchylenie standardowe średniej?
Do jego estymacji możemy użyć s(z)
¹ z
¾
2(¹ z) = ¾
2Ã 1 N
X
N i=1z
i!
= 1 N
2X
N i=1¾
2(z) = 1
N ¾
2(z)
s(¹ z) = s(z)
p N
5 Podstawowa metoda Monte Carlo
Interesuje nas wyznaczenie (a raczej estymacja) wartości oczekiwanej zmiennej losowej
która jest funkcją wektora zmiennych (losowych):
Rozkład prawdopodobieństwa zmiennej losowej z opisuje funkcja gęstości g(z)
a rozkład prawdopodobieństwa wektora x opisuje funkcja gęstości f(x)
x x x = [x
1; x
2; : : : ; x
m] z = z(x x x)
Z
1¡1
g(z(x x x))dz = 1
Przy takich założeniach, zgodnie z CTG
metodę Monte Carlo szacowania wartości całek w wersji podstawowej definiują wzory:
a) wartość całki
Uwaga: x – jest wektorem, którego składowe są niezależnymi zmiennymi losowymi o
określonych funkcjach gęstości prawdopodobieństwa
b) błąd oszacowania
Z
V
f (x x x)dx x x = 1
hzi =
Z
1¡1
zg(z)dz = Z
V
z(x x x)f (x x x)dx x x
N
lim
!1P 8 <
:
j¹ z ¡ hzij
¾(z)p N
· ¸ 9 =
; = 1 p 2¼
Z
¸¡¸
e
¡u22du
I = Z
V
z(x x x)f (x x x)dx x x ¼ 1 N
X
N i=1z(x x x)
¾(I) =
sZ
V
(z ¡ hzi)
2f (x x x)dx x x
¼ s(z)
p N
6 Zazwyczaj obszarem całkowania jest określony
podzbiór przestrzeni RM. W takim przypadku obliczaną całkę trzeba zapisać w nieco zmienionej postaci:
gdzie:
jest funkcją przynależności do zbioru
Kwadratura Monte Carlo (metoda orzeł-reszka)
Uwagi:
a) w powyższym przypadku zakładamy, że funkcja gęstości prawdopodobieństwa jest stała w obszarze Ω b) wydajność metody zależy od stosunku wielkości obszaru V i obszaru Ω.
1 11
V(x x x)
1 11
V(x x x) =
½ 1 dla x x x 2 V 0 dla x x x = 2 V I =
Z
V
z(x x x)f (x x x)dx x x = Z
1 11
V(x x x)z(x x x)f (x x x)dx x x
V ½
I = Z
V
z(x x x)dx x x = Z
1
V(x x x)z(x x x)dx x x ¼ N
X
N i=11
V(x x x)z(x x x)
Przykład
Wyznaczyć pole powierzchni obiektu o nieregularnym kształcie.
S = N
X
N i=11
V= n N S =
Z
V
1d
2rrr = Z
1
Vd
2rrr
7
I
trap= h
5X
ni=0
w
iX
n j=0w
jX
n k=0w
kX
nl=0
w
lX
n m=0w
mg(x
i; x
j; x
k; x
l; x
m)
h = 1
n w
i;j;k;l;m=
½
12
i; j; k; l; m = 0; n
1 i; j; k; l; m = 1; 2; : : : ; n ¡ 1
Przykład
Należy obliczyć numerycznie wartość całki
a) metoda trapezów
b) Kwadratura Monte Carlo
gdzie:
jest wektorem, którego składowe są zmiennymi losowymi
X X X = [X
1; X
2; X
3; X
4; X
5] I
M C= h
5N
X
N i=1g(X X X) I =
Z
1 0dx
1Z
10
dx
2Z
10
dx
3Z
10
dx
4Z
10
dx
5g(x
1; x
2; x
3; x
4; x
5)
Z
10
f (y)dy = h
"
f (y
0) + f (y
n)
2 +
n
X
¡1 i=1f (y
i)
# y
0= 0
y
n= 1
8 Wykres błędu oszacowania wartości całki w zależności od liczby
węzłów (trapezy)/losowań (MC).
9 Przykład
Dzielnik napięcia powinien zapewniać tłumienie o wartości 0.5 z dokładnością 2%. Opory r1 i r2 mają rozrzuty produkcyjne które można reprezentować za pomocą niezależnych zmiennych
o funkcjach gęstości prawdopodobieństwa
Wyznaczyć estymatę uzysku produkcyjnego ´ , czyli średniego odsetka układów sprawnych.
Tłumienie napięciowe dzielnika:
k = r
1r
1+ r
2Tłumienie jest realizacją zmiennej losowej:
Rozkład tej zmiennej opisuje fgp:
zależna od
Warunkiem sprawności układu (jednej z wielu realizowanych możliwości) jest :
Wykorzystujemy metodę MC do estymacji wartości oczekiwanej:
k jest funkcją wektora losowego:
k 2 V
V = [0:49; 0:51]
r
1r
2f
r1(r
1) f
r2(r
2)
k = r
1r
1+ r
2f
k(k) f
r1(r
1) f
r2(r
2)
´ =
Z
1¡1
11 1
V(k)f
k(k)dk
rrr = [r
1; r
2]
T10 dlatego uzysk produkcyjny można wyrazić
wzorem na średnią wartość funkcji przynależności:
gdzie:
jest iloczynem ze względu na niezależność zmiennych losowych r1 i r 2.
Estymatę uzysku można obliczać jako średnią arytmetyczną
gdzie:
są niezależnymi realizacjiami wektora losowego r
rrr
1; rrr
2rrr
3; : : :
Algorytm wyznaczenia uzysku:
1) Wylosuj parę liczb: r1 i r2, zwiększ N o 1 2) Jeśli obliczone k mieści się w obszarze V
wówczas zwiększ Ns o 1
3) Uzysk oblicz jako wartość ułamka
Przykład.
Wyznaczyć minimalną liczbę N próbek wystarczającą do wyznaczenia estymaty uzysku z trzysigmowym błędem względnym:
Dla
±
=0.1%,1%,10%.Obliczamy wariancję estymatora:
´ = N
sN
± = 3¾
´^^
´
^
´ = 1 N
X
N n=1111
V(k(rrr
n))
¾
´2^= 1
N (N ¡ 1)
µ X
Nn=1
¡ 11 1
V(k(rrr
n)) ¢
2¡ 1 N
µ X
Nn=1
1 11
V(k(rrr
n))
¶
2¶
= ´(1 ^ ¡ ^´) N ¡ 1
´ = Z
R2
111
V(k(rrr))f
r(rrr)dr
f
rrr= f
r1(r
1)f
r2(r
2)
11
Błąd względny:
Przekształcając go można otrzymać wyrażenie na minimalną liczbę próbek potrzebną do
uzyskania wymaganej dokładności:
Rys. Zależność minimalnej liczby próbek od założnego uzysku
± = 3
s 1 ¡ ^´
(N ¡ 1)^ ´
N = 1 ¡ ^´
^
´
µ 3
±
¶
2Metody zwiększania efektywności metody Monte Carlo
Dokładność wyznaczenia całki metodą MC zależy od liczeby próbek N oraz wariancji zmiennej losowej:
Wydajność metody można zwiększyć ustalając N i dokonując takiej transformacji aby nowa zmienna losowa miała mniejszą wariancję.
I = Z
G(x x x)f (x x x)dx x x = Z
RM
111
V(x x x)G(x x x)f (x x x)dx x x
z = 1 11
V(x x x)G(x x x)
12 a) Metoda losowania ważonego
Zakładamy że jest fgp dodatnio określoną dla
Całkę estymujemy:
Zmienna losowa z ma taką samą wartość oczekiwaną jak zmienna losowa y oraz wariancję zależną od fgp:
Wariancję etsymatora całki można zmniejszyć odpowiednio dobierając fgp.
Najmniejszą wartość wariancja osiąga dla:
Jeżeli G(x) jest funkcją nieujemną, wówczas minimalna wariancja estymatora ważonego jest równa 0. Należałoby jednak w takim przypadku znać wartość całki w mianowniku. Zazwyczaj nie jest to możliwe, dlatego funkcję G(x) zastępuje się inną G1(x), której całka może być łatwo obliczona.
Minimalizacja wariancji w takim przypadku zależy od jakości zastosowanego przybliżenia.
x x x 2 V gxxx(x x x)
y = 111
VG(x x x)f
xxx=g
xxxI = 1 N
X
N n=1y(x x x
n)
g
xxx(x x x)
g
xxx(x x x) = 11 1
VjG(xxx)jf
xxx(x x x) R
V
jG(xxx)jf
xxx(x x x)dx x x
I = E(z) = Z
V
½
G(x x x) f
x(x x x)
g
x(x x x) g
x(x x x)dx x x
¾
13 b) Metoda zmiennej kontrolnej.
Metoda polega na dekompozycji całki:
Gdzie:
jest aproksymacją funkcji G(x) umożliwiającą łatwe obliczenie pierwszego wyrazu po prawej stronie (analitycznie lub numerycznie).
Wariancja zmiennej losowej
ma znacznie mniejszą wariancję niż G(x).
c) Losowanie warstwowe
W metodzie tej obszar całkowania V dzieli się na K rozłącznych podobszarów:
Całkę I oblicza się jako sumę całek w podobszarach.
gdzie: k=1,2,3,...,K
Całki Ik można obliczać za pomocą podstawowej wersji metody MC
Próbki
są realizacjami wektora losowego x o fgp
G(x ^ x x)
fxxx
(k)njn = 1; 2; : : : ; N
kg I =
Z
V
G(x ^ x x)f
xxxdx x x + Z
V
h G(x x x) ¡ ^ G(x x x) i
f
xxxdx x x
V
1; V
2; : : : ; V
kI
k= Z
Vk
G(x x x)f
xxx(x x x)dx x x
= ¹(V
k) Z
Vk
G(x x x)f
xxx=¹(V
k)dx x x
¹(V
k) = Z
Vk
f
xxx(x x x)dx x x
I ^
k= ¹(V
k) N
kNk
X
n=1
111
Vk(x x x
(k)n)G(x x x
(k)n)
f
xxx;k(x x x) = 111
Vkf
xxx(x x x)
¹(V
k)
y = G(x x x) ¡ ^ G(x x x)
14 d) Metoda obniżania krotności całki
Obniżenia krotności całki można dokonać gdy jest możliwa dekompozycja wektora
oryginalnych zmiennych losowych:
oraz obszaru
że zachodzi
Zmienna losowa
ma zazwyczaj mniejszą wariancję niż G(x) co pozwala dość łatwo obliczyć całkę zewnętrzną.
Metoda jest skuteczna jeśli potrafimy dość dokładnie i szybko obliczyć całkę wewnętrzną (analitycznie lub numerycznie).
Metoda MC wymaga zastosowania generatora liczb pseudolosowych o zadanym rozkładzie gęstości prawdopodobieństwa. Generatory (a raczej ciągi generowanych liczb) muszą spełniać określone warunki (korelacja, okres, fgp itp.).
Zastosowania metody Monte Carlo
a) sumulacja komputerowa probabilistycznego modelu matematycznego/fizycznego
(kwantowa dyfuzyjna metoda MC).
b) Obliczanie wartości całek wielokrotnych
(obliczanie objętości, momentów bezwładności itp. obiektów o nieregularnym kształcie)
c) Optymalizacja (minimalizacja czasu
oczekiwania pacjenta w kolejce do lekarza) d) Rozwiązywanie równań różniczkowych (rów.
Poissona metodą błądzenia przypadkowego ze stałym lub zmiennym krokiem)
V = V
u£ V
vf
xxx(x x x) = f
uuu(u u u)f
vvv(vvv) u u u 2 V
uvvv 2 V
vI =
Z
Vu
½ Z
Vv
G(x x x(u u u; vvv))f
v(vvv)dvvv
¾
f
u(u u u)du u u
z = Z
Vv