Random Variable Generation (Part II)

Transkrypt

Random Variable Generation (Part II)
Random Variable Generation (Part II)
1
Oznaczenia:
˛ liczb losowych wyprodukowanych przez testowany
X1, X2, . . . , Xn - ciag
generator
˛ liczb losowych o rozkładzie równomiernym U(0, 1)
U1, U2, . . . , Un - ciag
wyprodukowany przez generator.
Ogólnie, przez X lub odpowiednio przez U oznaczamy zmienna˛ losowa˛
produkowana˛ przez rozważany generator.
2
Generatory liczb losowych o dowolnych rozkładach
prawdopodobieństwa
Metoda odwracania dystrybuanty
Metoda eliminacji
Metoda dekompozycji rozkładu
Metoda ROU
3
Metoda eliminacji - wariant podstawowy
Niech f bedzie
˛
gestości
˛
a˛ prawdopodobieństwa interesujacego
˛
nas rozkładu, dodatnia˛ na
pewnym ograniczonym przedziale (a, b), równa˛ zeru poza tym przedziałem i ograniczona˛
przez pewna˛ stała˛ d > 0.
Algorytm generujacy
˛ liczby losowe o rozkładzie z gesto
˛
ścia˛ f (x):
(1) wygenerować dwie niezależne zmienne losowe
U1 ∼ U(a, b) i U2 ∼ U(0, d),
(2) U2 ≤ f (U1) ⇒ przyjać
˛ X = U1,
U2 > f (U1) ⇒ wyeliminować pare˛ (U1, U2), wygenerować nowa˛ pare.
˛
Otrzymana w ten sposób zmienna losowa X ma rozkład o gestości
˛
f.
4
Mówimy, że punkt losowy ω ma rozkład równomierny na zbiorze D ⊂ R2, jeżeli dla podzbiorów C tego zbioru zachodzi równość P (ω ∈ C) = l2(C)/l2(D).
˛
ciagiem
˛
punktów losowych o rozTwierdzenie 1. Niech (X1, U1), (X2, U2), . . . bedzie
kładzie równomiernym na prostokacie
˛
(a, b) × (0, d) i niech (X, U ) bedzie
˛
pierwszym
punktem tego ciagu,
˛
który wpada do zbioru A. Wtedy punkt losowy (X, U ) ma rozkład
równomierny na zbiorze A.
Twierdzenie 2. (a) Jeżeli U ma rozkład równomierny U(0, 1), X ma rozkład o gestości
˛
f (x) oraz X i U sa˛ niezależne, to punkt losowy (X, U f (X)) ma rozkład równomierny na
zbiorze A.
(b) Jeżeli punkt losowy (X, U ) ma rozkład równomierny na zbiorze A, to zmienna losowa
X ma rozkład o gestości
˛
f (X).
5
Metoda eliminacji - wariant ogólny
Twierdzenie 3. Przypuśćmy, że ξ1, ξ2, . . . jest ciagiem
˛
niezależnych elementów losowych o jednakowym
˛
zbiorem w Rk , takim że P (ξ1 ∈ A) > 0 oraz niech η oznacza element
rozkładzie w Rk . Niech A bedzie
losowy równy pierwszemu elementowi ξn , przyjmujacemu
˛
wartość w zbiorze A. Wtedy dla B ∈ Rk zachodzi
równość
1
P (η ∈ B) = P (ξ1 ∈ A ∩ B),
p
gdzie p = P (ξ1 ∈ A). W szczególności, jeżeli ξ1, ξ2, . . . sa˛ niezależnymi punktami losowymi o rozkładzie
równomiernym na pewnym zbiorze Ω ⊃ A, to η ma rozkład równomierny na zbiorze A.
Twierdzenie 4. (a) Jeżeli X jest punktem losowym o rozkładzie z gestości
˛
a˛ g w k-wymiarowej przestrzeni
k
R , U jest zmienna˛ losowa˛ o rozkładzie równomiernym U(0, 1) i X oraz U sa˛ niezależne, to punkt losowy
(X, cU g(X)) ma rozkład równomierny na zbiorze Ω = {(x, u) : x ∈ Rk , 0 ≤ u ≤ cg(x)} ⊂ Rk+1 , gdzie
c > 0 jest dowolna˛ stała.
˛
(b) Odwrotnie: jeżeli punkt losowy (X, U ) ma rozkład równomierny na zbiorze Ω, to X ma rozkład o gestości
˛
g.
6
Algorytm generujacy
˛ liczby losowe o rozkładzie z gesto
˛
ścia˛ f (x):
Repeat
Generuj X o rozkładzie z gestości
˛
a˛ g
Generuj U o rozkładzie równomiernym U(0, 1)
until
cU g(X) ≤ f (X)
Return X
Przykład: generowanie rozkładu normalnego za pomoca˛ rozkładu wykładniczego
Repeat
Generuj X ∼ E(0, 1)
Generuj U ∼ U(0, 1)
untilq
q
2e U exp (−X) ≤ 2 exp (−X 2 /2)
π
π
Return X
7
Warunki szybkiej eliminacji lub szybkiej akceptacji
W przedstawionym algorytmie pojawił sie˛ warunek:
U ≤
f (X)
.
cg(X)
(1)
Niech α(x), β(x) bed
˛ a˛ funkcjami, takimi że
f (x)
α(x) ≤
≤ β(x)
cg(x)
Warunek szybkiej akceptacji: {U ≤ α(X)}.
Warunek szybkiej eliminacji: {U > β(X)}.
dla wszystkich x.
Uogólnienie opisanego pomysłu polega na konstrukcji ciagu
˛ nierówności:
f (x)
≤ β1(x) ≤ β2(x) ≤ . . . ≤ βl (x)
cg(x)
i kolejnym sprawdzaniu odpowiednich warunków:
αk (x) ≤ αk−1(x) ≤ . . . ≤ α1(x) ≤
f (x)
.
U ≤ αk (X), U > βl (X), U ≤ αk−1(X), . . . , U ≤
cg(x)
8
Modyfikacje metody eliminacji
1. Metoda ściskania (ang. squeezing), (Marsaglia, 1977)
2. Metoda akceptacji i dopełnienia (ang. acceptance-complement), (Kronmal, Peterson,
1981)
3. Metoda odwracania i eliminacji (ang. inversion-rejection), (Devroye, 1986)
4. Metoda szeregów, (Devroye, 1986).
9
Metoda dekompozycji rozkładu - konstrukcja ogólna
Przedstawmy gestość
˛
f rozkładu zmiennej losowej X w nastepuj
˛ acej
˛ postaci:
f (x) =
Z +∞
−∞
gt(x)h(t)dt,
(2)
gdzie h(t) jest gestości
˛
a˛ pewnego rozkładu prawdopodobieństwa,
gt(x) dla każdego t ∈ R jest również pewna˛ gestości
˛
a.
˛
Algorytm generujacy
˛ liczby losowe o rozkładzie z gesto
˛
ścia˛ f (x):
1. Wygenerować zmienna˛ losowa˛ T według rozkładu o gestości
˛
h.
2. Dla wygenerowanej wartości t zmiennej losowej T wygenerować X według rozkładu
z gestości
˛
a˛ gt(x).
Reprezentacja (2) gestości
˛
f (x) w szczególności obejmuje przypadek, w którym
f (x) =
+∞
X
pigi(x),
(3)
i=1
gdzie pi ≥ 0,
stwa.
P∞
˛
pewnych rozkładów prawdopodobieńi=1 pi = 1 oraz gi sa˛ gestościami
10
W praktycznych zastosowaniach najcz˛eściej używa sie˛ dekompozycji
f (x) =
K
X
pigi(x),
(4)
i=1
PK
gdzie K jest skończona,
˛ zwykle nieduża˛ liczba,
˛ pi ≥ 0, i=1 pi = 1.
Algorytm generujacy
˛ liczby losowe o rozkładzie z gesto
˛
ścia˛ f (x):
1. Generuj zmienna˛ losowa˛ I o wartościach w zbiorze {1, 2, . . . , K} zgodnie z rozkładem
zadanym przez prawdopodobieństwo pi.
2. Dla wygenerowanej wartości I = i generuj X zgodnie z gestości
˛
a˛ prawdopodobieństwa gi(x).
11
Przykład: (dodatnia połówka rozkładu normalnego N(0, 1))
Generujemy zmienna˛ losowa˛ X o rozkładzie z gestości
˛
a˛ f (x) =
Przedstawmy te˛ gestość
˛
w postaci
q
2 e(−x2/2), x ≥ 0.
π
f (x) = α1f1(x)g1(x) + α2f2(x)g2(x),
gdzie
α1 =
q
2
π(
f1(x) =
α2 = √1
1
0
2
g1(x) = e−x /2
dla 0 ≤ x ≤ 1,
poza tym,
2π
(
f2(x) =
2e−2(x−1)
0
dla x ≥ 1,
poza tym,
2
g2(x) = e−(x−2) /2
Ponieważ α1/(α1 + α2) = 2/3 i α2/(α1 + α2) = 1/3, wiec
˛ z prawdopodobieństwem
2/3 generujemy zmienna˛ losowa˛ X ∼ f1 i dokonujemy ewentualnej eliminacji według
funkcji g1 lub z prawdopodobieństwem 1/3 generujemy zmienna˛ losowa˛ X ∼ f2 i dokonujemy eliminacji według funkcji g2.
12
Metoda ROU (ang. ratio-of-uniforms method)
Niech dla danej nieujemnej i całkowalnej funkcji f (x), −∞ < x < +∞,
(
A = (u, v) : 0 ≤ u ≤
s )
v
f
u
.
Twierdzenie 5. Jeżeli punkt losowy (U, V ) ma rozkład równomierny na zbiorze A, to
R
zmienna losowa X = V /U ma rozkład o gestości
˛
f /c, gdzie c = f = 2l2(A).
Jeżeli zbiór A można zamknać
˛ w pewnym prostokacie
˛
{(u, v) : 0 < u < b, a− ≤ v ≤ a+}, to algorytm przyjmuje postać:
Repeat
Generuj U o rozkładzie równomiernym U (0, b).
Generuj V o rozkładzie równomiernym U (a−, a+)
X = V /U
until U 2 ≤ f (X)
Return X
13
• Wprowadzajac
˛ parametr t = v/u, możemy napisać równania parametryczne
zbioru A:
u=
q
f (t),
q
v = t f (t).
• Jeżeli zbiór A ma być zamkniety
˛ w prostokacie
˛
[a−, a+] × (0, b), to stałe a−, a+, b
musza˛ spełniać warunki
b ≥ sup
t
q
f (t),
q
−
a ≤ inf t f (t),
t
q
+
a ≥ sup t f (t),
t
optymalne stałe a−, a+, b spełniaja˛ te warunki ze znakami równości.
14
Przykład: (rozkład wykładniczy E(0, 1))
Dla rozkładu wykładniczego E(0, 1) mamy f (x) = e−x, x ≥ 0.
W tym przypadku a− = 0, a+ = 2/e, b = 1.
Algorytm:
Repeat
Generuj U ∼ U(0, 1)
Generuj U ∼ U(0, 2/e)
X = V /U
until U 2 ≤ e−x
Return X
15
Testowanie generatorów liczb losowych
Testy zgodności z rozkładem U(0, 1)
Testy zgodności rozkładów statystyk
Test momentów
Test serii
Testy kombinatoryczne
16
• Niech u1, u2, . . . , un bedzie
˛
ciagiem
˛
liczb wygenerowanych za pomoca˛ generatora
rozkładu równomiernego na przedziale (0, 1). Oczekujemy, że możemy traktować
ten ciag
˛ jako próbe˛ losowa,
˛ tzn. jako realizacje˛ ciagu
˛ U1, U2, . . . , Un liczb losowych
o rozkładzie U (0, 1).
• Testowanie generatora polega na obliczeniu wartości odpowiedniej statystyki testowej
i porównaniu jej z wartościa˛ krytyczna˛ właściwa˛ dla zastosowanego testu. Pozytywny
wynik testu jest pewnym argumentem za tym, że wygenerowane liczby maja˛ odpowiednie własności.
• W celu przetestowania generatora powinno zastosować sie˛ kilka lub kilkanaście różnych testów.
• Nie można na tym poprzestać, nawet jeśli n jest duże. Po pierwsze przy nastepnym
˛
zadaniu wystartujemy zapewne z innego ziarna. Po drugie w trakcie wykonywania
jednego testu mogliśmy mieć pecha lub szcz˛eście. Jeśli np. otrzymana wartość statystyki wystepuje
˛
w 0.5% przypadków, to rzeczywisty ciag
˛ losowy bedzie
˛
ja˛ realizował
przecietnie
˛
jeden raz na 200.
17
Metodyka testowania generatorów
1) ustalamy liczbe˛ n i startujac
˛ z losowo wybranej liczby poczatkowej,
˛
generujemy
n kolejnych liczb;
2) obliczamy wartość statystyki testowej T ;
3) obliczamy wartość F (T ), gdzie F jest dystrybuanta˛ rozkładu statystyki T , gdy
weryfikowana hipoteza jest prawdziwa;
4) powtarzamy powyższa˛ operacje˛ N razy, obliczajac
˛ w kolejnych krokach wartości
statystyk: T1, T2, . . . , TN . Jeżeli weryfikowana hipoteza jest prawdziwa, to
F (T1), F (T2), . . . , F (TN ) jest ciagiem
˛
niezależnych zmiennych losowych
o jednakowym rozkładzie równomiernym U (0, 1).
18
Testy zgodności z rozkładem U(0, 1)
Test chi-kwadrat
Niech zmienna losowa X ma dystrybuante˛ F .
Hipoteza statystyczna ma postać:
H: X∼F
K: X≁F
(5)
Niech a i b bed
˛ a˛ takie, że F (a) = 0 oraz F (b) = 1 (nie wyklucza sie˛ a = −∞ i/lub
˛
rozbiciem przedziału [a, b],
b = +∞). Niech a = a0 < a1 < . . . < ak = b bedzie
˛
liczba˛ elementów X ciagu
˛
pi = P (ai−1 < X ≤ ai), i = 1, . . . , k. Niech ni bedzie
X1, X2, . . . , Xn, które wpadły do przedziału ai−1 < X ≤ ai.
Statystyka testu:
T =
k
X
(ni − npi)2
i=1
(6)
npi
Gdy n jest duże a rozbicie takie, że liczby npi „nie sa˛ zbyt małe”, statystyka T ma w przybliżeniu rozkład chi-kwadrat o (k − 1) stopniach swobody.
19
Test Kołmogorowa
Niech zmienna losowa X ma ciagł
˛ a˛ dystrybuante˛ F .
Hipoteza statystyczna ma postać:
H: X∼F
K: X≁F
(7)
Statystyka testowa:
Dn =
sup
−∞<x<+∞
|Fn(x) − F (x)|,
(8)
gdzie
n
1 X
(Xj ).
1
Fn(x) =
n j=1 (−∞,x]
Jeżeli próba X1, X2, . . . , Xn pochodzi z rozkładu o dystrybuancie F , to Dn → 0 z prawd. 1.
Wartości krytyczne Dn(α) zostały stablicowane.
i
+ = max
− = max F (X ) − i − 1 , D = max {D +, D − },
− F (Xi:n) , Dn
Dn
n
i:n
n
n
1≤i≤n n
1≤i≤n
n
gdzie Xi:n oznacza i-ta˛ statystyk˛e pozycyjna˛ z próby.
20
Testy zgodności rozkładów statystyk
21
• Jeżeli X1, X2, . . . jest ciagiem
˛
niezależnych zmiennych losowych z rozkładu U (0, 1),
to ciag
˛ (X1, X2, . . . , Xm), (Xm+1, Xm+2, . . . , X2m), . . . jest ciagiem
˛
niezależnych
zmiennych losowych z rozkładu U (0, 1)m.
• Niech
y = h(x1, x2, . . . , xm)
(9)
bedzie
˛
funkcja˛ określona˛ na (0, 1)m. Zakładamy, że funkcja ta jest zmienna˛ losowa,
˛
gdy jej argumenty sa˛ niezależnymi zmiennymi losowymi z rozkładu U (0, 1).
• Yj = h(X(j−1)m+1, X(j−1)m+2, . . . , Xjm), j = 1, 2, . . . jest ciagiem
˛
niezależnych
zmiennych losowych o jednakowym rozkładzie.
• Niech G(y) = P (Yj ≤ y), gdy X1, X2, . . . sa˛ niezależne i maja˛ jednakowy rozkład
równomierny U(0, 1).
22
Testowanie generatora na podstawie funkcji h:
1) generujemy ciag
˛ zmiennych losowych X1, X2, . . . i przekształcamy go za pomoca˛
funkcji h na ciag
˛ zmiennych losowych Y1, Y2, . . .
2) Dla ciagu
˛ Y1, Y2, . . . weryfikujemy hipotez˛e, że jest ona próbka˛ prosta˛ z populacji
o dystrybuancie G. Odrzucenie tej hipotezy prowadzi do dyskwalifikacji generatora
liczb losowych X1, X2, . . ..
Przykłady:
1. Testy oparte na statystykach pozycyjnych,
2. Test sum,
3. Test d2,
4. Test urodzin dla spacji,
5. Test najmniejszej odległości w parach.
23
Test momentów
Twierdzenie 6. Niech ξ1, ξ2, . . . , ξN bed
˛ a˛ niezależnymi zmiennymi losowymi o jednakowym rozkładzie z dystrybuanta˛ F . Niech FN oznacza dystrybuante˛ unormowanej zmiennej losowej ξ̄N = (ξ1 + ξ2 + . . . + ξN )/N . Jeżeli istnieja˛ wszystkie momenty zmiennej
losowej ξ oraz lim sup|t|→∞ |E(exp(itξ))| < 1, to
1 µ3 (2)
1 µ4
1 µ5
µ3
(3)
(3)(x)+. . . ,
ϕ
(x)+
−
3
ϕ
(x)−
−
10
ϕ
FN (x) = Φ(x)−
3! σ 3
4! σ 4
5! σ 5
σ3
(10)
gdzie Φ(x) i ϕ(x) sa,
˛ odpowiednio, dystrybuanta˛ i gestości
˛
a˛ rozkładu normalnego N(0, 1),
˛
oraz µk jest k-tym momentem centralnym zmiennej
ϕ(i) jest i-ta˛ pochodna˛ tej gestości
losowej ξ̄N , σ 2 = µ2. Bład
˛ aproksymacji rozkładu zmiennej losowej ξ̄N za pomoca˛ powyższego wzoru jest takiego samego rz˛edu jak pierwszy odrzucony wyraz rozwiniecia.
˛
24
Niech X1, X2, . . . , XN bed
˛ a˛ zmiennymi losowymi o rozkładzie równomiernym U(0, 1).
Dla zmiennej losowej X̄N mamy: µ = E(X̄N ) = 1/2, σ 2 = µ2 = 1/12N , µ3 = 0,
µ4 = 1/80N 3 + (N − 1)/48N 3, µ5 = 0, . . .
Dla dystrybuanty zmiennej losowej X̄N mamy:
P (X̄N ≤ x) = P
x−µ
X̄N − µ
1 √
≤
= Φ((x − ) 12N )
σ
σ
2
1
1 √
(3)
ϕ ((x − ) 12N ) + . . .
−
20N
2
!
(11)
Weryfikacja wartości średniej w ciagu
˛ liczb losowych z wartościa˛ średnia˛
teoretyczna:
˛
H : E(X̄N ) = 1/2
K : E(X̄N ) 6= 1/2
P (X̄N ≤ x̄N ) < α/2 lub P (X̄N ≤ x̄N ) > 1 − α/2 ⇒ odrzucamy hipotez˛e H
(x̄N jest zaobserwowana˛ wartościa˛ zmiennej losowej X̄N )
25
D2(X) = E(X 2) − (E(X))2
Jeżeli Xi sa˛ zmiennymi losowymi o rozkładzie równomiernym U(0, 1), to zmienne Xi2
√
maja˛ gestość
˛
prawdopodobieństwa równa˛ 1/(2 x) na przedziale (0, 1) i równa˛ zeru poza
nim. Mamy wiec
˛ E(Xi2) = 1/3, i = 1, 2, . . . , N.
Weryfikacja wariancji w ciagu
˛ liczb losowych z wariancja˛ teoretyczna:
˛
2 ) = 1/3
H : E(X̄N
2 ) 6= 1/3
K : E(X̄N
2 =
Dla dystrybuanty zmiennej losowej X̄N
PN
2 /N mamy:
X
i=1 i




s
s
45N  0.1065 (2) 
45N 
1
2 ≤ x) = Φ  x − 1
ϕ
P (X̄N
− √
x−
+ ...
3
4
N
3
4
(12)
2 ≤ x̄ ) < α/2 lub P (X̄ 2 ≤ x̄ ) > 1 − α/2 ⇒ odrzucamy hipotez˛
eH
P (X̄N
N
N
N
26
Test serii
Niech X1, X2, . . . , XN bedzie
˛
ciagiem
˛
liczb losowych o rozkładzie z dystrybuanta˛ F
i X bedzie
˛
zmienna˛ losowa˛ o rozkładzie z dystrybuanta˛ F .
Niech
Y =
(
a, gdy X ∈ A
b, gdy X ∈ B
(13)
Niech p = P (Y = a), wtedy P (Y = b) = 1 − p.
Przykładowa realizacja ciagu
˛ Y1, Y2, . . . , YN :
a a b a b b b a b b b.
(14)
Odcinekiem elementarnym ciagu
˛ postaci (5) nazywamy każdy odcinek składajacy
˛ sie˛ z jednakowych elementów.
Seria˛ nazywamy każdy odcinek elementarny, który przez przedłużenie w lewo lub w prawo
przestaje być odcinkiem elementarnym.
W przykładowym ciagu
˛ (5) mamy nastepuj
˛ ace
˛ serie: aa, b, a, bbb, a, bbb.
27
Zakładajac,
˛ że pojawienie sie˛ kolejnych elementów w ciagu
˛ Y1, Y2, . . . , YN jest losowe,
ogólna liczba serii w ciagu
˛ N -elementowym jest zmienna˛ losowa˛ R o znanym i ujetym
˛
w tablice rozkładzie. Jest ona statystyka˛ w teście serii.
Dla ustalonego poziomu istotności α szukamy takich dwóch wartości krytycznych R1 i R2,
żeby
α
P (R < R1) = P (R > R2) = .
2
Jeśli zaobserwowana liczba serii jest mniejsza od R1 lub wieksza
˛
od R2, to weryfikowana˛
hipotez˛e odrzucamy. Liczby R1 i R2 oblicza sie˛ rozwiazuj
˛ ac
˛ równania
RX
1 −1
α
P (R = j) = ,
2
j=0
N
X
α
P (R = j) = .
2
j=R2+1
28
Testy kombinatoryczne
• testy kombinatoryczne należa˛ do tzw. testów niezależności (losowości próby).
• służa˛ do sprawdzenia, czy kolejno produkowane przez generator liczby sa˛
niezależnymi zmiennymi losowymi, czyli weryfikowana jest hipoteza, że zmienna
losowa (X1, X2, . . . , Xn) ma rozkład o dystrybuancie postaci
H(x1, x2, . . . , xn) = F (x1)F (x2) · · · F (xn).
Przykłady:
1. Test pokerowy,
2. Test kolekcjonera,
3. Test kolizji i test liczby pustych cel,
4. Test permutacji,
5. Test oparty na rz˛edzie losowych macierzy binarnych.
29
Pakiety testów statystycznych:
• SP800-22 (polecane do oceny generatorów stosowanych w kryptografii)
• DIEHARD (Marsaglia, dostepny
˛
na http://stat.fsu.edu/ geo/diehard.html)
• Ent (Walker, dostepny
˛
na http://www.fourmilab.ch/random/)
30