Generator wielowymiarowego rozkladu Gaussa
Transkrypt
Generator wielowymiarowego rozkladu Gaussa
Generator wielowymiarowego rozkładu Gaussa Bartłomiej Wróbel, [email protected] WFAIS, TUZ 21 październik 2009 Wielowymiarowy rozkład Gaussa 1 Wielowymiarowy rozkład Gaussa 2 Dwuwymiarowy rozkład Gaussa 3 Generacja rozkładu wielowymiarowego Schemat Choleskiego Wielowymiarowy rozkład Gaussa Dla wektora X zmiennych niezależnych z wartościami średnimi danymi przez wektor µ mamy: 1 Φ(X) = k · exp − (X − µ)T B(X − µ) , 2 gdzie k jest określone przez warunek normalizacyjny k= (2π)n/2 1 . · (detB)1/2 • detB – wyznacznik macierzy B Wielowymiarowy rozkład Gaussa B – odwrotność macierzy kowariancji zmiennych losowych X = (x1 , x2 , . . . , xn ): B−1 = C = E {(X − µ) · (X − µ)T } cov (X , Y ) – kowariancja określa zależność liniową między zmiennymi losowymi X i Y Dwuwymiarowy rozkład Gaussa Dla n = 2: k= (2π)2/2 1 1 = , 1/2 · (detB) 2π · (detB)1/2 cov (x, y ) =< xy > − < x >< y > var (x) =< x 2 > − < x >2 C =B −1 = var (x) cov (x, y ) cov (x, y ) var (y ) ! . Dwuwymiarowy rozkład Gaussa B – otrzymane poprzez odwrócenie macierzy kowariancji: 1 B= · var (x)var (y ) − cov (x, y )2 var (y ) −cov (x, y ) −cov (x, y ) var (x) ! Dwuwymiarowy rozkład Gaussa Dygresja: Jeśli zmienne losowe x i y są niezależne, to znikają kowariancje cov (x, y ) = 0: 1 · B0 = var (x)var (y ) var (y ) 0 0 var (x) ! = 1/var (x) 0 0 1/var (y ) i rozkład ma postać: (x − µx )2 Φ(x, y ) = k0 exp − 2var (x) k0 = ! (y − µy )2 exp − 2var (y ) 1 . 2πvar (x)var (y ) ! , ! Generacja rozkładu wielowymiarowego Mając wektor średnich µ i macierz kowariancji C 1 Tworzymy wektor Z złożony z n niezależnych zmiennych losowych o standardowym rozkładzie normalnym, 2 stosujemy rozkład Choleskiego względem macierzy C tak, by otrzymać macierz A, dla której zachodzi AAT = C, 3 szukamy wektora X = µ + AZ. Powtarzamy kroki 1 → 3 generując kolejne wektory liczb X. Generacja rozkładu wielowymiarowego Rozkład Choleskiego Rozkład pozwala na rozkład symetrycznej i dodatnio określonej macierzy na iloczyn: A = LLT , gdzie L jest macierzą dolną trójkątną, a LT jej transpozycją. Generacja rozkładu wielowymiarowego Rozkład Choleskiego Rozpisując: a11 a12 · · · a21 a22 · · · .. .. .. . . . an1 an2 · · · a1n a2n .. . ann = l11 0 · · · l21 l22 · · · .. .. . . . . . ln1 ln2 · · · Ogólnie: v ! u i−1 u X t 2 aii − lik lii = k=1 lji = aji − Pi−1 k=1 ljk lik lii 0 l11 l21 · · · 0 0 l22 · · · . .. . . . . 0 .. lnn 0 0 ··· ln1 ln2 .. . lnn Generacja rozkładu wielowymiarowego Rozkład Choleskiego Dla dwóch wymiarów: " a11 a12 a21 a22 # " = mamy: l11 = l21 = l22 = l11 0 l21 l22 √ #" a11 a21 l11 q 2 a22 − l21 l11 l21 0 l22 #