mintavétel a normál eloszlásból a Box-Muller transzformáció segítségével
Adatvédelem & cookie-k
ez az oldal cookie-kat használ. A folytatással elfogadja azok használatát. Tudj meg többet, beleértve a cookie-k kezelésének módját is.
a normál eloszlás sok általános statisztikai elemzés munkalovasa, és sok statisztikai/gépi tanulási algoritmus középpontjában az áll, hogy ebből az eloszlásból mintákat lehet venni. Számos módszert fejlesztettek ki a normál eloszlásból történő mintavételre, beleértve az inverz transzformációs mintavételt, a Zikkurat algoritmust és a Ratio módszert (elutasítási mintavételi technika). Ebben a bejegyzésben egy elegáns módszerre fogunk összpontosítani, az úgynevezett Box-Muller transzformációra.
a derékszögű és polárkoordináták gyors áttekintése.
mielőtt a Box-Muller transzformáció használatáról beszélhetnénk, frissítsük fel a derékszögű és a polárkoordináták közötti kapcsolat megértését. A geometriából emlékezhetünk arra, hogy ha x és y a derékszögű sík két pontja, akkor polárkoordinátákban ábrázolhatók sugárral és
szöggel a következő összefüggések felhasználásával:
, ezért
figyeljük meg, hogy ha és
, akkor feltérképezzük az egységkörben található értékeket, az alábbi ábrán látható módon. Vegye figyelembe azt is, hogy egy ilyen körben véletlen változók generálhatók az egyenletes eloszlásból vett értékek átalakításával. Pontosabban, a sugarak
, a szögek pedig
. Hasonló mechanizmus (azaz pontok rajzolása egy körben egységes változók felhasználásával) áll a Box-Muller transzformáció középpontjában a normál véletlen változók mintavételezéséhez.

példa a derékszögű és a polárkoordináták közötti kapcsolatra
normál eloszlású minták rajzolása A Box-Muller transzformációval
Ok, most, hogy megvitattuk, hogyan ábrázolják a derékszögű koordinátákat a polárkoordinátákban, térjünk át arra, hogyan használhatjuk ezt a kapcsolatot véletlen változók generálására. A Box – Muller mintavétel két független standard normál véletlen derékszögű változó közös eloszlásának ábrázolásán alapul és
polárkoordinátákban. A közös Eloszlás (ami körszimmetrikus) az:
ha észrevesszük, hogy a kitevő számlálójában a kifejezés egyenlő
(mint fent), akkor kapcsolatot létesíthetünk a közös normál eloszlás derékszögű ábrázolása és annak poláris ábrázolása között:
ami két sűrűségfüggvény szorzata, egy exponenciális eloszlás a négyzet sugara felett:
a szögek közötti egyenletes eloszlás:
csakúgy, mint a fent említettek, amikor pontokat generálnak az egységkörön. Most, ha egy másik kapcsolatot hozunk létre az exponenciális eloszlás és az egyenletes eloszlás között, nevezetesen, hogy:
akkor
ez lehetővé teszi számunkra, hogy pontokat generáljunk a közös Gauss-eloszlásból két független egyenletes eloszlásból, az egyik , a másik
– ből, és ezeket a fenti összefüggéseken keresztül derékszögű koordinátákká alakítsuk át. Részletesen az eljárás a következő:
- húzás,
- Alakítsa át a változókat sugár – és szögábrázolássá
, és
- Alakítsa át a sugarat és a szöget derékszögű koordinátákká:
két független normál véletlen változó, és
. Az alábbiakban bemutatjuk a Box-Muller algoritmus Matlab megvalósítását:
% 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 minták normál eloszláshoz
csomagolás
a MATLAB kód kimenete fent látható. Figyeljük meg, hogy a generált minták első, második és negyedik központi momentuma (átlag, variancia és kurtózis) összhangban van a standard normállal. A Box-Muller-transzformáció egy másik példa arra, hogy a (0,1) intervallumon lévő változókat hogyan lehet átalakítani annak érdekében, hogy mintát vegyenek egy bonyolultabb eloszlásból.
Write a Reply or Comment