Cvičení 10: Generování realizací spojité náhodné veličiny Metoda inverzní transformace Pro generování realizací některých spojitých náhodných veličin se používá metoda inverzní transformace, která je založena na dvou následujících větách. Věta 1.: Nechť spojitá náhodná veličina X má rostoucí distribuční funkci Φ(x) (tzn., že k ní existuje inverzní funkce Φ-1 (y) – tzv. kvantilová funkce). Pak transformovaná náhodná veličina Y = Φ(X) má rozložení Rs(0,1). Důkaz: Označme Φ*(y) distribuční funkci náhodné veličiny Y. ( ) ( ) ( )( ) ( )( ) ( )( ) ( )0,1yproyyyXPyXPyYPy 11 * ∈=ΦΦ=Φ≤=≤Φ=≤=Φ −− , ( ) ( 0,-ypro0y* ∞∈=Φ , ( ) )∞∈=Φ ,1ypro1y* Tedy Y ~ Rs(0,1). Věta 2.: Nechť X ~ Rs(0,1) a nechť Φ je rostoucí spojitá distribuční funkce. Pak transformovaná náhodná veličina Y = Φ-1 (X) má distribuční funkci Φ. Důkaz: Označme Φ*(y) distribuční funkci náhodné veličiny Y. ( ) ( ) ( )( ) ( )( ) ( )yyXPyXPyYPy 1 * Φ=Φ≤=≤Φ=≤=Φ − , protože X ~ Rs(0,1). Postup: 1. krok: Z rozložení Rs(0,1) vygenerujeme číslo u. 2. krok: Číslo u transformujeme vztahem x = Φ-1 (u). Kroky 1 a 2 se opakují n-krát. Úkol 1.: Vygenerujte 1000 realizací náhodné veličiny z rozložení Rs(-2, 5), nakreslete histogram a vypočtěte průměr a směrodatnou odchylku. Návod: Hustota: ( )     ∈ =ϕ inakjpro0 2,5-xpro 7 1 x , distribuční funkce: ( )        > −∈ + −< =Φ 7xpro1 7,2prox 7 2x 2prox0 x , inverzní funkce k distribuční funkci (tzv.kvantilová funkce): ( ) u72u1 +−=Φ− , kde 0 < u < 1. Vytvoříme nový datový soubor o dvou proměnných (nazveme je u a x) a 1000 případech. Do proměnné u uložíme náhodná čísla z intervalu (0, 1), tj. do Dlouhého jména této proměnné napíšeme =rnd(1). Proměnná x vznikne transformací proměnné u. Do Dlouhého jména proměnné x napíšeme =-2+7*u. Vykreslíme histogram proměnné x. Histogram by měl sestávat ze sedmi téměř stejně vysokých obdélníků na intervalu 5,2− . Průměr a směrodatnou odchylku proměnné x vypočteme pomocí cesty Statistiky – Základní statistiky a tabulky – Popisné statistiky. Průměr by měl být blízký 1,5, směrodatná odchylka 2,02 (proč?). Úkol 2.: Vygenerujte 1000 realizací náhodné veličiny z rozložení Ex(2) nakreslete histogram a vypočtěte průměr a směrodatnou odchylku. Návod: Hustota: ( )    ≤ >λ =ϕ λ− 0xpro0 0xproe x x , distribuční funkce: ( )    ≤ >− =Φ λ− 0xpro0 0xproe1 x x , inverzní funkce k distribuční funkci (tzv.kvantilová funkce): ( ) ( )u1ln 1 u1 − λ −=Φ− , kde 0 < u < 1. Vytvoříme nový datový soubor o dvou proměnných (nazveme je u a x) a 1000 případech. Do proměnné u uložíme náhodná čísla z intervalu (0, 1), tj. do Dlouhého jména této proměnné napíšeme =rnd(1). Proměnná x vznikne transformací proměnné u. Do Dlouhého jména proměnné x napíšeme =-0,5*log(1-u). Vykreslíme histogramy proměnných u a x. První histogram by měl sestávat z 10 téměř stejně vysokých obdélníků na intervalu 1,0 , tvar druhého histogramu by se měl blížit exponenciále. Průměr proměnné x by se měl blížit 0,5, směrodatná odchylka rovněž (proč?) Upozornění: V systému STATISTICA lze realizace náhodné veličiny s exponenciálním rozložením generovat též pomocí funkce RndExp(lambda). Histogram z u -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 1,1 u 0 20 40 60 80 100 120 Početpozorování Histogram z x -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 x 0 100 200 300 400 500 600 700 Početpozorování Úkol k samostatnému řešení: Vygenerujte 1000 realizací náhodné veličiny s hustotou ( )    ≤≤ =ϕ jinak0 1x0prox4 x 3 a nakreslete histogram. Boxova – Müllerova transformace pro generování realizací náhodné veličiny s normálním rozložením: Nechť x1, x2 jsou dvě nezávislá čísla z Rs(0,1). Pak transformovaná čísla 212211 x2sinxln2z,x2cosxln2z π−=π−= lze považovat za realizace náhodné veličiny s rozložením N(0,1). Úkol 3.: Pomocí B-M transformace vygenerujte 1000 realizací náhodné veličiny se standardizovaným normálním rozložením a nakreslete histogram. Návod: Vytvoříme nový datový soubor o 4 proměnných (nazveme je x1, x2, z1, z2) a 500 případech. Do Dlouhého jména proměnných x1 a x2 napíšeme =rnd(1), do Dlouhého jména proměnné z1 napíšeme =sqrt(-2*log(x1))*cos(2*pi*x2) a do Dlouhého jména z2 napíšeme =sqrt(-2*log(x1))*sin(2*pi*x2). Dále vytvoříme nový datový soubor o jedné proměnné (nazveme ji z) a 1000 případech. Do případů 1 – 500 okopírujeme hodnoty proměnné z1 a do případů 501 – 1000 okopírujeme hodnoty proměnné z2. Vykreslíme histogram proměnné z s proloženou Gaussovou křivkou. -3,5 -3,0 -2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 Prom1 0 20 40 60 80 100 120 140 160 180 200 220 Početpozorování Úkol k samostatnému řešení: Proměnnou z vytvořenou v úkolu 2 transformujte na proměnnou s rozložením N(1, 1,5) Upozornění: V systému STATISTICA lze realizace náhodné veličiny s normálním rozložením N(0, σ2 ) generovat pomocí funkce RndNormal(σ).