I matematik og fysik er niveauprøvetagning en variation af tilfældig gangprøvetagning baseret på det faktum, at for at prøve en funktion med en given fordeling er det tilstrækkeligt at prøve ensartet fra området under sandsynlighedstæthedsgrafen.
For at få en stikprøve af en tilfældig variabel med en tæthedsfunktion introducerer vi en ekstra variabel og udfører følgende trin: med en valgt værdi på x vælger vi y ensartet tilfældigt i intervallet ; givet y vælger vi x tilfældigt ensartet fra sættet . Resultatet x opnås ved at kassere y- værdierne .
For at få en stikprøve fra en normalfordeling vælger vi startværdien x - lad den være 0. Efter hver stikprøve x vælger vi y tilfældigt ensartet fra ; efter hver prøve y vælger vi x tilfældigt ensartet fra , hvor .
Implementering i Macsyma sprog :
skive ( x ) := blok ([ y , alfa ] , y: tilfældig ( exp ( - x ^ 2 / 2.0 ) / sqrt ( 2.0 * dfloat ( % pi ))) , alfa: sqrt ( -2.0 * ln ( y ) * sqrt ( 2,0 * dfloat ( % pi )))) , x: signum ( tilfældig ()) * tilfældig ( alfa ) ) ;