14. Simulacijamilanmerkle.etf.rs/wp-content/uploads/2018/03/14-Monte... · 2018-05-28 · 14....
Transcript of 14. Simulacijamilanmerkle.etf.rs/wp-content/uploads/2018/03/14-Monte... · 2018-05-28 · 14....
14. Simulacija
Profesor Milan [email protected] milanmerkle.etf.rs
Verovatnoca i Statistika-prolece 2018
Milan Merkle Simulacija ETF Beograd 1 / 12
Generisanje pseudo-slucajnih brojeva
Da bi se generisali racionalni brojevi iz Unif (0, 1) raspodele, polazi se odalgoritama koji generisu prirodne brojeve.
Linearni kongruentni metod:
Nk ≡ aNk−1 + b (mod c),
gde su a, b, c prirodni brojevi.Ovako se niz prirodnih brojeva iz intervala [0, c − 1]; sa Uk = Nk/cdobijamo niz racionalnih brojeva iz [0, 1).Na primer: a = 314159269, b = 907633409 i c = 232
Algoritmi novijeg datuma: Kiss, Mersenne Twister, . . .Iz kosmickog zracenja: https://www.random.org
Postoje mnogobrojni testovi slucajnosti . . .
Milan Merkle Simulacija ETF Beograd 2 / 12
Generisanje pseudo-slucajnih brojeva
Da bi se generisali racionalni brojevi iz Unif (0, 1) raspodele, polazi se odalgoritama koji generisu prirodne brojeve.
Linearni kongruentni metod:
Nk ≡ aNk−1 + b (mod c),
gde su a, b, c prirodni brojevi.Ovako se niz prirodnih brojeva iz intervala [0, c − 1]; sa Uk = Nk/cdobijamo niz racionalnih brojeva iz [0, 1).Na primer: a = 314159269, b = 907633409 i c = 232
Algoritmi novijeg datuma: Kiss, Mersenne Twister, . . .Iz kosmickog zracenja: https://www.random.org
Postoje mnogobrojni testovi slucajnosti . . .
Milan Merkle Simulacija ETF Beograd 2 / 12
Generisanje pseudo-slucajnih brojeva
Da bi se generisali racionalni brojevi iz Unif (0, 1) raspodele, polazi se odalgoritama koji generisu prirodne brojeve.
Linearni kongruentni metod:
Nk ≡ aNk−1 + b (mod c),
gde su a, b, c prirodni brojevi.Ovako se niz prirodnih brojeva iz intervala [0, c − 1]; sa Uk = Nk/cdobijamo niz racionalnih brojeva iz [0, 1).Na primer: a = 314159269, b = 907633409 i c = 232
Algoritmi novijeg datuma: Kiss, Mersenne Twister, . . .Iz kosmickog zracenja: https://www.random.org
Postoje mnogobrojni testovi slucajnosti . . .
Milan Merkle Simulacija ETF Beograd 2 / 12
Generisanje pseudo-slucajnih brojeva
Da bi se generisali racionalni brojevi iz Unif (0, 1) raspodele, polazi se odalgoritama koji generisu prirodne brojeve.
Linearni kongruentni metod:
Nk ≡ aNk−1 + b (mod c),
gde su a, b, c prirodni brojevi.Ovako se niz prirodnih brojeva iz intervala [0, c − 1]; sa Uk = Nk/cdobijamo niz racionalnih brojeva iz [0, 1).Na primer: a = 314159269, b = 907633409 i c = 232
Algoritmi novijeg datuma: Kiss, Mersenne Twister, . . .Iz kosmickog zracenja: https://www.random.org
Postoje mnogobrojni testovi slucajnosti . . .
Milan Merkle Simulacija ETF Beograd 2 / 12
Generisanje raspodela
Polazimo od pretpostavke da imamo proizvoljno dugacak niz nezavisnihslucajnih brojeva U1,U2, . . . iz generatora slucajnih brojeva.
Ako je U ∼ Unif (0, 1), tada je i 1− U ∼ Unif (0, 1)√
Milan Merkle Simulacija ETF Beograd 3 / 12
Diskretne raspodele
Bernulijeva raspodela
Bacanje kocke
Bin (n, p) preko Bernulijeve
Milan Merkle Simulacija ETF Beograd 4 / 12
Diskretne raspodele
Bernulijeva raspodela
Bacanje kocke
Bin (n, p) preko Bernulijeve
Milan Merkle Simulacija ETF Beograd 4 / 12
Diskretne raspodele
Bernulijeva raspodela
Bacanje kocke
Bin (n, p) preko Bernulijeve
Milan Merkle Simulacija ETF Beograd 4 / 12
Diskretne raspodele
Bernulijeva raspodela
Bacanje kocke
Bin (n, p) preko Bernulijeve
Milan Merkle Simulacija ETF Beograd 4 / 12
Diskretne raspodele -nastavak
Raspodele sa beskonacno mnogo mogucih vrednosti:
P(X = xi ) = pi , i = 1, 2, . . . ,∑
pi = 1
Univerzalni algoritam:
X = xk ako jek−1∑i=0
pi ≤ U <
k∑i=0
pi (p0 = 0).
Za neke raspodele algoritam se moze pojednostaviti.
Milan Merkle Simulacija ETF Beograd 5 / 12
Diskretne raspodele -nastavak
Primer 210. Geometrijska raspodelaX = k ako je
pk−1∑i=1
(1− p)i−1 ≤ U < pk∑
i=1
(1− p)i−1
⇐⇒ X = 1 +
[log(1− U)
log(1− p)
]Algoritam:
X = 1 +
[logU
log(1− p)
]
Milan Merkle Simulacija ETF Beograd 6 / 12
Neprekidne raspodele
X = F−1(U) ima raspodelu sa funkcijom raspodele F .
Primer 212. Eksponencijalna raspodela
X = − 1
λlogU
Milan Merkle Simulacija ETF Beograd 7 / 12
Neprekidne raspodele
X = F−1(U) ima raspodelu sa funkcijom raspodele F .
Primer 212. Eksponencijalna raspodela
X = − 1
λlogU
Milan Merkle Simulacija ETF Beograd 7 / 12
Puasonova preko eksponencijalne
Primer 211. Puasonova raspodela Neka je N prvi prirodan broj za kojije
U1 · U2 · · ·Un < e−λ.
X = N − 1 ima Poiss (λ) raspodelu.
Ovaj algoritam nije efikasan za veliko λ. Postoje i drugi egzaktni iaproksimativni metodi.
Milan Merkle Simulacija ETF Beograd 8 / 12
Puasonova preko eksponencijalne
Primer 211. Puasonova raspodela Neka je N prvi prirodan broj za kojije
U1 · U2 · · ·Un < e−λ.
X = N − 1 ima Poiss (λ) raspodelu.
Ovaj algoritam nije efikasan za veliko λ. Postoje i drugi egzaktni iaproksimativni metodi.
Milan Merkle Simulacija ETF Beograd 8 / 12
Metod odbacivanja
Generisanje X ∼ f (gustina koncentrisana na intervalu I ). Neka je Y ∼ gna istom intervalu I tako za neko c > 0 vazi da je f (y) ≤ cg(y) za svakoy ∈ I . Metod odbacivanja se sastoji od dva koraka.
1 Generisati Y sa gustinom g i generisati slucajan broj U.
2 Ako je U ≤ f (Y )/cg(Y ), staviti X = Y . U protivnom ponoviti 1◦.
Broj potrebnih koraka N u ovom algoritmu je geometrijska raspodela saE (N) = c .
Milan Merkle Simulacija ETF Beograd 9 / 12
Metod odbacivanja
Generisanje X ∼ f (gustina koncentrisana na intervalu I ). Neka je Y ∼ gna istom intervalu I tako za neko c > 0 vazi da je f (y) ≤ cg(y) za svakoy ∈ I . Metod odbacivanja se sastoji od dva koraka.
1 Generisati Y sa gustinom g i generisati slucajan broj U.
2 Ako je U ≤ f (Y )/cg(Y ), staviti X = Y . U protivnom ponoviti 1◦.
Broj potrebnih koraka N u ovom algoritmu je geometrijska raspodela saE (N) = c .
Milan Merkle Simulacija ETF Beograd 9 / 12
Metod odbacivanja
Generisanje X ∼ f (gustina koncentrisana na intervalu I ). Neka je Y ∼ gna istom intervalu I tako za neko c > 0 vazi da je f (y) ≤ cg(y) za svakoy ∈ I . Metod odbacivanja se sastoji od dva koraka.
1 Generisati Y sa gustinom g i generisati slucajan broj U.
2 Ako je U ≤ f (Y )/cg(Y ), staviti X = Y . U protivnom ponoviti 1◦.
Broj potrebnih koraka N u ovom algoritmu je geometrijska raspodela saE (N) = c .
Milan Merkle Simulacija ETF Beograd 9 / 12
Metod odbacivanja
Generisanje X ∼ f (gustina koncentrisana na intervalu I ). Neka je Y ∼ gna istom intervalu I tako za neko c > 0 vazi da je f (y) ≤ cg(y) za svakoy ∈ I . Metod odbacivanja se sastoji od dva koraka.
1 Generisati Y sa gustinom g i generisati slucajan broj U.
2 Ako je U ≤ f (Y )/cg(Y ), staviti X = Y . U protivnom ponoviti 1◦.
Broj potrebnih koraka N u ovom algoritmu je geometrijska raspodela saE (N) = c .
Milan Merkle Simulacija ETF Beograd 9 / 12
Primer
Primer 213. Generisanje beta raspodele. Neka je f gustina betaraspodele sa parametrima α > 1 i β > 1:
f (x) = cxα−1(1− x)β−1 , x ∈ (0, 1) , c =Γ(α + β)
Γ(α)Γ(β)
Ovde je f (x) ≤ c = c · 1 na intervalu (0, 1), Y ∼ Unif [0, 1].Algoritam:
1 Generisati nezavisne U1 i U2.
2 Ako je U2 < Uα−11 (1− U1)β−1, staviti X = U1. U protivnom,
ponoviti korak 1◦. �
Milan Merkle Simulacija ETF Beograd 10 / 12
Primer
Primer 213. Generisanje beta raspodele. Neka je f gustina betaraspodele sa parametrima α > 1 i β > 1:
f (x) = cxα−1(1− x)β−1 , x ∈ (0, 1) , c =Γ(α + β)
Γ(α)Γ(β)
Ovde je f (x) ≤ c = c · 1 na intervalu (0, 1), Y ∼ Unif [0, 1].Algoritam:
1 Generisati nezavisne U1 i U2.
2 Ako je U2 < Uα−11 (1− U1)β−1, staviti X = U1. U protivnom,
ponoviti korak 1◦. �
Milan Merkle Simulacija ETF Beograd 10 / 12
Primer
Primer 213. Generisanje beta raspodele. Neka je f gustina betaraspodele sa parametrima α > 1 i β > 1:
f (x) = cxα−1(1− x)β−1 , x ∈ (0, 1) , c =Γ(α + β)
Γ(α)Γ(β)
Ovde je f (x) ≤ c = c · 1 na intervalu (0, 1), Y ∼ Unif [0, 1].Algoritam:
1 Generisati nezavisne U1 i U2.
2 Ako je U2 < Uα−11 (1− U1)β−1, staviti X = U1. U protivnom,
ponoviti korak 1◦. �
Milan Merkle Simulacija ETF Beograd 10 / 12
Neprekidne raspodele-nastavak
Aproksimativni algoritam za N (0, 1)
Z = U1 + · · ·+ U12 − 6
Egzaktan alogoritam za N (0, 1) - Polarni metod
Z1 =√−2 logU1 cos(2πU2), Z2 =
√−2 logU1 sin(2πU2)
Milan Merkle Simulacija ETF Beograd 11 / 12
Neprekidne raspodele-nastavak
Aproksimativni algoritam za N (0, 1)
Z = U1 + · · ·+ U12 − 6
Egzaktan alogoritam za N (0, 1) - Polarni metod
Z1 =√−2 logU1 cos(2πU2), Z2 =
√−2 logU1 sin(2πU2)
Milan Merkle Simulacija ETF Beograd 11 / 12
Za vezbu: Zadaci 217, 218, 224, 324-336
Milan Merkle Simulacija ETF Beograd 12 / 12