Skip to content
Jidian Stone
  • Home
  • / Articles
  • /
  • Prøvetaking Fra Normalfordeling Ved Hjelp Av Box-Muller Transform

Prøvetaking Fra Normalfordeling Ved Hjelp Av Box-Muller Transform

august 14, 2021Articles
X
  • Personvern & Informasjonskapsler
  • en rask gjennomgang Av Kartesiske og polare koordinater.
  • Tegning Normalt distribuerte prøver Med Box-Muller transform
  • Innpakning

Personvern & Informasjonskapsler

dette nettstedet bruker informasjonskapsler. Ved å fortsette godtar du bruken av dem. Lær mer, inkludert hvordan du kontrollerer informasjonskapsler.

Fikk Det!

Annonser

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 r og en vinkel \theta ved hjelp av følgende relasjoner:

 r^2 = x^2 + y^2

\tan (\theta) = \frac{y}{x} , og derfor

 x = r\cos (\theta)

y = r \ sin (\theta)

Legg merke til at hvis  r \leq 1 og \theta \ in , 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 r \ sim Unif (0,1) og vinkel kan samples fra \theta \sim 2\pi \times Unif(0,1). 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 X og Y

X \ sim N(0,1)

Y \ sim N(0,1)

i polarkoordinater. Fellesfordelingen  p (x,y)(som er sirkelsymmetrisk) er:

 p(x, y) = p(x) p (y) = \frac{1}{\sqrt{2\pi}}e^{- \frac{x^2}{2}}\frac{1} {\sqrt{2\pi}} e^{- \frac{y^2}{2}}

= \frac{1}{2\pi}e^{- \frac{x^2 + y^2}{2}}

hvis vi merker at x^2 + y^2 termen i telleren av eksponenten er lik  r^2 (som ovenfor), kan vi gjøre forbindelsen mellom Den Kartesiske representasjonen av felles Normalfordelingen og dens polare representasjon:

 p(x,y) = \ venstre (\frac{1}{2 \ pi} \ høyre) \ venstre (e^{\frac {- r^2}{2}} \høyre )

som er produktet av to tetthetsfunksjoner, en eksponentiell fordeling over kvadrerte radier:

r^2 \ sim Exp (\frac{1}{2})

og en jevn fordeling over vinkler:

\theta \ sim Unif (0,2 \ pi)

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:

Utløpsdato (\lambda) = \frac {- \log (Unif(0,1))} {\lambda}

deretter  r \ sim \ sqrt{-2 \ log (Unif(0,1))}

Dette gir oss en måte å generere poeng fra den felles Gaussiske fordelingen ved å prøve fra to uavhengige ensartede fordelinger, en for r og en annen for \theta, og omdanne dem til Kartesiske koordinater via relasjonene ovenfor. I detalj går prosedyren som følger:

  1. Uavgjort,  u_1, u_2 \ sim Unif(0,1)
  2. Transformer variablene til radius og vinkelrepresentasjon  r = \sqrt{-2\log (u_1)} og \theta = 2 \ pi u_2
  3. Transformer radius og vinkel til Kartesiske koordinater: x = r \cos(\theta), y = r \sin(\theta))

Hvilke resultater er to uavhengige Normale tilfeldige variabler, X og Y. 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.

Annonser

Write a Reply or Comment Avbryt svar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Siste innlegg

  • Burnham Pavilions
  • Calcific trochanteric bursitt: oppløsning av forkalkninger og klinisk remisjon med ikke-invasiv behandling. En saksrapport
  • Bildør Sound Deadening
  • Utvikling Av Allergier: Skjult Fare For Oksygen
  • Building Manager Job Description
  • Mozzarella Og Tomat Caprese Flatbread
  • Vanilla Brown Sugar Scrub Oppskrift! {DIY Body Scrub}
  • Dette Er Når Canker Sår Er Noe Mer Alvorlig

Arkiv

  • februar 2022
  • januar 2022
  • desember 2021
  • november 2021
  • oktober 2021
  • september 2021
  • august 2021
  • juli 2021
  • juni 2021
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • NorskNorsk
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語
  • 한국어한국어

Copyright Jidian Stone 2022 | Theme by ThemeinProgress | Proudly powered by WordPress