F(x) - Max-Planck-Institut für Astronomie

Werbung
Practical Numerical
Training UKNum
9: Random Numbers, Monte Carlo Methods
C. Mordasini
Max Planck Institute for Astronomy, Heidelberg
Program:
1) Zufallszahlen
2) Transformations Methode
3) Monte Carlo Integration
1.0 Zufallszahlen
Anwendungen
•Anwendungen
‣Glücksspiele
‣Physikalische Simulationen
‣Monte Carlo Methoden
‣Kryptographie
‣...
Erzeugung I
•Physikalische Methode (“echte” Zufallszahlen)
‣Würfel
‣Radioaktive Zerfall
(Zeit zwischen zwei Zerfällen)
‣Rauschen
(z. B. Radio Frequenzbereich in der
Atmosphäre)
•Vorteil: tatsächlich zufällig
•Nachteil: langsam, oft schwierig zu
kontrollierende Verfälschung durch Messung.
Erzeugung II
•Numerische Methode (“Pseudo” Zufallszahlen)
‣so genannte “Pseudo random number generators”
PRNG
‣Algorithmen, die Zahlen erzeugen, in denen
statistisch kein Muster zu erkennen ist.
‣Start mit einem “seed”, daraus wird dann eine
Sequenz von Zufallszahlen erzeugt. Deterministisch!
‣Mit dem gleichen seed wird immer die gleiche
Sequenz erzeugt (wichtig für die Reproduktion von
Versuchen).
‣Nach einer gewissen (hoffentlich hohen Zahl) von
Zufallszahlen, fängt die Sequenz wieder von vorne an.
Numerische Pseudo-Zufallszahlen
•Vorteil: kann einfach und schnell viele Zufallszahlen
erzeugen.
•Nachteil: Es muss gezeigt werden, dass die
Zufallszahlen wirklich zufällig sind (im Vergleich mit
physikalisch erzeugten Sequenzen).
‣z. B. keine Korrelation zwischen einander
nachfolgenden Zahlen, keine bevorzugten Zahlen...
‣Statistische Tests.
•Ob ein numerischer RNG zufällig genug ist, hängt
von der Applikation ab (z. B. genug lange Sequenz).
Numerische RNG
•Es gibt sowohl RNG, die alle bekannten (!)
statistischen Tests für Zufälligkeit erfüllen (solange
die Anzahl der gezogenen Zufallszahlen << die
Länge der Sequenz bleibt).
•... aber auch solche, die sehr schlecht sind
‣Historisches (berüchtigtes) Beispiel:
randu
‣Installiert auf IBM mainframes in den 1960.
Weit verbreitet in den folgenden Jahrzehnten.
Folge: Viele (physikalische) Studien mit falschen
Resultaten. Vgl. weiter unten.
1.1 Gleichverteilte
Zufallszahlen
Wieso so wichtig?
•Englisch: “Uniform Deviates”
•Wenn wir gleichverteilte Zufallszahlen erzeugen
können, können wir mittels der weiter unten
beschrieben Methoden (z. B. Transformations
Methode) daraus beliebige andere Verteilungen
(z. B. Normalverteilung (Gauss’sche Verteilung),
Exponentialverteilung etc.) erzeugen.
•Typischerweise gleichverteilte rationale Zahlen
im Intervall 0 bis 1 (je nach Algorithmus sind die
Randwerte dabei oder nicht).
System-Supplied uniform PRNG
•Verfügbar in zahlreichen Sprachen und Libraries.
‣Random class in Java, Apple CarbonLib, glibc (benutzt
vom GCC), Microsoft Visual/Quick C/C++, etc.
•Oft schlechte (oder zumindest unklare) Qualität.
•Oft auch nicht portabel.
•Besser: portable PRNG (in einer höheren
Programmiersprache geschrieben, wie FORTRAN
oder C).
ndom number generator.” That routine ty
Praktische
Anwendung
” and a calling sequence like
•Typische Calling Sequence (x: REAL, iseed: INTEGER)
x=ran(iseed)
sets x to the nex
•Erster Call
‣Initialisierung mit arbiträrem random seed. Muss je
Algorithmusiseed
aber z.B. to
negativ
sein oder arbi
Younach
initialize
a (usually)
ungerade etc.. Für den gleichen seed, wird immer
initializing
value
will
typically
return
a
die gleiche Sequenz geliefert. Algorithmus gibt x, die
Zufallszahl,
und den
neuen Wert von iseed
zurück.one
east
a different
subsequence
of some
izing
value
of
iseed
will
always
return
Weitere
calls
•
Mit
dem
vom
letzten
Mal
returntem
iseed.
(!)
‣
Now our first, and perhaps most import
PRNG Algorithmen
•Mittquadratmethode
•Kongruenzgenerator
‣linear
‣multiplikativ
•Mersenne-Twister
•...
Mittelquadratmethode
•Einer der ersten PRNG.
‣Erfunden 1946 von Johann von Neumann.
•Nur noch historische Bedeutung.
(extrem kurze Sequenz, Abstürzen auf 0, etc.)
Kongruenzgenerator
•Sehr weit verbreitet.
‣Nicht perfekt in seiner einfachsten
Implementation,und die Güte kommt sehr auf die
verwendeten Parameter an, kann aber mit einigen
Tricks zu einem sehr brauchbaren RNG ausgebaut
werden.
•Sehr schnell.
•Minimale Grösse im Memory (im cache).
Chapter 7.
Random Numbers
Linearer Kongruenzgenerator
Generiert eine Sequenz von ganzen Zahlen I1, I2,
•
ofI integers
I
,
I
,
I
,
.
.
.
,
each
between
0
a
1
2
3
..., jede zwischen 0 und m-1 wobei m eine “grosse”
3
urrence
Zahl ist.relation
•Rekursive Definition:
Ij+1 = aIj + c (mod m)
•m=Modulus (Integer, m>0)
a=Multiplier/Faktor
(Integer,
0<
a
<
m)
•
modulus,
and
a
and
c
are
positive
integers
ca
•c=Inkrement (Integer, 0<= c <m)
spectively. The recurrence (7.1.1) will even
obviously no greater than m. If m, a, and c ar
Linearer Kongruenzgenerator II
•Die Rekursion wiederholt sich spätestens nach m
calls.
‣Bei “schlechten” Parametern aber schon viel
früher.
•Bei “guten” Parametern (vgl. unten) werden alle
möglichen ganzen Zahlen von 0 bis m-1 genau ein
Mal durch-laufen (Pseudozufällige Permutation).
•Die Wahl des seed legt dann nur noch fest, wo in
der Sequenz gestartet wird.
Linearer Kongruenzgenerator III
•Die gleichverteilte reele Zufallszahl zwischen 0 und 1,
die schlussendlich ausgegeben wird, ist Ij+1/m.
‣Somit sind die Zufallszahlen immer kleiner als 1, aber
einmal in m calls genau gleich 0.
•Anforderungen an m, a, und c (Satz von Knuth) für eine
maximale Sequenzlänge (=m):
‣Das Inkrement b ist zum Modulus m teilerfremd.
‣Jeder Primfaktor von m teilt a-1.
‣Wenn m durch 4 teilbar ist, dann auch a-1.
•Illustration: Mathematica
"Linear Congruential Generators" from The Wolfram
Demonstrations Project http://demonstrations.wolfram.com/LinearCongruentialGenerators/ von Joe Bolte
Linearer Kongruenzgenerator IV
•Nachteile
‣Sequentielle Korrelation (Abhängigkeit sich
folgender Zufallszahlen), manifestiert sich in
Hyperebenen (Satz von Marsaglia):
Wenn k sich nachfolgende Zufallszahlen im k dimensionalen Raum
geplottet werden (jede Koordinate zwischen 0 und 1), füllen die Punkte
nicht den ganzen Raum, sondern liegen auf k-1 dimensionalen
Hyperebenen. Es gibt maximal m1/k Hyperebenen, bei “schlechten”
Werten von m,a und c aber wesentlich weniger.
‣Unterschiedliche Zufälligkeit der verschiedenen
bits innerhalb der Zahl.
Hyperebenen
(hier normale Ebenen,
da k=3)
[1] have surveyed a large number of random number genera
Miller
hey present an anecdotal sampling of a number of inadequate generators th
used
over
the
last
30
years
or
more.
Along
with
a
good
theoret
me Multiplikativer
into widespread use. TheKongruenzgenerator
historical record is nothing if not appalling.
esent
an anecdotal
of a number
of inadequate
re is good
evidence,sampling
both theoretical
and empirical,
that thegenerators
simple mult
widespread algorithm
use. The historical record is nothing if not appalling
congruential
ood
evidence,
both theoretical
and empirical, that the simple mu
Park-Miller
PRNG genannt.
•Auch
(7.1
Ij+1 = aIj (mod m)
uential
algorithm
•Spezialfall mit c=0, d.h.
good as any of Ithe more
general
linear
congruential
generators
that
ha
(mod m)
(7.
j+1 = aIj
quation 7.1.1) — if the multiplier a and modulus m are chosen exquisite
Park
proposeextrem
a “Minimal
Standard”
generator
based on t
undMiller
a müssen
vorsichtig
gewählt
werden.
•m and
as any of the more general linear congruential generators that h
Park
und
Miller
schlagen
vor:
n 7.1.1) — if the multiplier a and modulus m are chosen exquisi
5propose a “Minimal
31 Standard” generator based on
k and Miller
a = 7 = 16807
m = 2 − 1 = 2147483647
(7.1
So genannter “Minimal Standard” MINSTD
•
posed by Lewis, Goodman, and Miller in 1969, this generator
has
Generator.
5passed all new theoretical
31 tests, and (perhaps more importantl
ntayears
= 7 = 16807
m = 2 − 1 = 2147483647
(7.
verbreitet,
sollte
aberuse.
nicht
direkt
für do not claim th
•Weita large
mulated
amount of
successful
Park
and Miller
professionelle
Zwecke
verwenden
werden.
ator
is
“perfect”
(we
will
see
below
that
it
is
not),
only
that it is ahas
go
by Lewis, Goodman, and Miller in 1969,but
this
generator
Implementation von MINST
•Problem: Die Multiplikation von a und Ij führt je nach
32
2 (4
Ij zu Integer >
byte=32 bit, standard Fortran
Integer Länge, C long int)
‣Kann mit Schrage’s Algorithmus zur
approximativen Faktorisierung von m behoben
werden.
•Beispiel folgt dem Buch Numerical Recipes von
Press et al., Cambridge University Press.
http://www.nrbook.com/a/
Ältere Versionen (samt C, C++ , Fortran77, Fortran90 source code) sind
online frei verfügbar. Wärmstens empfohlen für alle standard numerischen
Algorithmen! Die Physik ist alleine oft schon komplex genug....
MINSTD, 64 bit Integers
Press et al.
MINSTD, 32 bit
Press et al.
MINSTD: sample output
seed =1
31
2 -2
Call No.
x
1 7.82636926E-06
2 0.13153780
3 0.75560534
....
2147483645 0.65550071
2147483646 4.65661287E-10
2147483647 7.82636926E-06
idum
16807
282475249
1622650073
1407677000
1
16807
•MINSTD hat einige Probleme:
•Low order serial correlations. Beispiel:
Ein Mal in 106 calls, wird eine Zahl < 10-6 ausgegeben (wie es sein
muss), aber die nachfolgende Zufallszahl wird immer kleiner als 0.0168
sein, was natürlich nicht so sein sollte.
2
MINSTD mit BD-shuffling
•Einfaches Verfahren von Bays und Durham, um die
low order serial correlations zu verhindern:
Chapter 7.
Random Numbers
iy
1
RAN
3
OUTPUT
2
iv32
Press et al.
ure 7.1.1.
Shuffling procedure used in ran1 to break up sequential correlations in the Minimal
ndard generator. Circled numbers indicate the sequence of events: On each call, the random number
iy is used to choose a random element in the array iv. That element becomes the output random
Sample page from NUMERICAL RECIPES IN FORTRAN 77: THE AR
Copyright (C) 1986-1992 by Cambridge University Press. Programs Co
Permission is granted for internet users to make one paper copy for th
readable files (including this one) to any server computer, is strictly pro
http://www.nr.com or call 1-800-872-7423 (North America only), or sen
iv1
Eine Zufahlszahl Ij, die
durch die j-ten Position
der Sequenz gegeben
ist, wird nicht beim jten call ausgegeben,
sondern bei einem
zufällig gewählten
späteren call (im Mittel j
+32).
MINSTD mit BD-shuffling
7.1 Uniform Deviates
*
271
Sample page from NUMERICAL RECIPES IN FORTRAN 77: THE ART OF
Copyright (C) 1986-1992 by Cambridge University Press. Programs Copyrig
Permission is granted for internet users to make one paper copy for their ow
readable files (including this one) to any server computer, is strictly prohibite
http://www.nr.com or call 1-800-872-7423 (North America only), or send em
FUNCTION ran1(idum)
INTEGER idum,IA,IM,IQ,IR,NTAB,NDIV
REAL ran1,AM,EPS,RNMX
PARAMETER (IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836,
NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2e-7,RNMX=1.-EPS)
“Minimal” random number generator of Park and Miller with Bays-Durham shuffle and
added safeguards. Returns a uniform random deviate between 0.0 and 1.0 (exclusive of
the endpoint values). Call with idum a negative integer to initialize; thereafter, do not
alter idum between successive deviates in a sequence. RNMX should approximate the largest
floating value that is less than 1.
INTEGER j,k,iv(NTAB),iy
SAVE iv,iy
DATA iv /NTAB*0/, iy /0/
if (idum.le.0.or.iy.eq.0) then Initialize.
idum=max(-idum,1)
Be sure to prevent idum = 0.
do 11 j=NTAB+8,1,-1
Load the shuffle table (after 8 warm-ups).
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if (idum.lt.0) idum=idum+IM
if (j.le.NTAB) iv(j)=idum
enddo 11
iy=iv(1)
endif
k=idum/IQ
Start here when not initializing.
idum=IA*(idum-k*IQ)-IR*k
Compute idum=mod(IA*idum,IM) without overflows by
if (idum.lt.0) idum=idum+IM
Schrage’s method.
j=1+iy/NDIV
Will be in the range 1:NTAB.
iy=iv(j)
Output previously stored value and refill the shuffle taiv(j)=idum
ble.
ran1=min(AM*iy,RNMX)
Because users don’t expect endpoint values.
return
END
Press et al.
MINSTD mit BD-shuffling
•Erfüllt sämtliche bekannten statistischen Tests
solange die Anzahl calls klar kleiner bleibt als m, ca.
m/20 (ca. 108 calls).
•Sind längere Sequenzen nötigt, werden PRNG
verwendet die mehrere verschiedene Sequenzen
mit unterschiedlichen Perioden kombinieren. So
können sehr lange Sequenzen erzeugt werden, z.B.
mit einer Länge von 2.3 x 1018.
recurrence:
RANDU is an infamous linear congruential
randu
seudorandom number generator of the
ark–Miller type, which has been used
ince the 1960s. [1] It is defined by the
Multiplikativer
Kongruenzgenerator.
•
ecurrence:
with V odd. It generates pseudorandom
Three-dime
100,000 point
RANDU. It is
Rekursion:
the points f
dimensio
Three-dimensional
plot of
0
31
0 ungerade
integers Vj in the interval [1,2 mit!V1]
that
100,000 points generated with
RANDU. It is clearly seen tha
31-1]pseudorandom
with
V0 odd. Itapplications
generates
fall in 15 twoin practical
are often mapped the
intopoints
pseudorandom
Bereich
[1:2
dimensional planes.
31
•
in rationale
the•Übertragung
interval
(0,1)
by
the
ntegers
Vj in the
interval
[1,2formula:
! Zahlen
1] that im Intervall
]0,1[
n practical applications are often mapped into pseudorandom rationals Xj i
he interval (0,1) by the formula:
So
gewählte
Parameter,
da
(in
einem
32
bit
Integer
•
It is widely considered to be one of the most ill-conceived ran
31
2
Zahlenmodel)
sowohl
modit fails
wie
die Multigenerators
designed.
Notably,
theauch
spectral
test badly fo
16of
tgreater
isplikation
widelythan
considered
to
be
one
the
most
ill-conceived
random
number
mit
65539=2
+3
hardwaremässig
schnell
ist.
2, and every result is odd.
31
16
word size the arithmetic of mod 2 and 65539 = 2 + 3 c
randu -­‐ Fortsetzung
II
could be done quickly. To show the problem with these values c
3
following calculation where every term should be taken mod 2
Problem:
Studiere die Rekursion über 3
•
RANDU
- Wikipedia, the free encyclopedia
writing the recursive relation as: 31
Schritte (Terme jeweils mod 2 zu nehmen)
which becomes, after expanding the quadratic factor:
RANDU - Wikipedia, the free encyclopedia
which becomes, after expanding the quadratic factor:
http://en.wikipedia.org/w/index.php?title=RANDU&printable=yes
32
31
because
2
mod
2
=
0
32
31
32
31
because
2 2mod= 20 = 0
da 2 mod
and
allowsusustotoshow
show
enormous
correlation
between
thr
•Deshalb
and
allows
thethe
enormous
correlation
between
three point
Oops!!!
As
a
result
of
this
correlation,
the
points
in
three
space
As a result of this correlation, the points in dimensional
three dimensiona
2. Andere Verteilungen:
Transformations
Methode
Statistische Verteilungen I
bility distributions
•Eine Zufallsvariable X wird durch die kumulative
or Verteilungsfunktion
population synthesis calculations
is the
generation of initial cond
(cumulative
distribution
robability
distributions,
explained in the introduction to Paper I
function,
CDF) F(x) as
beschrieben.
a short
overview
on
probability
distributions
in
general.
•F(x) gibt die Wahrscheinlichkeit, dass die
iate
X
is
described
with
the
cumulative
distribution
function
(CD
Zufallsvariable X einen Wert zwischen -∞ und x
obability that the random deviate X takes a values between ⇤ a
annimmt, d.h.
F (x) = P (X ⇥ x) for
⇤<x<⇤
an die CDF:
•Anforderungen
lfill
an number of requirements,
namely (1) F ( ⇤) = 0, (2) F (⇤
F(∞)=1 and (4) F (x) must rightwards continuous
notonically
increasing,
•F(-∞)=0,
•Monoton steigend
y that
a continuous
random deviate takes a given value xi is zero. T
stetig
•rechtseitig
F (x) = P (X ⇥ x)
for
⇤<x<⇤
Statistische
Verteilungen
II
l an number of requirements, namely (1) F ( ⇤) = 0, (2) F (⇤
Die Wahrscheinlichkeit dass eine kontinuerliche
•
tonically increasing, and (4) F (x) must rightwards continuou
Zufallsverteilung X genau einen Wert xi annimmt, ist 0.
Die Wahrscheinlichkeitsdichtefunktion (eng.
•
hat a continuous random deviate takes a given value xi is zero.
probability density function PDF) f(x) wird deshalb
ity function (PDF) f (x) is used which states that the probab
verwendet und besagt dass die Wahrscheinlichkeit
imal interval dx is given as f (x)dx. The PDF is related to th
von X in einem infinit. Intervall dx zu liegen ist f(x)dx.
F (x) = P (X ⇥ x) =
x
f (x)dx,
⇥
•f(x) ist somit die Ableitung von F(x).
erivative of F (x). The geometrical interpretation is of course
der the curve given by f (x) to the left of x. Similarly is the
Popula
terval
[a,
nterval
[a,b]b]given
givenasas Verteilungen III
Statistische
⇧ ⇧b b
nterval
[a,
b]
given
as
Die
Wahrscheinlichkeit
dass
eine
kontinuierliche
Zufallsverteilung
•
PP(a(a⇥⇥XX⇥⇥b)b)== f (x)dx.
f
(x)dx.
X im Intervall [a,b] liegt ist somit
⇧aba
P (a ⇥ X ⇥ b) =
f (x)dx.
ive function
X,
tive
functionofofthe
therandom
randomdeviate
deviate
X,then
thenit itis isitself
itselfa ra
a
Ist
g(x)
eine
bijektive
Funktion
von
X,
ist
es
selbst
wieder
eine
dom
deviate
the
expectation
value
of
g(X),
E(g(x))
is
th
•
ndom
deviate
the
expectation
value
of
g(X),
E(g(x))
is
tive
function of the
random
deviate
X,
then
it
is
itself
a
ra
Zufallsverteilung.
Der Erwartungswert
E
von
g(X),
E(g(x))
ist
⇧⇧⇥
⇥ value of g(X), E(g(x)) is the
ndom
dann deviate the expectation
E(g(X))
=
g(x)f
(x)dx.
E(g(X)) =⇧
g(x)f (x)dx.
⇥
⇥
⇥
E(g(X)) =
g(x)f (x)dx.
Ein
wichtiger Speziallfall
istXder
Erwartungswert
von X selbst
the
expectation
value
of
itself,
which
is
•
⇥
the expectation value of X itself, which is
⇧⇧⇥
the expectation value
⇥ which is
. . of X itself,
E(X)
=
µ
=
xf
(x)dx.
x
E(X) = µx =⇧ ⇥
xf
(x)dx.
⇥
.
⇥
E(X) = µx =
xf (x)dx.
if
a
⇥
x
⇥
F (x) = In bthis
once
the synthetic
planets were calculated).
program,
a
1 Generic
distributions
a
⇤
probability distributions were implemented. 1
if x > b.
b
Gleichverteilung im Intervall [a,b]
program exostat which was written for this research project generates the initial condifor the populations synthesis calculations (it is also used for the statistical comparison
observational
data onceby
the setting
synthetic planets
calculated).
this program,
a
sthe
CDF
is obtained
dF =were
f (x)dx
= kIn1 dx
and determ
ber of important generic probability distributions were implemented.
tction
F
(a)
0CDF
and F (b)
= 1. The
is obtained
has=aeinfachste
Verteilung
hatPDF
die CDF
und PDF as the derivat
•Diese
form deviate
⇥in [a, b]
1
0
if x < a
⌅
simplest probability
b a
x a function has a CDF f (x) =
if
a
⇥
x
⇥
b
F (x) =
⇥ 31
Probability distributions
0
⇤ b a
0
if
x
<
a
⌅
1
if x > b.
x a
F (x) =
if a ⇥ x1⇥ b
⇤
x > 0.8
b.
se distributions
shown
in iffig.
3.1.
ting
dF = f0.8(x)dx =are
k dx
and 1determining
k
1
1
if a ⇥ x ⇥ b
(3.7)
otherwise
b a
1
by the conditions
1
(3.7)
0.8
0.6
The
is0.6is
obtained
asdFthe
The
mean
ofsetting
course
CDF PDF
is
obtained
by
=simply
fderivative,
(x)dx = k1 dx 0.6
and determining k1 by the conditions
0.4 derivative,
0.4
F (a) = 0 and 0.4
F (b) = 1. The PDF is obtained as the
⇧ b
0.2 1
0.2
0.2
if
a
⇥
x
⇥
b
1
a
+
b
1
f (x) = 0 b a
(3.8)
if
a
⇥
x
⇥
b
0
0 (3.8)
b a
f (x)1 = 1.5 E(X)
.5
1
1.5
2
!1
0
0.5
2
=
µ
=
xdx
=
0 !0.5 otherwise
!1 !0.5 0
0
otherwisex!1 !0.5b 0 a0.5 1 1.5 2
2
a
Der
ne •
in
fig. Erwartungswert
3.1. are shown in fig. ist
distributions
3.1.natürlich (a+b)/2, doch dies können
PDF (left) and CDF (right) for a standard uniform deviate.
Figure 3.1: PDF (left) and CDF (right) for a standard uni
This
distribution
implemented
as allgemeinen
No. 1 in exostat.
The
mean
is ofismit
course
simply
wir
auch
der
Formel
und
der= PDF
berechnen:
mply
and the
variance
. This
distribution is implemented as
niform deviate in the unit interval (i.e. between 0.0 and 1.0) which
A special case is the uniform deviate in the unit interval (i.e. b
er generators. Called the standard uniform deviate, it has a PDF
⇧ b
is given by
random
n the unit interval, and 0 otherwise. In ⇧
the practical
application for1
a+
b number generators. Called the standard unifo
b
equal=
1, i.e. f (x)dx = dx in the unit interval, and 0 otherwise.
E(X)
= µdistribution,
xdx
(3.9) In t
wants to calculate random deviates
some given
1 from
x =a + b
b a a a computer 2program, one wants to calculate
r generator=
at disposition
uniform
E(X)
µx = which gives a standard
xdx
=deviate.
(3.9)random deviates from
a)2
2 .
2
x
(b a)2
12
Gleichverteilung im Intervall [0,1]
•Der bei den PRNG wichtige Speziallfall der
Gleichverteilung auf dem Einheitsintervall wird
standard uniform deviate (SUD) genannt.
•Es hat eine speziell einfache PDF =1,d.h.
einfach f(x)dx=dx im Einheitsintervall, und
sonst 0.
•Dies ist sehr hilfreich für die so genannte
Transformationsmethode zur Erzeugung
anderer Verteilungen.
toto
use
to draw
drawr
ble
usethe
thetransformation
transformation method
method to
Transformationsmethode
I
way
explained
e way
explainedininPress
Presset
et al.
al. (1992).
(1992).
er
program
generate
standard
uniform
uter
program
can
generate
standard
uniform
seican
X,
eine
SUD. Wiraasuchen
eine andere
•Gegeben
wo die
samples yyyi der
dom
deviateY Y, ,Y,with
with
samples
mZufallsverteilung
deviate
samples
that follow
follow so
s
Verteilungsfunktion
f(y)
folgen.
this
f (y),wewecan
canuse
usethe
the fundamental
fundamental law
of
is
fGemäss
(y),
law
of
dem fundamentalen Gesetz zur
•
as
nven
as
Transformation von Wahrscheinlichkeiten gilt:
(y)dy|==|f|f(x)dx|
(x)dx|
|f|f(y)dy|
Somit (f(x)=1)
dx
dx
f (y) = f (x) dx = dx
f (y) = f (x) dy = dy
dy
dy
dx
dx
Transformationsmethode
=
f (y) = f (x)
dy
dy
II
•Die Lösung dieser einfachen Diff. gleichung ist
x=F(y), equation
wobei F(y) das
Integral
f(y) ist.
e gerade
differential
is just
x =von
F (y),
where F
e, •the
transformation
of a uniform
Somit
ist die Transformation
von einer deviate
SUD X zuxYto y
die eine f(y) Verteilung folgt
y(x) = F
1
(x),
-1
F
wo
die Umkehrfunktion der Stammfunktion von f ist.
verse
function
of
F
.
The
transformation
meth
Diese muss somit existieren, damit die
ndefinite
integral
of
f
can
be
calculated.
An
exam
Transformationsmethode angewendet werden kann.
enerate an uniform deviate Y in the interval [a
Einfaches Bespiel
•Wir wollen eine Gleichverteilung Y auf dem Intervall
[a,b], und haben eine SUD X.
•Es ist sofort klar, dass wir diese als y=x(b-a)+a
erzeugen können.
•Doch wir können dies auch mit der Transformationsmethode berechnen: Wir setzen x=F(y)=(y-a)/(b-a),
und lösen nach y auf (wir berechnen die
Umkehrfunktion F-1), was liefert y(x)=x(b-a)+a
e a. We can again calculate with the transformation method how we
x(ln(b)
able distributed according
to this ln(a))+ln(a)
distribution if we have an standard
y
=
e
.
tting x = F (y) and solving for y we find
Beispiel 2: Uniform in lg
Wir
wollen
Y
in
[a,b]
verteilt
ist,
•
to the base 10 is completely parallel, with th
d.h.
lg(x)
ist
gleichverteilt
in
[lg(a),lg(b)]
e logarithm to the
⌃base 10 is completely parallel, with the CDF given a
⌃
0 0
if ax < a
if x <
log(x) log(a)
log(x)
log(a)if a ⇥ x ⇥ b
F (x) =
log(b) log(a)
F (x) =
if
a
⇥
x
⇥
b
⌥
log(b)
log(a)if x > b.
1
⌥ 1
if
x
>
b.
amples
distribution one uses the equation
derthis
Transformationsmethode
finden wir dann,
•Mitfrom
x(log(b)
dass um y uniform
in lg zulog(a))+log(a)
haben berechnen
wir aus
y
=
10
.
m this
distribution
one
uses
the
equation
x das SUD ist,
x(ln(b) ln(a))+ln(a)
y
=
e
das uniform in log10.
iformly distributed in the unit interval, then y is distributed log unifo
x(log(b)
log(a))+log(a)
means that log(y)
is
uniformly
distributed
in
[log(a),
log(b)].
The
dist
y
=
10
.
(x) is implemented as No. 2 in exostat.
Verallgemeinerungen
•Die Transformationmethode lässt sich auf mehrere
Dimensionen verallgemeinern. Dies dient z.B. zur
Erzeugung von normalverteilten Zufallszahlen
(sogenannte Box Muller Transformation)
•Nicht für alle Verteilungsfunktionen lässt sich die
Inverse der Stammfunktion berechnen. Die
Transformationsmethode kann dann nicht
angewendet werden. Statt dessen wird dann die
Rejektionsmethode verwendet.
•Beides wird ausführlich in den Numerical Recipes
von Press et al. diskutiert.
3. Monte Carlo
Methode
Grundidee Monte Carlo Integration
7.6 Simple Monte Carlo Integration
•Methode zur Berechnung komplexer Integrale einer
Funktion f im multidimensionalen Volumen V.
se that we pick7.6NSimple
random
points,
uniformly distributed in a multid
Monte
Carlo Integration
305
Verteile N Zufallszahlen x1,..,xN uniform in V.
•
me V . Call them x1 , . . . , xN . Then the basic theorem of Monte
Das
Grundtheorem
der
MC
Integration
besagt
•
estimates
the
integral
of
a
function
f
over
the
multidimensional
vo
Suppose
that
we
pick
N
random
points,
uniformly
distributed
in
a
multidimendann, das wir das Integral abschätzen
können als
⇧
nal volume V . Call them x1 , . . . , xN . Then the basic theorem of Monte Carlo
⇥
2
2
egration estimates the integral of a function f over
the
multidimensional
volume,
⇧f ⌥ ⇥ ⇧f⌥
(
f dV ⌃ V ⇧f⌥ ± V⇧
⇥
N
2
2
⇧f ⌥ ⇥ ⇧f⌥
(7.6.1)
f dV ⌃ V ⇧f⌥ ± V
N
gle brackets
denote
taking the
mean over
the über
N sample
wobei die
Klammer
dasarithmetic
arithmetische
Mittel
die p
•
re the
brackets
denote taking
the arithmetic mean over the N sample points,
N angle
sample
Punkte
bezeichnen.
N
⌅
1
N
⌅
⇧f⌥
1 f(xi )
⇧f⌥N
f(xi )
N
i=1
i=1
N
⌅
⌃ 2⌥
1N
2
⌅
⌃ f2 ⌥
1
2 f (xi )
f
f (xi )
N
N
i=1
i=1
(7.6.2)
(
Monte Carlo Integration II
•Im allgemeinen wird es schwierig sein, die sample
Punkte alle zufällig innerhalb von V zu haben, z.B.
weil V eine komplexe Form hat.
•Definiere deshalb einfach das minimale Volumen W,
das V ganz enthält, und setze f gleich der
eigentlichen Funktion für Punkte die innerhalb von V
liegen, und =0 für Punkte die ausserhalb von V (aber
innerhalb von W) liegen.
306
Chapter 7.
Random Numbers
area A
∫fdx
Press et al.
Beispiel
∫fdx
•Berechnung der Masse und des Schwerpunktes
Figure 7.6.1. Monte Carlo integration. Random points are chosen within the area A. The integral of the
function f is estimated as the area of A multiplied by the fraction of random points that fall below the
curve f . Refinements on this procedure can improve the accuracy of the method; see text.
eines geometrischen Körpers in 3D.
Torus, abgeschnitten durch
zwei sich rechtwinklig
schneidende Ebenen.
y
4
2
0
Press et al.
1
2
4
x
Die Integrationsgrenzen
können nur schwer in einer
analytischen, geschlossenen
Form geschrieben werden.
Mit MC Integration ist die
Aufgabe hingegen (recht)
leicht zu lösen.
General purpose routines for Monte Carlo integration are quite complicated
,(see
but
a worked
example
will
show
the
underlying
simplicity
of
t
but
a§7.8),
worked
example
will
show
the
underlying
simplicity
of
the
m
but a worked example will show the underlying simplicity of the method.
hat
want
find
the
and
position
of center
the
center
of
Suppose
that
we
want
to
find
theweight
weight
and
thethe
position
of of
thethe
center
of mass
an
at
wewe
want
to to
find
the
weight
and
the
position
ofofmas
object of complicated
shape,
namely
the
intersection
ofofa torus
the edge
a
complicated
shape,
namely
intersection
awith
torus
with
th
omplicated
shape,
namely
thethe
intersection
aoftorus
with
theofed
large box. In particular let the object be defined by the three simultaneous conditions
particular
the
object
be
defined
by
the
three
simultaneous
nIn
particular
letlet
theist
object
be
defined
by
the
three
simultaneous
con
Der
Körper
beschrieben
durch
drei
gleichzeitige
⇤
2
2
2 + y2 ⇥ 3
z
+
x
(7.6.3)
Bedingungen:2 ⇤ ⇤
2 ⇤ 12
2
2 +2 y2 ⇥23
z
+
x
⇤
1
z
+
x
+
y
⇥
3
⇤
1
(torus centered on the origin with major radius = 4, minor radius = 2)
Beispiel II
•
(Torus um den Nullpunkt,
Aussenradius
= 4, Innenradius =3)
x
⌅
1
y
⌅
⇥3
(7.6.4)
ered
on
the
origin
with
major
radius
=
4,
minor
radius
=
2)
ntered
on
the
origin
with
major
radius
=
4,
minor
radius
=
2)
und für die abschneidenden Ebenen:
(two faces of the box, see Figure 7.6.2). Suppose for the moment that the object
has a constant density ⇧. x ⌅
x 1⌅ 1 y ⌅y ⇥3
⌅ ⇥3
We want to estimate the following integrals over the interior of the complicated
seesee
Figure
7.6.2).
Suppose
for for
the the
moment
that tha
the
object:
sof
ofthe
thebox,
box,
Figure
7.6.2).
Suppose
moment
Finde
über
dieses
Volumen
die
Integrale
⇥
⇥
⇥
⇥
tant
density
⇧.
nstant ⇧density
dx dy dz ⇧.
x⇧ dx dy dz
y⇧ dx dy dz
z⇧ dx dy dz
•
ant
to
estimate
the
following
integrals
over
the
interior
of
the
comp
want to estimate the following integrals over the interior of(7.6.5)
the c
•
The Wir
coordinates
of the center
of mass
will be the ratio
ofeiner
the latter
three integrals
betrachten
den
einfachsten
Fall
konstanten
⇥ to the first one (the weight).
⇥
⇥
(linear moments)
⇥
⇥
⇥
Dichte
ρ
innerhalb
des
Körpers.
In the following
the region V , y⇧
enclosing
piece-of-torus
, is the
x dy dz
x⇧fragment,
dx dy dz
dx dythedz
z⇧Wdx
dy
Beispiel III
•Als minimales Volumen W, das den abgeschnittenen
Torus umgibt, und in dem wir unsere sampling points
uniform verteilen, nehmen wir einen Quader von 1 bis
4 in x, -3 bis 4 in y, und -1 bis 1 in z.
1000000
w,dw 22.107918
2.09707543E-02
x,dx 53.275669
5.50482012E-02
y,dy 3.4985492
5.61315641E-02
z,dz -1.39091080E-02 1.53482482E-02
Herunterladen