näytteenotto Normaalijakaumasta Box-Muller-muunnoksella
Yksityisyys & evästeet
tämä sivusto käyttää evästeitä. Jatkamalla hyväksyt niiden käytön. Lue lisää, mukaan lukien evästeiden hallinta.
Normaalijakauma on monien yhteisten tilastollisten analyysien työjuhta, ja tästä jakaumasta otanta on monien tilastollisten/koneoppimisen algoritmien ydin. Normaalijakaumasta otokseen on kehitetty useita menetelmiä, kuten Käänteismuunnosnäytteenotto, zikkurat-algoritmi ja Suhdemenetelmä (hylkäysnäytteenottotekniikka). Tässä viestissä keskitymme eleganttiin menetelmään, jota kutsutaan Box-Muller-muunnokseksi.
nopea katsaus Karteesisiin ja napakoordinaatteihin.
ennen kuin voimme puhua Box-Muller-muunnoksen käytöstä, virkistäkäämme käsitystämme Karteesisten ja napakoordinaattien välisestä suhteesta. Geometriasta voi muistaa, että jos x ja y ovat karteesisen tason kaksi pistettä, ne voidaan esittää napakoordinaateilla, joiden säde on ja kulma
käyttäen seuraavia suhteita:
, ja siksi
huomaa, että jos ja
, niin kartoitamme yksikköympyrän sisältämät arvot, kuten alla olevasta kuvasta näkyy. Huomaa myös, että tällaisen ympyrän satunnaismuuttujat voidaan tuottaa muuntamalla tasajakaumasta otettuja arvoja. Erityisesti säteitä voidaan ottaa kohteesta
ja kulmaa voidaan ottaa kohteesta
. Vastaava mekanismi (eli pisteiden piirtäminen ympyrään yhtenäisten muuttujien avulla) on normaalien satunnaismuuttujien näytteenotossa käytettävän Box-Muller-muunnoksen ytimessä.

esimerkki Karteesisten ja napakoordinaattien välisestä suhteesta
Normaalijakautuneiden näytteiden piirtäminen Box-Muller-muunnoksella
Ok, nyt kun olemme keskustelleet siitä, miten karteesiset koordinaatit esitetään napakoordinaateissa, siirrytään siihen, miten voimme käyttää tätä suhdetta satunnaismuuttujien tuottamiseen. Box-Muller-näytteenotto perustuu kahden riippumattoman standardinmukaisen satunnaisen karteesisen muuttujan yhteisjakauman esittämiseen ja
napakoordinaateissa. Yhteisjakauma (joka on ympyräsymmetrinen) on:
jos huomaamme, että eksponentin osoittajan termi on yhtä suuri kuin
(kuten yllä), voimme tehdä yhteyden yhteisen normaalijakauman karteesisen esityksen ja sen polaariesityksen välillä:
joka on kahden tiheysfunktion tulo, eksponentiaalinen jakauma säteiden potenssiin:
ja tasainen jakautuminen kulmiin:
aivan kuten edellä mainitut, kun tuottaa pistettä yksikön ympyrä. Nyt, jos teemme toinen yhteys eksponentiaalisen jakauman ja yhtenäinen jakauma, nimittäin, että:
sitten
tämä antaa meille tavan tuottaa pisteitä yhteisestä Gaussin jakaumasta ottamalla näytteitä kahdesta itsenäisestä uniformisesta jakaumasta, joista toinen on ja toinen
, ja muuntamalla ne Karteesisiksi koordinaateiksi yllä olevien suhteiden kautta. Menettely etenee yksityiskohtaisesti seuraavasti:
- Draw,
- Muunna muuttujat säde-ja kulmaesityksiksi
ja
- Muunna säde ja kulma Karteesisiksi koordinaateiksi:
mitkä tulokset ovat kaksi riippumatonta normaalia satunnaismuuttujaa, ja
. Box-Muller-algoritmin Matlab-toteutus näkyy alla:
% NORMAL SAMPLES USING BOX-MUELLER METHOD% DRAW SAMPLES FROM PROPOSAL DISTRIBUTIONu = rand(2,100000);r = sqrt(-2*log(u(1,:)));theta = 2*pi*u(2,:);x = r.*cos(theta);y = r.*sin(theta);% DISPLAY BOX-MULLER SAMPLESfigure% X SAMPLESsubplot(121);hist(x,100);colormap hot;axis squaretitle(sprintf('Box-Muller Samples Y\n Mean = %1.2f\n Variance = %1.2f\n Kurtosis = %1.2f',mean(x),var(x),3-kurtosis(x)))xlim()% Y SAMPLESsubplot(122);hist(y,100);colormap hot;axis squaretitle(sprintf('Box-Muller Samples X\n Mean = %1.2f\n Variance = %1.2f\n Kurtosis = %1.2f',mean(y),var(y),3-kurtosis(y)))xlim()

Box-Muller-näytteet Normaalijakelua varten
kääre
Matlab-koodin tuloste on esitetty yllä. Huomaa ensimmäinen, toinen ja neljäs keskeinen momentit (keskiarvo, varianssi, ja kurtoosi) luotujen näytteiden ovat yhdenmukaisia standardin normaali. Box-Muller-muunnos on toinen esimerkki siitä, kuinka yhtenäisiä muuttujia intervallilla (0,1) ja voidaan muuntaa otokseksi monimutkaisemmasta jakaumasta.
Write a Reply or Comment