6.1 Monte-Carlo Integration Problem: Berechnung des Integrals J

Werbung
6.1 Monte-Carlo Integration
Problem: Berechnung des Integrals
Z
J = φ(x)f (x)dx
wobei f (x) eine Dichtefunktion sei. Monte-Carlo-Integration
schätzt J durch
n
X
1
ˆ
J=
φ(X i)
n i=1
wobei X 1, . . . , X n ∼ f (x) und unabhängig.
Computerintensive Methoden 2005 – LaMo:
12. Januar 2006@13:34
1
Konsistenz, Varianz und Standardfehler
ˆ =
E(J)
n
1X
Z
E(φ(X i)) =
φ(x)f (x)dx
n i=1
Z
1
ˆ
V ar(J) =
(φ(x) − J)2f (x)dx
n
v
u n
uX
1
ˆ 2/(n − 1)
ˆ = √ t (φ(xi) − J)
se(J)
n i=1
− 12
ˆ
Daher: se(J) ist O(n ), deutlich schlechter als numerische
Integration, die O(n−4) erreichen kann!
Computerintensive Methoden 2005
2
Beispiel: Schätzung der Kreisfläche
Betrachte die Fläche des Einheitskreises im positiven Quadranten.
√
Hier ist also φ(x) = 1 − x2 und f (x) = 1 auf [0, 1].
Man zieht also n gleichverteilte Zufallsvariablen x1, . . . , xn und
berechnet
n q
X
1
ˆ
1 − x2i
J=
n i=1
Der theoretische Wert von J ist π/4 = 0.7853982. Bei n =
10000 ergibt sich z.B. Jˆ = 0.7891 bei einem geschätzten
Standardfehler von 0.0022 → Programm mckreis.R
Computerintensive Methoden 2005
3
“hit-or-miss” Monte Carlo Integration
Alternativer Ansatz: x = (x1, x2), f (x) = 1 auf [0, 1]2 und
φ(x) = 1A(x) wobei
1A(x) =
1
0
für x21 + x22 ≤ 1
sonst
→ Erzeugung von n gleichverteilten Variablen im Einheitsquadrat, Berechnung des Anteil die unter der Kreislinie liegen.
Schätzer hat eine größere Varianz als beim ersten Algorithmus, hier approximativ viermal so groß, obwonl 2n statt n
gleichverteilte Variablen nötig sind!
Computerintensive Methoden 2005
4
Monte-Carlo Integration und Bayes-Inferenz
Betrachte z.B. Posteriori-Erwartungswert
Z
E(θ|y) = θf (θ|y)dθ
Wenn man aus der Posteriori-Verteilung f (θ|y) Zufallszahlen θ1, . . . , θn ziehen kann, kann man den PosterioriErwartungswert einfach durch das arithmetische Mittel
schätzen.
Allgemeiner kann man durch Mittelung von g(θ i) den
Posteriori-Erwartungswert von g(θ) schätzen.
Computerintensive Methoden 2005
5
Beispiel von Rao (1973)
Der Vektor y = (y1, y2, y3, y4) = (125, 18, 20, 34) sei multinomialverteilt mit Wahrscheinlichkeiten
1 θ 1−θ 1−θ θ
+ ,
,
,
2 4 4
4 4
Wir wollen nun zunächst den Posteriori-Erwartungswert von θ
bei einer priori-Gleichverteilung durch zwei Arten von MonteCarlo Integration schätzen:
1. θ1, . . . , θn ∼ f (θ)
2. θ1, . . . , θn ∼ f (θ|y)
Computerintensive Methoden 2005
6
Algorithmus 1
Der Posteriori-Erwartungswert läßt sich schreiben als
R1
θf (y|θ)f (θ)dθ
0
E(θ|y) = R 1
f (y|θ)f (θ)dθ
0
Beide Integrale lassen sich leicht durch Monte-Carlo Integration
mit θ1, . . . , θn ∼ f (θ) schätzen. → Programm mcraosim.R.
Zur Erinnerung: Die Log-Likelihood lautet
log f (y|θ) = l(θ; y) = y1 log(2+θ)+(y2+y3) log(1−θ)+y4 log θ;
die zugehörige Normalisierungskonstante kann ignoriert werden.
Computerintensive Methoden 2005
7
Algorithmus 2
Zum Erzeugen von Zufallszahlen aus der Posteriori-Verteilung
f (θ|y) kann z.B. rejection sampling verwendet werden, als
Vorschlagsdichte bietet sich eine Gleichverteilung an.
Zunächst muss man also numerisch den Wert der PosterioriVerteilung am Maximum bestimmen.
Beachte: die Normalisierungskonstante von f (θ|y) kann hier
ignoriert werden! → Verwendung des “modifizierten Rejection
sampling”
→ Programm mcraosim.R.
Computerintensive Methoden 2005
8
Modifiziertes Rejection sampling
• Ziel: Zufallszahlen X aus Verteilung mit Dichte fX (x) =
C f˜X (x); C sei unbekannt.
• Idee: Ziehe stattdessen Y aus Verteilung mit Dichte fY (y)
• Akzeptiere Y als Zufallszahl aus fX (x) mit Wahrscheinlichkeit
1 f˜X (Y )
α = α(Y ) =
·
M̃ fY (Y )
wobei M̃ so gewählt sein muss, dass α(y) ≤ 1 für alle y:
f˜X (x)
M̃ = sup f (x)
x
Y
Computerintensive Methoden 2005
9
Vorteil von Algorithmus 2
Jedes andere Funktional der posteriori-Verteilung kann einfach
geschätzt werden!
• Posteriori-Erwartungswert: arithmetisches Mittel
• Posteriori-Median: empirischer Median
• Symmetrische Intervalle durch entsprechende empirische
Quantile (z.B. 2.5 und 97.5% Quantil)
• HPD-Intervalle: Algorithmus von Chen and Shao (1999)
Computerintensive Methoden 2005
10
Algorithmus von Chen and Shao
Basiert auf Optimalitätseigenschaft von HPD-Intervallen:
HPD-Intervalle haben unter allen Kredibilitätsintervallen zu
einem festen Niveau minimale Breite.
Algorithmus:
1. Berechne alle Vertrauensintervalle, die den entsprechenden
Anteil (z.B. 95%) der Stichprobe beinhalten
2. Wähle dasjenige, das die kleinste Intervallbreite hat
Voraussetzung: Posteriori-Verteilung ist unimodal.
Computerintensive Methoden 2005
11
6.2 Importance Sampling
Wieder betrachten wir das Integral
Z
Z
f (x)
J = φ(x)f (x)dx = φ(x)
g(x)dx
g(x)
schätzen aber nun J durch
n
X
1
JˆIS∗ =
w∗(X i)φ(X i)
n i=1
wobei X 1, . . . , X n ∼ g(x) unabhängig und w∗(X i) =
f (X i)/g(X i) nicht-standardisierte Gewichte sind.
Computerintensive Methoden 2005
12
Erwartungswert und Varianz
Auch dieser Schätzer von J ist unverzerrt, er hat Varianz und
Standardfehler
2
Z φ(x)f (x)
1
∗
ˆ
V ar(JIS) =
− J g(x)dx
n
g(x)
v
u n
uX
1
∗
t (φ(xi) − Jˆ∗ )2w∗(xi)2
se(JˆIS) =
IS
n i=1
→ Falls g so gewählt wird, dass φf /g approximativ konstant
ˆ
ist, hat JˆIS∗ typischerweise deutlich kleinere Varianz als J.
Computerintensive Methoden 2005
13
Anwendung in Bayes-Inferenz
Szenario: Zufallszahlen aus einer Posteriori-Verteilung bzgl.
Priori-Verteilung f (θ) liegen vor.
Verwendung der Gewichte f˜(θ)/f (θ) entspricht dann einer
gewichteten Stichprobe aus der neuen Priori-Verteilung f˜(θ).
Im Beispiel: z.B. Be(.5, .5) priori-Verteilung für f˜(θ).
−1/2
→ wi(θi) = π1 θi
(1 − θi)−1/2
→ Berechnung von posteriori-Momenten bei priori f˜(θ) basierend auf θi ∼ f (θ) möglich.
Computerintensive Methoden 2005
14
Eine Fallstudie aus Ripley (1987)
Angenommen wir wollen J = P (X > 2) für X mit f (x) =
1/(π(1 + x2)) durch Monte-Carlo Integration berechnen.
Analytisch wissen wir, dass F (x) =
J ≈ 0.1476.
1
2
+
arctan(x)
,
π
und daher
1. Methode: Erzeuge Cauchy-verteilte ZVn X1, . . . , Xn, und
schätze J durch Anteil der Variablen die größer als zwei sind:
f (x) = 1/(π(1 + x2)) und φ(x) = 1(x > 2).
2. Methode: Wegen J = 0.5 · P (|X| > 2) kann man auch
|X1|, . . . , |Xn| und φ(x) = 0.5 · 1(|x| > 2) verwenden.
Computerintensive Methoden 2005
15
Eine Fallstudie cont.
3. Methode: Verwende 1 − 2J =
und Xi ∼ U(0, 2)
R2
−2
f (x)dx = 2
R2
0
f (x)dx
4. Methode: Verwende y = 1/x und
Z ∞
Z 0.5
1
y −2
J =
dx =
dy
2
−2
π(1 + x )
π(1 + y )
2
0
Z 0.5
1
dx
=
2
π(1 + y )
0
und daher Monte-Carlo Integration mit Xi ∼ U(0, 1/2) und
φ(x) = f (x)/2.
Computerintensive Methoden 2005
16
Varianzreduktion
Vergleich
der
Varianzen
Integrations-Schätzer
Straight
Hit-or-Miss
Importance
Antithetic variates
Computerintensive Methoden 2005
P (X > 2)
1
–
1350
2.4
verschiedener
P (|X| > 2)
2.4
–
–
18
1
2
R2
− 0 f
4.41
1.6
–
24
Monte-Carlo
R 1/2
f
1350
–
–
12
0
17
Importance sampling für J = P (X > 2)
Verwende z.B. g(x) = 2/x2, eine recht gute Approximation zu
f (x) für x > 2. Man kann leicht durch Inversion aus g(x) (für
x > 2) Zufallszahlen erzeugen: 1/X ∼ U(0, 1/2)
Es ergibt sich φ(x) = 1 und
f (x)/g(x) = 1/(2π(1 + x−2))
→ Verfahren
ist hier identisch zu Monte-Carlo-Integration von
R 1/2
J = 0 f!
Computerintensive Methoden 2005
18
Antithetic variates
Idee: Finde zwei gleich konstruierte, aber negativ korrelierte
Schätzer Jˆ und Jˆ∗ von J (mit gleicher Varianz) und kombiniere
diese.
Es ergibt sich:
1
1 ˆ ˆ∗
ˆ + corr(J,
ˆ Jˆ∗))
V ar( (J + J )) = V ar(J)(1
2
2
Klassische Methode bei Inversionsverfahren: Verwende F −1(Ui)
ˆ aber auch F −1(1 − Ui) für Jˆ∗!
für J,
Oder bei um Null symmetrischen Variablen: Verwende Xi und
−Xi
Computerintensive Methoden 2005
19
Antithetic variates im Beispiel
Berechnung von J = P (X > 2) unter Verwendung von X und
−X ist hier äquivalent zu MC-Integration von P (|X| > 2)
Alternativ kann man aus |X| durch Inversion ziehen: |X| =
tan(πU/2).
Verwendung von “antithetic variates” ermöglicht weitere Varianzreduktion.
R2
R 1/2
1
Analog für die Versionen J = 2 − 0 f und J = 0 f
Computerintensive Methoden 2005
20
Herunterladen