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
2 Podstawowa metoda Monte Carlo (MC)
Podstawowym zadaniem metody MC jest estymacja wartości oczekiwanej pewnej zmiennej losowej. Wiele problemów można sprowadzić do tego typu zagadnienia.
Założenie: jest zmienną losową o
funkcji gęstości prawdopodobieństwa (fgp) i wartości oczekiwanej:
Jeżeli
są niezależnymi zmiennymi losowymi o f.g.p.
to ich średnia arytmetyczna jest również zmienną losową:
będącą estymatorem wartości oczekiwanej zmiennej losowej
y
¹
y= E fyg =
Z
1¡1
yf
y(y)dy
fy
ng = fy
njn = 1; 2; : : : ; Ng
f
y(y)
^
¹
y= 1 N
X
N n=1y
ny
Zgodnie z założeniami centralnego twierdzenia granicznego przy
średnia arytmetyczna dąży do zmiennej losowej o rozkładzie normalnym z wartością oczekiwaną i wariancją:
Mając do dyspozycji N niezależnych realizacji zmiennej losowej
o pewnej fgp, estymatę wartości oczekiwanej wyznacza się ze wzoru:
a nieobciążoną estymatę wariancji tej zmiennej przy pomocy wyrażenia:
N ! 1
¹
yV ar f^ ¹
yg = 1 N
2X
N n=1V ar fy
ng = ¾
y2N b
¹
yy
fy
ng = fy
njn = 1; 2; : : : ; Ng
^
¹
y= 1 N
X
N n=1y
n^
¾
y2= 1 N ¡ 1
X
N n=1(y
n¡ ^¹
y)
2= 1
N ¡ 1
µ X
Nn=1
y
2n¡ 1 N
µ X
Nn=1
y
n¶
2¶
¹
y3 Realizacją zmiennej losowej jest estymata
dlatego za miarę dokładności można przyjąć odchylenie standardowe estymatora zmiennej losowe
Obliczając wartość odchylenia standardowego zgodnie z (a) należy dwukrotnie odwoływać się do wartości każdej próbki. W przypadku (b)
odwołanie jest jednokrotne, ale błędy zaokrągleń przy sumowaniu mogą spowodować pojawienie się wartości ujemnych pod pierwiastkiem.
Interesuje nas wyznaczenie (a raczej estymacja) wartości oczekiwanej zmiennej losowej
która jest funkcją wektora zmiennych (losowych):
o funkcji gęstości prawdopodobienstwa
^
¹
y¹ ^
y^
¹
yPodstawowa metoda Monte Carlo Wykorzystujemy przejście
Estymację wartości oczekiwanej zmiennej losowej y można wykonać wg wzoru
oraz wariancję tej zmiennej losowej:
Trzy powyższe wyrażenia są podstawą metody Monte Carlo przybliżonego obliczania całek.
E fyg =
Z
1¡1
yf
y(x)dy = Z
RRRM
G(x x x)f
x(x x x)dx
^
¹
y= 1 N
X
N n=1G(x x x
n)
^
¾
y2= 1 N ¡ 1
X
N n=1µ
G(x x x
n) ¡ 1 N
X
N m=1G(x x x
m)
¶
2y = G(x x x)
x x x = £
x
1; : : : ; x
M¤
Tf
x(x x x)
¾
y^= ¾ ^
yp N
a
= v u
u t 1
N (N ¡ 1) X
N n=1(y
n¡ ^ ¹
y)
2=
b
= v u u t 1
N ¡ 1 µ 1
N
X
N n=1y
n2¡ µ 1
N
X
N n=1y
n¶
2¶
4 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
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:
½ R
Mr
1r
2f
r1(r
1) f
r2(r
2)
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 = r
1r
1+ r
2f
k(k) f
r1(r
1) f
r2(r
2)
k 2
= [0:49; 0:51]
rrr = [r
1; r
2]
T´ =
Z
1¡1
11 1
(k)f
k(k)dk I =
Z
G(x x x)f
x(x x x)dx x x = Z
RM
111
(x x x)G(x x x)f
x(x x x)dx x x
1 11
(x x x) =
½ 1 dla x x x 2
0 dla x x x = 2
1 11
(x x x)
5 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
´ = Z
R2
111
(k(rrr))f
r(rrr)dr
f
rrr= f
r1(r
1)f
r2(r
2)
^
´ = 1 N
X
N n=1111
(k(rrr
n))
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
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¾
´^^
´
¾
´2^= 1
N (N ¡ 1)
µ X
Nn=1
¡ 11 1
(k(rrr
n)) ¢
2¡ 1 N
µ X
Nn=1
111
(k(rrr
n))
¶
2¶
= ´(1 ^ ¡ ^´)
N ¡ 1
6
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 x)dx x x = Z
RM
1 11
(x x x)G(x x x)f
x(x x x)dx x x
y = 111
(x x x)G(x x x)
7 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.
I = 1 N
X
N n=1z(x x x
n) z = 111
G(x x x)f
xxx=g
xxxI = E fzg = Z
½
G(x x x) f
xxx(x x x)
g
xxx(x x x) g
xxx(x x x)dx x x
¾ x x x 2
g
xxx(x x x) g
xxx(x x x)
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.
g
xxx(x x x) = 11 1
jG(xxx)jf
xxx(x x x) R
jG(xxx)jf
xxx(x x x)dx x x
8 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 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)
z = G(x x x) ¡ ^ G(x x x)
1;
2; : : : ;
k¹(
k) = Z
k
f
xxx(x x x)dx x x
I ^
k= ¹(
k) N
kNk
X
n=1
11 1
k(x x x
(k)n)G(x x x
(k)n)
fxxx
(k)njn = 1; 2; : : : ; N
kg
f
xxx;k(x x x) = 111
kf
xxx(x x x)
¹(
k) I =
Z
G(x ^ x x)f
xxxdx x x + Z
h G(x x x) ¡ ^ G(x x x) i
f
xxxdx x x
I
k= Z
k
G(x x x)f
xxx(x x x)dx x x
= ¹(
k) Z
k
G(x x x)f
xxx=¹(
k)dx x x
9 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
=
u£
vx x x
T= [u u u
Tvvv
T]
f
xxx(x x x) = f
uuu(u u u)f
vvv(vvv) u u u 2
uvvv 2
vma 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)
I = Z
u
½ Z
v
G(x x x(u u u; vvv))f
v(vvv)dvvv
¾
f
u(u u u)du u u
z = Z
v