Transformasi Box-Muller

**Transformasi Box-Müller** (diwanohkeun ku George Edward Pelham Box jeung Mervin Edgar Müller 1958) nyaéta métodeu  keur ngarundaykeun pasangan mandiri ilahar dina sebaran normal (ekspektasi nol, varian hiji) tina wilangan acak, nu sumber wilangan acakna tina sebaran seragam.

Geus ilahar ditembongkeun dina dua wanda. Wanda dasar nyaéta dijéntrékeun ku Box jeung Müller nu nyokot dua sampel tina sebaran seragama dina interval  terus dipetakeun kana dua sample sebaran normal. Wanda *polar* nu nyokot dua sampel tina interval nu béda, [&minus;1,&nbsp;+1], terus dipetakuen kana dua sampel sebaran normal tur teu maké fungsi sinus atawa kosinus.

Nu hiji kudu maké metoda sampling transformasi invers keur ngarundaykeun wilangan acak sebaran-normal; tansformasi Box-Müller geus diwangun dina métodeu  komputasi nu leuwih efektif. Salian ti eta, algoritma Ziggurat ogé bisa dipaké.

## Wanda dasar 
Anggap *U*1 jeung *U*2 mangrupa variabel acak mandiri tina sebaran seragam dina interval . Mangka

:Z_0 = R \cos(\Theta) =\sqrt{-2 \ln U_1} \cos(2 \pi U_2)\,

sarta

:Z_1 = R \sin(\Theta) = \sqrt{-2 \ln U_1} \sin(2 \pi U_2).\,

Mangka *Z*0 jeung *Z*1 nyaéta variabel acak mandiri nu mibanda simpangan baku sarua jeung hiji dina sebaran normal.

Turunanna dumasar kana ieu kanyataan, dia dua-dimensi sistim kordinat Kartesius nu mana kordinat X jeung Y dijéntrékeun ku dua variabel mandiri tur mibanda sebaran normal, variabel acak keur **R**2 jeung &Theta; (ditembongkeun di luhur) nu pakait jeung sistim kordinat polar ogé mandiri tur dijéntrékeun salaku

:R^2 = -2\cdot\ln U_1\,

jeung

:\Theta = 2\pi U_2.\,

## Wanda polar 
Wanda polar ditambahkeun ku Devroye ka Marsaglia. Ieu ogé dianggap bari teu ditambahkeun dina Carter.

Ditangtukeun *u* jeung *v*, mandiri tur kasebar seragam dina interval nu deukeut [&minus;1,&nbsp;+1], tina susunan *s* = *R*2 = *u*2 + *v*2. (Jelasna \scriptstyle R = \sqrt{s}.)  Lamun *s* = 0 atawa *s* > 1, kaluarkeun *u* jeung *v* sarta coba pasangan séjén (*u*,&nbsp;*v*).  Teruskeun nepi ka pasangan *s* dina interval nu kabuka (0,&nbsp;1) kapanggih.  Sabab *u* jeung *v* kasebar saragam jeung ngan dina titik sajero buleudan nu dimeunangkeun, nilai *s* bakal kasebar saragam dina interval kabuka (0,&nbsp;1) ogé. Saterusna bisa gampang katempo ku ngitung sebaran kumulatif *s* dina (0,&nbsp;1). Hal ieu teu leuwih tina daerah buleudan nu jari-jarina \scriptstyle \sqrt{s} dibagi \scriptstyle\pi. Ti dieu bisa kapanggih fungsi densiti probabilitas nu mibanda nilai angger hiji dina interval (0,&nbsp;1). Sarua jeung sudut &theta; dibagi \scriptstyle 2 \pi katempo jéntré kasebar sargam dina interval nu kabuka (0,&nbsp;1) jeung *s* nu mandiri.

Saterusna nangtukeun nilai *s* nu mana *U*1 jeung \scriptstyle \theta/(2 \pi) sarta *U*2 dina wanda dasar. Saperti nu katempo dina gambar, nilai \scriptstyle \cos \theta = \cos 2 \pi U_2 jeung \scriptstyle \sin \theta = \sin 2 \pi U_2 dina wanda dasar bisa digantikeun ku babandingan \scriptstyle\cos \theta = u/R = u/\sqrt{s} jeung \scriptstyle\sin \theta = v/R = v/\sqrt{s}, sacara ngaruntuy.  Kauntunganna nyaéta itungan fungsi trigonometri bisa langsung dipaké. Hal ieu kacida ngabantu lamun ngabandingkeun leuwih loba bagian tur digantikeun ku nu séjénna.

Saperti wanda dasar ngahasilkeun dua simpangan normal standar, mangka hal ieu mangrupa alternatif itungan séjén.

:z_0 = \sqrt{-2 \ln U_1} \cos(2 \pi U_2) = \sqrt{-2 \ln s} \left(\frac{u}{\sqrt{s}}\right) = u \cdot \sqrt{\frac{-2 \ln s}{s}}

jeung

:z_1 = \sqrt{-2 \ln U_1} \sin(2 \pi U_2) = \sqrt{-2 \ln s}\left( \frac{v}{\sqrt{s}}\right) = v \cdot \sqrt{\frac{-2 \ln s}{s}}.

## Beda nu jelas antara dua wanda 
métodeu  polar béda jeung métodeu  dasar nyaéta dina nolak nyokot sampel. Cara nyokotna sababara rundayan wilangan normal, sacara tipikal leuwih gancang tinimbanf métodeu  dasar, hal ieu sabab cara ngitungna nu leuwih sederhana (geus ditembongkeun yén ngarundaykeun wilangan acak leuwih gancang) sarta sacara numerik leuwih tegep.

Wanda polar merlukeun dua kali prosés kakalian, hiji logaritma, hiji akar kuadrat tur hiji bagian unggal hiji variasi. Hal ini nyababkeun ngagantikeun kakalian jeung fungsi trigonometri ku hiji bagian.

## Tempo oge
* Sebaran normal
* Inverse transform sampling
* Marsaglia polar method, optimasi Transformasi Box-Müller
* Ziggurat algorithm, cara nu béda kacida dina ngarundaykeun wilangan normal acak

## Rujukan
## Tumbu luar 
* Box-Müller running in a Java Applet 
* Generating Gaussian Random Numbers
* Box-Müller Transform on MathWorld