Tööleht on valminud Hariduse Infotehnoloogia Sihtasutuse IT Akadeemia programmi toel

Teema 1: Valikumeetod etteantud tihedusfunktsiooniga pideva juhusliku suuruse väärtuste genereerimiseks.

Valikumeetodi aluseks olev tulemus:

Teoreem Eeldame, et tihedusfunktsioon \(f\) on 0 väljaspool lõiku [a,b] ning et \(f\) on ülalt tõkestatud konstandiga \(c\), st \(f(x)\leq c\ \forall x\). Olgu \(Y_1\sim U(a,b)\) ja \(Y_2\sim U(0,c)\) sõltumatud juhusliud suurused. Defineerime juhusliku suuruse \(X\) järgmiselt:
\(X=Y_1\) tingimusel, et \(Y_2\leq f(Y_1)\)
Siis \(X\) on pidev juhuslik suurus tihedusfunktsiooniga \(f\).

Algoritm lähtuvalt \(U(0,\,1)\) pseudojuhuslikest arvudest

Harjutus 1

Kasuta 8000 pseudojuhuslikku arvu jaotusest \(U(0,\,1)\), et saada valikumeetodi abil arve tihendusfunktsioonile \[ f(x)=\begin{cases} \frac{3}{4}\sqrt{2+x},& -2\leq x< -1,\\ \frac{3}{4}\sqrt{-x},& -1\leq x<0,\\ 0 & \text{mujal} \end{cases} \] vastavast jaotusest. Leia saadud arvude abil ligikaudselt väärtus, millest juhuslik suurus \(X\) on suurem tõenäosusega \(0.05\).


Vihje: Viimasele küsimusele vastuse saamisel võib abiks olla funktsioon quintile, mis võimaldab valimi põhjal saada hinnanguid valimi aluseks oleva jaotuse kvantiilidele. NB! See funktsioon ei ole kasutatav juhul, kui meil on vaja leida teadaolevale jaotusele vastavaid (nö täpseid) kvantiile!

Tulemus juhul, kui lahenduse alguses kasutada set.seed(100)

       95% 
-0.2094068 



Tegelikult võib valikumeetodit rakendada ka siis, kui tihedusfunktsiooni asemel on antud sellega proportsionaalne (ehk mingi positiivse arvuga korrutatud) funktsioon.

Harjutus 2

Kasuta valikumeetodit juhul, kus tihedusfunktsiooni rollis on kasutatud funktsiooni

\[f(x)=\begin{cases} 2x,& 0\leq x<1,\\ 3-x,& 1\leq x <3,\\ 0& \text{mujal} \end{cases} \] selleks, et lähtuvalt 4000 jaotusele \(U(0,1)\) vastavast pseudojuhuslikust arvust tekitada funktsioonile \(f\) vastavaid pseudojuhuslikke arve. Võrdle nende abil tekitatud histogrammi funktsioonile \(f\) vastava tihedusfunktsiooniga. Kas on usutav, et genereeritud arvud on õige jaotusega?

Teema 2: Üldise valikumeetodi rakendamine

Algoritm: Olgu \(f\) ja \(g\) tihedusfunktsioonidega \(f_X\) ja \(g_X\) proportsionaalsed funktsioonid ja \(c\) selline reaalarv, et kehtib tingimus \(f(x)\leq c g(x)\ \forall x\).

  1. Tekitame tihedusele \(g_X\) vastavad pseudojuhuslikud arvud \(y_{11},y_{12},\ldots,y_{1n}\)
  2. Genereerime \(n\) pseudojuhuslikku arvu \(y_{21},\ldots,y_{2n}\) ühtlasest jaotusest \(U(0,\,1)\)
  3. Väljastame sellised \(y_{1i}\) väärtused, mille korral kehtib \(y_{2i}\leq \frac{f(y_{1i})}{c\cdot g(y_{1i})}\)

Tulemuseks saame tihedusfunktsioonile \(f_X\) vastavad pseudojuhuslikud arvud.

Harjutus 3

Kasuta 100000 sobiva parameetriga eksponentjaotusele vastavat pseudojuhuslikku arvu selleks, et genereerida tihedusfunktsioonile \[f(x)=\begin{cases}0,& x<0\\ \frac{8 \cos(x)^2}{3\cdot e^{2x}},& x\geq 0\end{cases}\] vastavaid pseudojuhuslikke arve. Kas saadud juhuslike suuruste arv on kooskõlas meetodi teoreetilise efektiivsusega? Leia nende põhjal hinnang tihedusfunktsiooniga \(f\) juhusliku suuruse standardhälbele.


Vihjed Kasuks tulevad järgmised käsud: rexp, dexp ja sd. Samuti saab soovi korral tulemust kontrollida, leides käsu integrate abil dispersiooni ja selle kaudu standardhälbe väärtuse numbrilise integreerimise teel.


Kontrolliks Tekkima peaks vähemalt 74000 väärtust soovitud jaotusest, kui \(c\) on valitud optimaalne. Standardhälbe hinnangu ja täpse väärtuse algus peaks olema \(0.3\ldots\)

Harjutus 4

Vaatleme tihedusfunktsioonile \[ f(x)=\begin{cases} \frac{\pi\sin(\pi x)+4x}{6},& 0\leq x<1,\\ (x-2)^2,& 1\leq x<2,\\ 0 & \text{mujal} \end{cases}\] vastavate pseudojuhuslike arvude genereerimist üldise valikumeetodiga juhul, kus suuruseid \(y_1\) genereeritakse jaotusfunktsioonile \[G(x)=\begin{cases} 0,& x\leq 0,\\ \frac{x^{2}}{2}, & 0< x\leq 1\\ 1-\frac{(2-x)^2}{2},& 1< x\leq 2\\ 1,& x> 2 \end{cases}\] vastavast jaotusest. Vali efektiivsusest lähtuvalt selline genereeritavate \(y_1\) väärtuste arv, et tulemusena saaksime soovitud jaotusest ligikaudu 10000 pseudojuhuslikku arvu ning võrdle nende abil tekitatud histogrammi tihedusfunktsiooniga \(f\).


Vihje: Kõigepealt tuleb leida funktsioonile \(G\) vastav tihedusfunktsioon; jaotusfunktsioonile \(G\) vastavate väärtuste saamiseks kasuta pöördfunktsiooni meetodit. Histogrammi joonistamisel tuleks kasutada suvandid probability=TRUE, samuti saab soovi korral tulpade arvu kontrollida suvandiga breaks=m, kus m on soovitud tulpade arv.


Kontrolliks

Üldise valikumeetodi efektiivsus vaadeldava ülesande lahendamisel võiks olla suurem kui 0.4; tulemus võiks välja näha nagu allpool toodud pildil:


Üldist valikumeetodit võib rakendada ka siis, kui funktsioonide \(f\) ja \(g\) asemel kasutada vastavate tihedusfunktsioonidega proportsionaalseid funktsioone, kusjuures konstant \(c\) on ikka leitud tingimusest \(f(x)\leq c\cdot g(x)\ \forall x\). Ainult peab teadma, et siis efektiivsus ei ole enam \(\frac{1}{c}\)

Harjutus 5

Genereeri 10000 funktsiooniga \(f(x)=e^{-|x|^{2.5}}\) proportsionaalse tihedusfunktsiooniga jaotusele vastavat pseudojuhuslikku arvu, kasutades selleks normaaljaotust, mille tihendusfunktsioon on proportsinaalne funktsiooniga \(g(x)=e^{-x^2}\). Mis on saadud meetodi efektiivsuseks?. Veenduda histogrammi abil, et saadud arvud käituvad vastavalt soovitud jaotusele.


Vihje: Et saada 10000 väärtust, tuleks genereerimisel kasutada sellsit \(n\) väärtust, et üsna kindlalt tuleks rohem kui 10000 väärtust ja jätta neist alles nõutud arvu väärtuseid. Histogrammi jaoks vajaliku normeeriva konstandi saab leida käsku integrate kasutades.


Kontrolliks

Veendu, et valikumeetodi abil saadud väärtuste arv on vähemalt 10000; valikumeetodi efektiivsus võiks olla vähemalt 0.9, saadud graafik peaks sarnanema alltoodule.