Testy náhodnosti, metody transformace náhodných čísel na hodnoty náhodných veličin
Poskytuje daný generátor opravdu posloupnost náhodných čísel? To je nutno testovat! K tomuto účelu se používají tzv. empirické testy náhodnosti, které hodnotí vlastnosti vygenerované posloupnosti, nebo testy teoretické, vycházející z teorie čísel. Testů bylo navrženo několik, žádný test nám ovšem nedává definitivní jistotu. Úspěšnost v několika testech zvyšuje důvěru v náhodnost čísel. Čísla generovaná počítačem jsou tedy prohlášena za náhodná, jestliže testy nemohou odhalit rozdíl mezi čísly získané aritmetickým generátorem a skutečně náhodnou posloupností.
Testy náhodnosti Slouží k ověření, že náhodná čísla jsou skutečně náhodná, tj. mají rovnoměrné rozdělení na intervalu (0;1) Frekvenční test Poker test Test autokorelace
1. Frekvenční test Test je využíván k testování rovnoměrnosti rozdělení náhodných čísel. Interval (0,1) rozdělíme na k intervalů (pozn. intervaly nemusejí být stejné délky). Pravděpodobnost, že náhodná veličina nabude hodnoty z intervalu (a,b) je rovna rozdílu b-a. Nulová hypotéza předpokládá shodu očekávaných a skutečných četností v jednotlivých intervalech. Nejpoužívanějším testem je chí-kvadrát test dobré shody.
Frekvenční test (pokračování) Hodnota chí-kvadrát pro k intervalů se vypočítá podle vzorce: kde oj je očekávaná četnost v intervalu j, ej je empirická četnost v intervalu j. Vypočtená hodnota se porovná s kritickou hodnotou s k-1 stupni volnosti pro zvolenou hladinu statistické významnosti. Při překročení kritické hodnoty zamítneme na určené hladině významnosti nulovou hypotézu o rovnoměrném rozdělení souboru náhodných čísel.
2. Poker test Testuje četnost výskytu různých číslic ve vygenerovaných náhodných číslech Varianta Název Pravděpodobnost a b c d e Všechny různé 0,3024 a a b c d Jedna dvojka 0,5040 a a b b c Dvě dvojky 0,1080 a a a b c Trojka 0,0720 a a a b b Dvojka a trojka 0,0090 a a a a b Čtyřka (poker) 0,0045 a a a a a Pětka 0,0001
3. Test autokorelace K ověření existence či neexistence vazeb mezi prvky posloupnosti náhodných čísel r1, r2, …, rN
Metody transformace náhodných čísel na hodnoty náhodných veličin Vygenerujeme náhodné číslo z intervalu (0;1), to pak transformujeme pomocí vhodné metody na náhodnou veličinu zvoleného rozdělení (rovnoměrného, normálního, …) Metoda inverzní transformace Zamítací metoda Kompoziční metoda
A. Metoda inverzní transformace Předpokládá, že existuje rostoucí distribuční funkce F(x) pro náhodnou veličinu X a také funkce k ní inverzní F-1(x) Pokud je hodnota x náhodné veličiny X z intervalu (a,b) a náhodné číslo r(0;1), pak mezi nimi existuje vzájemně jednoznačné přiřazení. r = F(x) x = F-1(r)
B. Zamítací metoda Hustota pravděpodobnosti f(x) je ohraničena v intervalu (a,b) Existuje číslo c takové, že f(x) ≤ c Generujeme body [x;y], x(a,b), y(0,c) Pokud je y > f(x), generujeme znovu, jinak je x generovaná hodnota z požadovaného rozdělení
C. Kompoziční metoda Skládá „špatně generovatelné“ či složité rozdělení z rozdělení jednodušších Pokud je fi(x) hustota pravděpodobnosti dobře generovatelného rozdělení a pi náhodně nagenerované číslo pro i-tý výběr, pak hustota pravděpodobnosti složitého rozdělení f(x):