Jag vill simulera från en normal densitet (säg medelvärde = 1, sd = 1) men vill bara ha positiva värden.

En sätt är att simulera från en normal och ta det absoluta värdet. Jag tänker på detta som en vikad normal.

Jag ser i R att det finns funktioner för trunkerad slumpmässig variabelgenerering. Om jag simulerar från en trunkerad normal (trunkering vid 0) motsvarar detta det vikta tillvägagångssättet?

Svar

Ja, tillvägagångssätt ger samma resultat för en noll-medel Normalfördelning.

Det räcker att kontrollera att sannolikheter komma överens om intervall, eftersom dessa genererar sigma-algebra för alla (Lebesgue) mätbara uppsättningar. Låt $ \ Phi $ vara standard Normal densitet: $ \ Phi ((a, b]) $ ger sannolikheten för att en normal normalvariat ligger i intervallet $ (a, b] $. Sedan, för $ 0 \ le a \ le b $ är den trunkerade sannolikheten

$$ \ Phi _ {\ text {trunkerad}} ((a, b]) = \ Phi ((a, b]) / \ Phi ([0, \ infty]) = 2 \ Phi ((a, b]) $$

(eftersom $ \ Phi ([0, \ infty]) = 1/2 $) och den vikta sannolikheten är

$$ \ Phi _ {\ text {folded}} ((a, b]) = \ Phi ((a, b]) + \ Phi ([- b, -a)) = 2 \ Phi ( (a, b]) $$

på grund av symmetrin på $ \ Phi $ cirka $ 0 $.

Denna analys gäller för alla distributioner som är symmetrisk ungefär $ 0 $ och har noll sannolikhet att vara $ 0 $. Om medelvärdet inte är noll är fördelningen emellertid inte symmetrisk och de två tillvägagångssätten ger inte samma resultat, som samma beräkningar visar.

Tre fördelningar

Denna graf visar sannolikhetsdensitetsfunktionerna för en normal (1,1) fördelning (gul), en vikt Normal (1,1) distribution (röd) och en trunkerad normal (1,1) distribution (blå). Observera hur den vikta fördelningen inte delar den karakteristiska klockkurvan med de andra två. Den blå kurvan (trunkerad fördelning) är den positiva delen av den gula kurvan, uppskalad för att ha enhetsarea, medan den röda kurvan (vikad fördelning) är summan av den positiva delen av den gula kurvan och dess negativa svans (reflekterad y-axeln).

Kommentarer

  • Jag gillar bilden.

Svar

Låt $ X \ sim N (\ mu = 1, SD = 1) $. Fördelningen av $ X | X > 0 $ är definitivt inte densamma som för $ | X | $.

Ett snabbtest i R:

x <- rnorm(10000, 1, 1) par(mfrow=c(2,1)) hist(abs(x), breaks=100) hist(x[x > 0], breaks=100) 

Detta ger följande. simuleringshistogram

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *