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
#

Podobne dokumenty