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