Box-Muller módszer

A Box-Muller módszer ( George EP Box és Mervin E. Muller, 1958) abból áll, hogy véletlenszám- párokat állít elő csökkentett központú normális eloszlású , egyenletes eloszlású véletlenszám- forrásból .

Az átalakulás általában két formát ölthet.

Az inverz transzformációs módszer normálisan elosztott számok előállítására is használható ; a Box-Muller módszer pontosabb és gyorsabb. Fontolóra vehetjük a ziggurat módszert is , amely sokkal gyorsabb.

A poláris módszert a GCC fordító standard C ++ könyvtárában használják a normál eloszlású változók mintavételére.

Szentírás

Box-Muller transzformáció

Let és két véletlen változó független egyenletesen elosztva] 0,1].

Lenni

és

Ekkor Z 0 és Z 1 független véletlen változó a csökkent középpontú normális eloszlás után .

Poláris módszer

Ez a módszer George Marsaglia  (en) és TA Bray miatt a következő tényen alapul: ha egy pontot egységesen választanak az egységlemezre, akkor a szegmensben egy változó és a körön egy egységes pont van kettő független. A Box-Muller-transzformáció következtében ez

független, véletlenszerű változók, csökkent középpontú normális eloszlást követve .

A párból mintát vesznek az elutasítási módszerrel . A változók és a dolgozzák egyenletesen és egymástól függetlenül a szegmensben . Aztán kiszámoljuk . Ha vagy , akkor utasítsuk el, és válasszunk újra egy párat , amíg az nem tartozik .

Magyarázatok

Ennek az átalakításnak az igazolása a normális törvény valószínűségi mértékének poláris koordinátákká történő átalakításából származik :

az s = r 2 beállításával .

Így láthatjuk, hogy az S és Θ változók függetlenek (a pár sűrűsége a sűrűségek szorzata), és két különböző törvényt követnek:

Ezután az S változót inverz transzformációs módszerrel állítják elő . Akkor csak írja be az egyenlőségeket és .

A két forma összehasonlítása

A poláris módszer egy elutasító mintavételi módszer , amely csak a véletlenszerű forrás által generált számok egy részét használja, de a gyakorlatban gyorsabb, mint a Box-Muller transzformáció, mert könnyebb kiszámítani:

Megjegyzések és hivatkozások

  1. George EP Box, Mervin E. Muller, „A Note on the Random Normal Deviates Generation”, The Annals of Mathematical Statistics Vol. 29. szám, 2. szám (1958. jún.), Pp. 610-611 DOI : 10,1214 / aoms / 1177706645 , JSTOR : 2237361
  2. "  c ++ - Hogyan alakítják a C ++ 11 osztály eloszlásai az alapgenerátort?  » , On Stack Overflow (hozzáférés : 2020. január 22. )
  3. (in) G. Marsaglia és TA Bray , "  Kényelmes módszer normál változók létrehozására  " , SIAM Review , 1. évf.  6, n o  3,1964. július, P.  260–264 ( ISSN  0036-1445 és 1095-7200 , DOI  10.1137 / 1006063 , online olvasás , hozzáférés : 2020. január 22. )
  4. Devroye, Luc. , Nem egységes véletlenszerű variáns generáció , Springer-Verlag ,1986, 843  p. ( ISBN  978-1-4613-8643-8 , 1-4613-8643-8 és 978-1-4613-8645-2 , OCLC  696.038.277 , olvasható online ) , p.  5. fejezet
  5. Sheldon Ross, A valószínűség első tanfolyama (2002), 279-81
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">