Monte-Carlo meetodid 6. loeng Valikumeetod
Eelmises loengus: jaotusfunktsiooni pööramise meetod
Tihedusfunktsioon on, aga jaotusfunktsiooni leidmine on raske?
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Aegluubis...
Formaalsused Kas juhuslike suuruse X genereerimise eeskiri: 1. Y1~U(a,b) Y2~U(0, max(f)) 2. Kui Y2<f(Y1) siis X=Y1; muidu mine tagasi punkti 1 Ikka genereerib jaotusest f juhuslikke suuruseid? Kas fY1|Y2<f(Y1) = f ?
Tõestus
Valikumeetodi efektiivsus Ühe soovitud juhusliku suuruse saamiseks peame keskmiselt genereerima (b-a)c ühtlase jaotusega arvude paari
Kui palju kasutut tööd? Ühe juhusliku suuruse X saamiseks tuleb keskmiselt genereerida (10-(-4))*0.31 = 4,34 arvupaari (Y1, Y2). 100000 arvupaarist võiks saada umbes 100000/4,34=23041 sobivat juhuslikku suurust...
Kui palju kasutut tööd? Ühe juhusliku suuruse X saamiseks tuleb keskmiselt genereerida (10-(-4))*0.31 = 4,34 arvupaari (Y1, Y2). 100000 arvupaarist võiks saada umbes 100000/4,34=23041 sobivat juhuslikku suurust...
Normaaljaotuse näide
Normaaljaotuse näide
Konstandi c valik c=1/sqrt(2*π) ≈ 0,399 c=? Efektiivsus? Y1~U(-5,5) Y2~U(0, c) c=1/sqrt(2*π) ≈ 0,399 c=? Efektiivsus?
Efektiivsus: 4 arvupaari 1 normaaljaotusega juhusliku suuruse saamiseks...
> ks.test(x, pnorm) One-sample Kolmogorov-Smirnov test data: x D = 0.003, p-value = 0.3093 alternative hypothesis: two-sided
Üldine valikumeetod
Üldine valikumeetod
Üldine valikumeetod
Üldine valikumeetod
Üldine valikumeetod
Kolmnurka genereerimine
Kolmnurka genereerimine
Tihedusfunktsioon g(x) = 2-2*x Jaotusfunktsioon G(x) = 2x - x2 Jaotusfunktsiooni pöördfunktsioon G-1(x) = 1-sqrt(1-x)
Tulemus
Tulemus
Üldine valikumeetod 1. Vali g(x) ja c nii, et c*g(x) > f(x) 2. Genereeri juhuslikud suurused Y1~G(x); Y2~U(0, c*g(x)) 3. Kui Y2 < f(Y1), siis väljasta juhuslik suurus X=Y1 muidu mine tagasi punkti 2 Korda kogu protseduuri kuni saad soovitud arvu juhuslikke suuruseid.