Algoritm:
Vaatleme juhuslikku suurust, mille võimalikeks väärtusteks on \(c_1 < c_2\ldots < c_m\)
olgu \(p_1,p_2,\ldots,p_m\) vastavad
tõenäosused
Vaatleme diskreetset juhuslikku suurust, mille jaotustabel on järgmine:
| \(c_i\) | 1 | 3 | 4.5 | 7 |
|---|---|---|---|---|
| \(p_i\) | 0.3 | 0.2 | 0.4 | 0.1 |
Tekita 1000 pseudojuhuslikku arvu sellest jaotusest, lähtudes käsuga
runif genereeritud pseudojuhuslikest arvudest vahemikus (0,
1). Kontrolli tulemuste vastavust soovitud jaotusele \(\chi^2\)-testiga
Vihjed Kasuks tulevad järgmised käsud: cumsum,
cut, as.numeric ja teadmine, et vektori
indeksisse võib kirjutada täisarvude jada, nt vektorite a
ja b=c(1,1,3,2) korral a[b] annab tulemuseks
vektori värtustega a[1],a[1],a[3],a[2]
Chi-squared test for given probabilities
data: tabel
X-squared = 6.7875, df = 3, p-value = 0.07899
Tegelikult on R-is mugav vahend selliste ülesannete lahendamiseks,
nimelt käsk sample. Sõltumatu valimi saamiseks tuleb
kasutada suvandit replace = TRUE. Vaata käsu spikrit (nt
käsuga ?sample). Leia ligikaudselt tõenäosus \[ P(\sum_{i=1}^{5}X_i^2<100),\] kus
\(X_i, i=1,\ldots,5\) on eelmises
ülesandes vaadeldud jaotusega sõltumatud juhuslikud suurused. Genereeri
selleks 1000 summa väärtust, kusjuures vajaminevad pseudojuhuslikud
arvud tekita sample käsku kasutades.
[1] 0.807
Kui juhusliku suuruse jaotusfunktsioon on pööratav piirkonnas \(\{x: 0<F(x)<1\}\), siis saame selle jaotusega juhuslikke suuruseid tekitada pöördfunktsiooni \(F^{-1}\) kasutades kujul \(X=F^{-1}(U)\), kus \(U\) on jaotusega \(U(0,\,1)\) juhuslik suurus.
Leia jaotusfunktsiooni
\[F(x)=\begin{cases}0,& x<1,\\ \frac{x-1}{2},& 1\leq x<2,\\ \frac{x}{4},& 2\leq x<4,\\ 1,& x\geq 4 \end{cases}\] pöördfunktsioon ja genereeri seda kasutades \(300\) pseudojuhuslikku arvu sellest jaotusest. Kontrolli genereeritud arvude vastavust toodud jaotusfunktsioonile Kolmogorov-Smirnovi testi abil.
Defineerime üldistatud pöördfunktsiooni valemiga \[ F^{-}(y)=\inf \{ a\,:\, F(a)\geq y \},\ y\in (0,\,1) \]
Teoreem: Olgu \(F\) jaotusfunktsioon ning olgu \(U\) ühtlase jaotusega \(U(0,\,1)\) juhuslik suurus. Siis juhusliku suuruse \(X=F^{-}(U)\) jaotusfunktsiooniks on \(F\)
Kasuta üldistatud pöördfunktsiooni selleks, et käsuga
runif(1000) genereeritud jaotusega \(U(0,\,1)\) pseudojuhuslikust arvust saada
jaotusfunktsioonile
\[F(x)=\begin{cases}0,& x <1\\ \frac{x^2-1}{4},& 1\leq x <2\\ 1,& x\geq 2 \end{cases}\] vastavad pseudojuhuslikud arvud. Leia nende abil ligikaudselt vastava juhusliku suuruse keskväärtus.
[1] 1.685905
Kasuta pöördfunktsiooni meetodit selleks, et käsuga
runif(1000) genereeritud jaotusega \(U(0,\,1)\) pseudojuhuslikest arvudest saada
pseudujuhuslikke arve tihedusfunktsioonile
\[ f(x)=0.5 e^{-|x|},\ x\in R\] vastavast jaotusest. Kontrolli saadud arvude vastavust soovitud jaotusele visuallselt (võrreldes histogrammi tihedusfunktsiooniga).