16 3. Generowanie zmiennych losowych I. Ogólne metody
Zajmiemy się teraz pytaniem, jak „wyprodukować” zmienne losowe o różnych rozkładach,
wykorzystując zmienne Ui,U2,____W tym podrozdziale pokażę kilka przykładów, a w następnym
przedstawię rzecz nieco bardziej systematycznie.
Przykład 3.2 (Rozkład Wykładniczy). To jest wyjątkowo łatwy do generowania rozkład -wystarczy taki algorytm:
Listing.
Gen U; X := -±lnU
Na wyjściu, X ~ Ex(A). Żeby się o tym przekonać, wystarczy obliczyć dystrybuantę tej zmiennej losowej: P(X < x) = P(- j log U < z) = P(U > e~Xx) - 1 - e-Ax. Jest to najprostszy przykład ogólnej metody „odwracania dystrybuanty”, której poświęcę następny podrozdział.
Przykład 3.3 (Generacja rozkładu normalnego). Zmienna losowa
12
X = '£Ui-6
i= 1
ma w przybliżeniu standardowy rozkład normalny N(0,1). Wynika to z Centralnego Twiedzenia Granicznego (jeśli uznamy, że liczba 12 jest dostatecznie bliska oo; zauważmy, że EAT = 0 i VarX = 1). Oczywiście, w czasach szybkich komputerów ta przybliżona metoda zdecydowanie nie jest polecana. Jest natomiast pouczające zbadać (symulacyjnie!) jak dobre jest przybliżenie. Faktycznie bardzo trudno odróżnić próbkę X\,..., Xn wyprodukowaną przez powyższy algorytm od próbki pochodzącej dokładnie z rozkłdu N(0,1) (chyba, że n jest ogromne).
Przykład 3.4 (Algorytm Boxa-Mullera). Oto, dla porównania, bardziej współczesna - i całkiem dokładna metoda generowania zmiennych o rozkładzie normalnym.
Listing.
Gen £/i; 0 := 2nUlt Gen u2; R := \/-21n t/2,
Gen X := J?cos0; Y := RsinO
Na wyjściu obie zmienne X i Y mają rozkład N(0,1) i w dodatku są niezależne. Uzasadnienie poprawności algorytmu Boxa-Miillera opiera się na dwu faktach: zmienna R2 = X2 + Y2 ma rozkład x2(2) = Ex(l/2), zaś kąt 0 między osią i promieniem wodzącym punktu (X, Y) ma rozkład U(0,27t).
Ciekawe, że łatwiej jest generować zmienne losowe normalne „parami”.
Doświadczenie, polegające na wygenerowaniu zmiennych losowych X i Y powtórzyłem 10000 razy. Na Rysunku 3.1 widać 10000 wylosowanych w ten sam sposób i niezależnie punktów (X, Y), histogramy i gęstości brzegowe X i Y (każda ze współrzędnych ma rozkłd N(0,1)) oraz histogram i gęstość R2 = X2 + Y2 ( rozkład wykładniczy Ex(l/2)).
Histogram jest „empirycznym” (może w obecnym kontekście należałoby powiedzieć „symulacyjnym”) odpowiednikiem gęstości: spośród wylosowanych wyników zliczane są punkty należące do poszczególnych przedziałów.