Järgmises loengus näiteme, et järgnev algoritm võimaldab genereerida koos kaks standardse normaaljaotusega pseudojuhuslikku arvu
Algoritm:
Kirjuta kaks funktsiooni, mis etteantud täisarvu \(n\) korral väljastavad \(n\) standardse normaaljaotusega
pseudojuhuslkku arvu, kasutades selleks runif käsuga
tekitatud Ühtlase jaotusega pseudojuhuslikke arve. Esimene neist
funktsioonidest peab kasutama pöördfunktsiooni meetodit, teine aga
Box-Müller meetodit. Mõlema katse korral kontrolli histogrammi abil
visuaalselt 10000 genereeritud väärtuse vastavust standardsele
normaaljaotusele
Kirjutada funktsioon, mis kasutaks eelmises harjutuses loodud Box-Mülleri algoritmi abil töötavat generaatorit selleks, et etteantud \(n\) ja \(k\) korral genereerida \(n\) pseudujuhuslikku arvu jaotusest \(\chi^2_k\). Kontrolli Kolmogorov-Smirnovi testi abil juhul \(n=100000,\ k=3\) korral saadud pseudojuhuslike arvude vastavust \(\chi^2_k\) jaotusele.
Vaatleme juhusliku vektori lineaarset teisendust kujul \(Y=g(X)\), kus teisendus \(g\) on \(g(\mathbf{x})=A\mathbf{x}+\mathbf{b}\). Eeldame, et \(A\) on pööratav maatriks, siis pöördteisendus on \(g^{-1}(\mathbf{y})=A^{-1}(\mathbf{y}-\mathbf{b})\). Seega on loengus vaadeldud teoreemi kohaselt juhusliku vektori \(Y\) tihedusfunktsiooniks \[f_Y(y)=f_X(A^{-1}(\mathbf{y}-\mathbf{b}))\, \text{abs}(|A^{-1}|).\] Kuna standardse normaaljaotuse korral on tihedusfunktsiooni eksponentfunktsiooni astendajas \(-\frac{1}{2}\mathbf{x}^T\mathbf{x}\), siis pärast teisendust tekib sinna \[-\frac{1}{2}(\mathbf{y}-\mathbf{b})^TA^{-T}A^{-1}(\mathbf{y}-\mathbf{b}).\] Võrreldes seda mitmemõõtmelise normaaljaotuse avaldisega, saame, et tulemus on jaotusega \(N(\mathbf{b},\Sigma)\), kus \(\Sigma=AA^T\).
Algoritm jaotusega \(N(\mu,\Sigma)\) juhusliku suuruse simuleerimiseks \(m\)-mõõtmelisel juhul (\(m\geq 2\))
Sobiva \(A\) leidmise moodused
\[a_{ii}=\sqrt{\sigma_{ii}-\sum_{j=1}^{i-1}a_{ij}^2},\]
\[a_{ki}=\frac{1}{a_{ii}}(\sigma_{ki}-\sum_{j=1}^{i-1}a_{ij}a_{kj}),\ k>i\]
\[a_{ki}=0,\ k<i\]
Kirjuta eelnevalt kirjeldatud \(A\) leidmise moodustele vastavad kaks funktsiooni, mis etteantud kovariatsioonimaatriksi \(\Sigma\) korral leiavad sobiva maatriksi \(A\). Kontrolli funktsioonide töö õigsust maatriksi \[\Sigma=\begin{pmatrix}4 & 1 & 2\\ 1 & 5 & -1\\ 2 & -1 & 6\end{pmatrix}\] korral
Vihjed Omaväärtused ja omavektorid saab leida käsuga
eigen(), maatriksite korrutamine toimub käsuga
%*% ja transponeeritud maatriksi saab leida käsuga
t(maatriks).
Genereeri mõlemat \(A\) leidmise eeskirja kasutades 200 vektorit jaotusest \(N((3,1)^T,\Sigma)\), kus \[\Sigma =\begin{pmatrix}2 & -1\\ -1 & 4 \end{pmatrix}\] ja kujuta need graafikul. Kas visuaalset on usutav, et tulemused on samast jaotusest?
Vihjed Kasulik on genereerida kõik vajaminevad standardsele
normaaljaotusele vastavad punktid korraga nii, et need paigutatakse
\(m\times n\) maatriksi tulpadesse.
Lisaks on kasuks teadmine, kui R-is liita maatriks ja vektor, siis
tekitatakse vektorile vastav sobivamõõtmeline maatriks (täites selle
tulpade kaupa vektoris olevate väärtustega) ja siis liidetakse need
maatriksid. Vaadelge näiteks käsu
matrix(0, nrow=3,ncol=2)+c(1,2,4) tulemust.
Vaatleme juhuslikku suurust \(W=|2X-Y+Z|\), kus \((X,Y,Z)\) on normaaljatusega kesväärtusega 0 ja esimeses harjutuses toodud kovariatsioonimaatriksiga. Leida hinnang juhusliku suuruse \(W\) keskväärtuse jaoks, kasutades selleks 100000 pseudojuhuslikku vektorit vaadeldavast jaotusesest. Leida ühtlasi olulise nivoole \(\alpha=0.05\) vastav usaldusintervall leitud hinnangule