Prøvetaking Fra Normalfordeling Ved Hjelp Av Box-Muller Transform
Personvern & Informasjonskapsler
dette nettstedet bruker informasjonskapsler. Ved å fortsette godtar du bruken av dem. Lær mer, inkludert hvordan du kontrollerer informasjonskapsler.
Normalfordelingen er arbeidshesten i mange vanlige statistiske analyser, og det å kunne trekke prøver fra denne fordelingen ligger i hjertet av mange statistiske / maskinlæringsalgoritmer. Det har vært en rekke metoder utviklet for å prøve Fra Normalfordelingen, inkludert Inverse Transform Sampling, Ziggurat Algoritmen, Og Forholdet Metoden (en avvisning sampling teknikk). I dette innlegget vil vi fokusere på en elegant metode kalt Box-Muller transform.
en rask gjennomgang Av Kartesiske og polare koordinater.
Før Vi kan snakke om Å bruke Box-Muller transform, la oss oppdatere vår forståelse av forholdet Mellom Kartesiske og polare koordinater. Du kan huske fra geometri at hvis x og y er to punkter i Det Kartesiske planet, kan de representeres i polarkoordinater med en radius og en vinkel
ved hjelp av følgende relasjoner:
, og derfor
Legg merke til at hvis og
, kartlegger vi verdier i enhetssirkelen, som vist på figuren nedenfor. Vær også oppmerksom på at tilfeldige variabler i en slik sirkel kan genereres ved å transformere verdier samplet fra den ensartede fordeling. Spesielt kan radier samples fra
og vinkel kan samples fra
. En lignende mekanisme (dvs. tegnepunkter i en sirkel ved hjelp av ensartede variabler) er i hjertet Av Box-Muller-transformasjonen for prøvetaking Av Normale tilfeldige variabler.

Eksempel på forholdet Mellom Kartesiske og polarkoordinater
Tegning Normalt distribuerte prøver Med Box-Muller transform
Ok, nå som Vi har diskutert hvordan Kartesiske koordinater er representert i polarkoordinater, la Oss gå videre til hvordan vi kan bruke dette forholdet til å generere tilfeldige variabler. Box-Muller sampling er basert på å representere fellesfordelingen av to uavhengige Standard Normale tilfeldige Kartesiske variabler og
i polarkoordinater. Fellesfordelingen (som er sirkelsymmetrisk) er:
hvis vi merker at termen i telleren av eksponenten er lik
(som ovenfor), kan vi gjøre forbindelsen mellom Den Kartesiske representasjonen av felles Normalfordelingen og dens polare representasjon:
som er produktet av to tetthetsfunksjoner, en eksponentiell fordeling over kvadrerte radier:
og en jevn fordeling over vinkler:
akkurat som de som er nevnt ovenfor når du genererer poeng på enhetssirkelen. Nå, hvis vi gjør en annen sammenheng mellom eksponentiell fordeling og den ensartede fordeling, nemlig det:
deretter
Dette gir oss en måte å generere poeng fra den felles Gaussiske fordelingen ved å prøve fra to uavhengige ensartede fordelinger, en for og en annen for
, og omdanne dem til Kartesiske koordinater via relasjonene ovenfor. I detalj går prosedyren som følger:
- Uavgjort,
- Transformer variablene til radius og vinkelrepresentasjon
og
- Transformer radius og vinkel til Kartesiske koordinater:
Hvilke resultater er to uavhengige Normale tilfeldige variabler, og
. EN MATLAB-implementering av Box-Muller-algoritmen er vist nedenfor:
% 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 Prøver For Normal Distribusjon
Innpakning
utgangen AV MATLAB-koden er vist ovenfor. Legg merke til at første, andre og fjerde sentrale øyeblikk (gjennomsnitt, varians og kurtose) av de genererte prøvene er i samsvar med standard normal. Box-Muller transform er et annet eksempel på hvordan ensartede variabler på intervallet (0,1) og kan transformeres for å prøve fra en mer komplisert fordeling.
Write a Reply or Comment