Download as pdf or txt
Download as pdf or txt
You are on page 1of 51

Chapter 5: Monte Carlo È © †  ~ E â

Contents

1 Monte Carlo Integration and Variance Reduction 1


1.1 Monte Carlo Integration . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Simple Monte Carlo estimator . . . . . . . . . . . . 3
1.1.2 Variance and Efficiency . . . . . . . . . . . . . . . . 12
1.2 Variance Reduction . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Antithetic Variables . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Control Variates . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.1 Antithetic variate as control variate . . . . . . . . . 30
1.4.2 Several control variates . . . . . . . . . . . . . . . . 31
1.5 Importance sampling . . . . . . . . . . . . . . . . . . . . . . 35
1.6 Stratified Sampling . . . . . . . . . . . . . . . . . . . . . . . 43
1.7 Stratified Importance Sampling . . . . . . . . . . . . . . . . 47

Previous Next First Last Back Forward 1


Chapter 1
Monte Carlo Integration and Variance
Reduction

„AkÛ(Monte Carlo)È©´˜«Äu‘ÅÄÚO{. „Akې{


Ù¢ ´é˜«gŽ¡, ‡3)û¯Kž, |^)Œþ‘ŧ
, é ù (J?1VÇ©Û, l 5ýÿ(J{, ь±¡„A
kې{.
'X‡¦ ±ÇπŠ, Í¶Ò´¥ÆžÆL“ {”(4 (ŸA,
3.1416), yÀƒ(HŠ, 3.1415926< π <3.1415927)). y3Œ±¦^„A
kÛÈ©{: dVÇØ
e r.v. X, Y i.i.d U (0, 1), K P (X + Y ≤ 1) = π4
2 2

Previous Next First Last Back Forward 1


Ïd, π = 4P (X 2 + Y 2 ≤ 1) ≈ 4#{x2 + y 2 ≤ 1}/n.

• n = 1000, π̂ = 3.168.

• n = 100, 000, π̂ = 3.14312.

• n = 107 , π̂ = 3.141356.

Previous Next First Last Back Forward 2


1.1 Monte Carlo Integration

bg´˜‡ŒÈ¼ê, ·‚‡OŽR g(x)dx. £Á3VÇØ¥, e‘ÅCb


a

þX —ݏf (x), K‘ÅCþY = g(X)Ï"


Z ∞
Eg(X) = g(x)f (x)dx
−∞

XJlX ©Ù¥) ˜ ‘Åê, KEg(X)à OÒ´ƒA²


þŠ.
1.1.1 Simple Monte Carlo estimator

ÄOθ = R 1
0 g(x)dx. eX , · · · , X þ!©ÙU (0, 1)oÄ, K
1 m

drŒêÆ m
1 X
θ̂ = gm (X) = g(Xi )
m i=1

±VÇ1ÂñÏ"Eg(X). ÏdR 1
0 g(x)dx {üMonte Carlo Oþ
g (X).
m

Previous Next First Last Back Forward 3


~1: ({üMonte Carlo È©) OŽ
Z 1
θ= e−x dx
0

{üMonte CarloO±9†È©Šƒ'.
↑Example
m <- 10000
x <- runif(m)
theta.hat <- mean(exp(-x))
print(theta.hat)
print(1 - exp(-1))
#[1] 0.6355289
#[1] 0.6321206
↓Example

O .
È©Šθ = 1 − e
θ̂ = 0.6355, −1 .
= 0.6321.
e‡OŽ Rb
d?a < bkê. KŠ˜È©Cþ“†¦È©
a g(x)dx,

l01. =ŠC†y = (x − a)/(b − a), Ïd


Z b Z 1
g(x)dx = g(y(b − a) + a)(b − a)dy
a 0
Previous Next First Last Back Forward 4
, ˜«‰{Ò´|^þ!©ÙU (a, b), =
Z b Z b 1
g(x)dx = (b − a) g(x) dx
a a b−a

~2: {üMonte Carlo È©(Y) OŽ


Z 4
θ= e−x dx
2

Monte CarloO¿ÚÈ©Šƒ'.
↑Example
m <- 10000
x <- runif(m, min=2, max=4)
theta.hat <- mean(exp(-x)) * 2
print(theta.hat)
print(exp(-2) - exp(-4))
#[1] 0.1172158
#[1] 0.1170196

Previous Next First Last Back Forward 5


↓Example

=, OŠ .
θ̂ = 0.1172, ýŠθ = − e−2 e−4
.
= 0.1170.
o(˜e, È© Rb
a g(x)dx {üMonte CarloO{
1. lþ!©ÙU (a, b)¥)i.i.dX , · · · , X 1 m;

2. OŽg (X) = g(X )


m
1
m i

3. θ̂ = (b − a)gm (X).

~3: Monte CarloÈ©, áȩ 'X¦^Monte CarloÈ©{OŽI


O©Ù¼ê x t2
Z
1
Φ(x) = √ e− 2 dt.
−∞ 2π

Äk·‚ØU†¦^±c{(Ϗȩ«mÃ.), ´·‚Œ±ò
d¯K©ü«œ/: x > 0Úx ≤ 0. e x > 0, 5¿éIO©Ù, È©
Previous Next First Last Back Forward 6
«mŒ±©(−∞, 0)Ú(0, x),ÏdI‡OŽÈ©θ = R e dt =Œ.  x −t
0
2
2

Œ±¦^ƒc{. ´I‡lþ!©ÙU (0, x)¥Ä, exu)Cz,


Kþ!©ÙÒCz . e‡¦lU (0, 1)¥Ä, KŒ±ŠC†y = t/x, K
Z 1 2
θ= xe−(xy) /2
dy
0

Ïd, θ = E [xe
Y ], Ù¥Y
−(xY )2 /2 ∼ U (0, 1). l )U (0, 1)i.i.d‘Å
êu , · · · , u , K θO
1 m

m
1 X −(xu)2 /2
θ̂ = gm (u) = xe .
m i=1

džéx > 0,Φ(x)O0.5 + θ̂/√2π; éx ≤ 0, OŽΦ(x) = 1 − Φ(−x).


↑Example

x <- seq(.1, 2.5, length = 10)


m <- 10000
u <- runif(m)

Previous Next First Last Back Forward 7


cdf <- numeric(length(x))
for (i in 1:length(x)) {
g <- x[i] * exp(-(u * x[i])^2 / 2)
cdf[i] <- mean(g) / sqrt(2 * pi) + 0.5
}
Phi <- pnorm(x)
print(round(rbind(x, cdf, Phi), 3))
↓Example

~4: Monte CarloÈ©, áȩ(Y) éþ~, ·‚Œ±¦^, ˜«


ª(hit-or-miss). PZ ∼ N (0, 1), Ké?Û¢êxk
Φ(x) = P (Z ≤ x) = EI(Z ≤ x).

l lIO¥)‘Åz , · · · , z 1 m , =ŒΦ(x)O
m
1 X
Φ̂(x) = I(zi ≤ x).
m i=1

Previous Next First Last Back Forward 8


Ù±VÇ1ÂñΦ(x).
↑Example

x <- seq(.1, 2.5, length = 10)


m <- 10000
z <- rnorm(m)
dim(x) <- length(x)
p <- apply(x, MARGIN = 1,
FUN = function(x, z) {mean(z <= x)}, z = z)
Phi <- pnorm(x)
print(round(rbind(x, p, Phi), 3))
↓Example

o(Xe: –OÈ©
Z
θ= g(x)f (x)dx
A

Ù¥f ±A| VǼê, =R A f (x)dx = 1. K)f i.i.d‘Å


Previous Next First Last Back Forward 9
êx , · · · , x
1 m , dŒêÆθO
m
1 X
θ̂ = g(xi ).
m i=1

duθ̂ σ /m, Ù¥σ = V ar (g(X)). ‘ÅCþX ©Ù™ž,


2 2
f

·‚Œ±¦^x , · · · , x ²©Ù¼ê, l σ /mO


1 m
2

m
1 X
σ̂ 2 /m = 2
[g(xi ) − g(x)]2 .
m i=1

2d¥%4½nm → ∞ž
θ̂ − E θ̂
q
V ar(θ̂)

©ÙÂñIO©Ù. ÏdéŒ, ìC5Œ±‰ÑÈ©


Monte CarloOØ ., ±dŒ± 5uÂñ5.

Previous Next First Last Back Forward 10


~5: Monte CarloÈ©Ø . ïáΦ(2)ÚΦ(2.5)Monte CarloÈ©
O%95˜&«m.
↑Example
x <- 2
m <- 10000
z <- rnorm(m)
g <- (z <= x) #the indicator function
v <- mean((g - mean(g))^2) / m
cdf <- mean(g)
c(cdf, v)
c(cdf - 1.96 * sqrt(v), cdf + 1.96 * sqrt(v))
#[1] 9.7800e-01 2.1516e-06
#[1] 0.975125 0.980875
↓Example

‘ÅCþI(Z ≤ 2)Š1VǏΦ(2) ≈ 0.977. d?g(X) ∼ B(10000, Φ(2)),


Ïd g(X) 0.977(1 − 0.977)/10000 = 2.223e − 06. Monte CarloÈ
©O 2.1516e − 06, ®²š~C .
Previous Next First Last Back Forward 11
1.1.2 Variance and Efficiency

Monte Carlo {3O˜‡È©R b


a ž òÙL«˜‡þ!‘ÅC
g(x)dx ,
þÏ", l
Z b Z b 1
θ= g(x)dx = (b−a) g(x) dx = (b−a)E[g(X)], X ∼ U (a, b).
a a b−a

l Ž{Xe
1. lU (a, b)¥)i.i.dX , · · · , X 1 m.

2. OŽg(X) = 1 m
P
m
g(X ).
i=1 i

3. θ̂ = (b − a)g(X).

´,
(b − a)2
E θ̂ = θ, V ar(θ̂) = (b − a)2 V ar(g(X)) = V ar(g(X)).
m

Previous Next First Last Back Forward 12


k¥%4½n, g(X)©ÙìC©Ù, Ïdθ̂ìC©Ù.
Hit-or-miss Monte Carlo {K¦^ , ˜«OÈ©ª, Ù
 Úþ¡`{ØÓ. LãXe: bf ‘ÅCþX VǼê, ¦
^“hit-or-miss”{OÈ©F (x) = R f (t)dt: x
−∞

1. lX ©Ù¥)i.i.dX , · · · , X 1 m.

2. OŽg(X) = 1 m
P
I(X ≤ x).
m i=1 i

3. F[
(x) = g(X).

w,éz‡kx, Y = g(X) = I(X ≤ x) ∼ B(1, p), p = F (x). Ï


d
E[F[
(x)] = F (x), V ar[F[
(x)] = F (x)(1 − F (x))/m.

F[
(x)  Œ±ÏLF[ (x))/m5O.
(x)(1 − F[
ùü«{ ØÓ, g,¬¯=«`˜ , =kÇ.
Previous Next First Last Back Forward 13
θ̂ Úθ̂ ´θü‡Ã Oþ, Kθ̂ 'θ̂ k, XJ
1 2 1 2
Definition
V ar(θ̂1 ) ≤ V ar(θ̂2 ).

XJ˜‡Oþ ™, K·‚ÏLòÙOÑ5. , , Oþ


 o´Œ±ÏLO\þ 5~.
1.2 Variance Reduction

·‚®²Monte CarloÈ©{Œ±^5OE[g(X)]ù«a.È©.
e¡·‚?ØXÛ~θ = E[g(X)] þŠOþ.

Previous Next First Last Back Forward 14


eθ̂ Úθ̂  ë êθ ü ‡  O þ, V ar(θ̂2 ) < V ar(θ̂1 ), K¦
^θ̂ '¦^θ̂  ~z©'
1 2
2 1
! Definition
V ar(θ̂1 ) − V ar(θ̂2 )
100 .
V ar(θ̂1 )

¦+Œ±O\þm5~ , ´OŽ¤¬ép. 'XIO ‡–


õe, V ar(g(X)) = σ , KI‡þm ≥ . X‡rIO l0.01~
2 σ2
e2
0.0001, Kþ–‡10000.
1.3 Antithetic Variables

5¿Ñéü‡‘ÅCþU , U , 1 2

1
V ar((U1 + U2 )/2) = (V ar(U1 ) + V ar(U2 ) + 2Cov(U1 , U2 ).
4

Previous Next First Last Back Forward 15


Ïd, U , U Kƒ'ž(U + U )/2 'كpÕជ. ù‡¯
1 2 1 2

¢r¦·‚Ħ^Kƒ'‘ÅCþ 5~ .
'X, bX , . . . , X ÏL_C†{), édm‡‘Å•þ(X =
1 n

(X , . . . , X ))z˜‡, ·‚®²)U ∼ U (0, 1)±9OŽX


1 n = F (U ), j =
j
(j) −1
X j

1, . . . , n. 5¿eU ∼ U (0, 1),K 1 − U ∼ U (0, 1), U †1 − U Kƒ'. K

−1 −1 (j) (j)
Yj = g(X (j) ) = g(FX (U1 ), . . . , FX (Un ))

†
−1 −1 (j) (j)
Yj0 = g(X (j) ) = g(FX (1 − U1 ), . . . , FX (1 − Un ))

Ó©Ù.
@oŸoœ/eY †Y ´Kƒ'? e¡½n`²XJg´üN, j j
0

KY ÚY ´Kƒ'.
j j
0

½Â(x , . . . , x ) ≤ (y , . . . , y ) XJx ≤ y , j = 1, . . . , n. ˜‡n


1 n 1 n j j

¼ê g = g(x , . . . , x )¡´O, XJÙéz˜‡CþÑ´O, =X


1 n

Previous Next First Last Back Forward 16


J(x , . . . , x ) ≤ (y , . . . , y ), Kg(x , . . . , x ) ≤ g(y , . . . , y ). aq
1 n 1 n 1 n 1 n

¡g4~,XJÙéz‡CþÑ´~.  , ¡g´üN,XJÙ´O
½ö~.
Theorem 1. X = (X , · · · , X )ˆ©þƒpÕá, f Úg Ó•üN¼
1 n

ê(ÓO½öÓ~), K
E[f (X)g(X)] ≥ E[f (X)]E[g(X)].

Proof. ؔf, gÓO. y²{´én8B. bn = 1, Ké¤kx, y ∈


R, (f (x)−f (y))(g(x)−g(y)) ≥ 0. Ïd E[(f (X)−f (Y ))(g(X)−g(Y ))] ≥ 0,
=k
E[f (X)g(X)] + E[f (Y )g(Y )] ≥ E[f (X)g(Y )] + E[f (Y )g(X)].

d?X, Y i.i.d, Ïd
2E[f (X)g(X)] = E[f (X)g(X)] + E[f (Y )g(Y )]

Previous Next First Last Back Forward 17


≥ E[f (X)g(Y )] + E[f (Y )g(X)] = 2E[f (X)]E[g(X)],

=(Øén = 1¤á. y3bén − 1¤á, Kdu


E[f (X)g(X)|Xn = xn ] ≥ E[f (X1 , . . . , Xn−1 , xn )]E[g(X1 , . . . , Xn−1 , xn )]

= E[f (X|Xn = xn )]E[g(X|Xn = xn )],

 ˜ªz‡X O¼ê, ÏdŠân = 1(Øk


n

E[f (X)g(X)] = E{E[f (X)g(X)|Xn ]}

≥ E{E[f (X|Xn = xn )]}E{E[g(X|Xn = xn )]}

= E[f (X)]E[g(X)].

Corollary 1. g = g(X , . . . , X ) ´üN, K


1 n

−1 −1
Y = g(FX (U1 ), . . . , FX (Un ))

Previous Next First Last Back Forward 18


†
−1 −1
Y 0 = g(FX (1 − U1 ), . . . , FX (1 − Un ))

´Kƒ'.
Proof. ؔ˜„5, bg ´4O. K

−1 −1
Y = g(FX (U1 ), . . . , FX (Un ))

†
−1 −1
−Y 0 = f = −g(FX (1 − U1 ), . . . , FX (1 − Un ))

´ü‡4O¼ê. ÏdE[g(U )f (U )] ≥ E[g(U )]E[f (U )], = E[Y Y ] ≤ 0

E[Y ]E[Y ], d=¿›X


0

Cov(Y, Y 0 ) = E[Y Y 0 ] − E[Y ]E[Y 0 ] ≤ 0.

l Y ÚY Kƒ'.0

Previous Next First Last Back Forward 19


éóCþ(Antithetic Variables){éN´A^. XJI‡m‡Monte
­E, K)m/2‡­E
Carlo

−1 (j) −1 (j)
Yj = g(FX (U1 ), . . . , FX (Un ))

±9em/2‡­E
−1 (j) −1 (j)
Yj0 = g(FX (1 − U1 ), . . . , FX (1 − Un )),

Ù¥U (j)
i ,i = 1, . . . , n; j = 1, . . . , m/2. i.i.d U (0, 1). KéóOþ
1
θ̂ = {Y1 + Y10 + Y2 + Y20 + · · · + Ym/2 + Ym/2
0
}
m
m/2 0
2 X Yj + Yj
= .
m j=1 2

ÏL¦^éóCþ¦Monte Carlo O ~.

Previous Next First Last Back Forward 20


~6: éóCþ{ ¦^ƒc~f, 'X‡OÈ©
Z x 1 −t2 /2
Φ(x) = e dt.
−∞ 2π

¦^éóCþ{OdÈ©, ¿éÑIO ~þ.


ŠCþ“† , 8IÈ©´θ = E [xe ], Ù¥U ∼ U (0, 1). w,
U
−(xU )2 /2

d?g¼ê´üN, Ïdc¡íØ^‡÷v. )‘Åêu , · · · , u ∼ 1 m/2

U (0, 1), OŽ

2
Yj = g (j) (u) = xe−(xuj ) /2
, j = 1, · · · , m/2.

±9
2
Yj0 = xe−(x(1−uj )) /2
, j = 1, · · · , m/2.

KþŠ
m/2 2 2
1 X xe−(uj x) + xe−(x(1−uj )) /2
θ̂ = gm (u) =
m/2 j=1 2

Previous Next First Last Back Forward 21


ÂñEθ̂.
l ex > 0,KΦ(x)O0.5+θ̂/√2π; ex < 0, KΦ(x) = 1−Φ(−x).
↑Example

MC.Phi <- function(x, R = 10000, antithetic = TRUE) {


u <- runif(R/2)
if (!antithetic) v <- runif(R/2) else
v <- 1 - u
u <- c(u, v)
cdf <- numeric(length(x))
for (i in 1:length(x)) {
g <- x[i] * exp(-(u * x[i])^2 / 2)
cdf[i] <- mean(g) / sqrt(2 * pi) + 0.5
}
cdf
}
↓Example

Ú{üMonte CarloÈ©{ƒ':
↑Example
Previous Next First Last Back Forward 22
x <- seq(.1, 2.5, length=5)
Phi <- pnorm(x)
set.seed(123)
MC1 <- MC.Phi(x, anti = FALSE)
set.seed(123)
MC2 <- MC.Phi(x)
print(round(rbind(x, MC1, MC2, Phi), 5))
↓Example

 ~þŒ±[5':
↑Example
m <- 1000
MC1 <- MC2 <- numeric(m)
x <- 1.95
for (i in 1:m) {
MC1[i] <- MC.Phi(x, R = 1000, anti = FALSE)
MC2[i] <- MC.Phi(x, R = 1000)
}
print(sd(MC1))
print(sd(MC2))
print((var(MC1) - var(MC2))/var(MC1))

Previous Next First Last Back Forward 23


↓Example

éx = 1.95, éóCþ{ƒ'u{üMonte Carlo{O Œ~


99.5%.
1.4 Control Variates

O¥, ˜«~ {´››Cþ(Control Variates)


Monte Carlo
¦^. ‡Oþθ = E[g(X)], f ˜‡¼ê, ÙÏ"E[f (X)] = µ®
, f Úgƒ'.
é?Û~êc, Oþθ̂ = g(X) + c(f (X) − µ)Ã ,  
c

V ar(θ̂c ) = V ar(g(X)) + c2 V ar(f (X)) + 2cCov(g(X), f (X))

écz, KŠ3
Cov(g(X), f (X))
c∗ = −
V ar(f (X))

Previous Next First Last Back Forward 24


?ˆ, Š
[Cov(g(X), f (X))]2
V ar(θ̂c∗ ) = V ar(g(X)) − .
V ar(f (X))

‘ÅCþf (X)¡g(X)˜‡››Cþ(Control Variate). w, ~


Ǐ
[Cov(g(X), f (X))]2
100 = 100[Cor(g(X), f (X))]2 .
V ar(g(X))V ar(f (X))
Œ±wÑ, ù«{3f Úgrƒ'ž´k`³, ef Úg؃', Kج
— ~.
~7: ››Cþ{ ¦^››Cþ{OŽÈ©
Z 1
θ = E[eU ] = eu du,
0

Ù¥U ∼ U (0, 1).


d~¥,,È©Šθ = e − 1 =. 1.718282, ·‚E,¦^››CþMonte
Carlo{5OŽÈ©, ^±`²ù«{¦^. XJ¦^{üMonte

Previous Next First Last Back Forward 25


CarloÈ©{, K 
e2 − 1 .
V ar(g(U )) = V ar(eU ) = − (e − 1)2 = 0.2420351.
2

­EmgO V ar(g(U ))/m.


››Cþg,ÀJU ∼ U (0, 1), KCov(e U , U) .
= 1 − (e − 1)/2 =
0.1408591. Ïd

−Cov(eU , U ) .
c∗ = = −12 + 6(e − 1) = −1.690309.
V ar(U )

¦^››Cþ{Oθ̂ = e c∗
U − 1.690309(U − 0.5), m g­E
 V ar(θ̂ )/m, Ù¥V ar(θ̂ )
c∗ c∗

[Cov(eU , U )]2 e2 − 1 e−1 2 .


V ar(eU )− = −(e−1)2 −12[1− ] = 0.003940175.
V ar(U ) 2 2

Ïd¦^››Cþ{—{üMonte CarloOþ ~Ǐ100(1 −


0.003940175/0.2429355) = 98.3781%.

Previous Next First Last Back Forward 26


e¡·‚¦^››Cþ{5OŽÙ² ~Ç.
↑Example

x <- seq(.1, 2.5, length=5)


Phi <- pnorm(x)
set.seed(123)
MC1 <- MC.Phi(x, anti = FALSE)
set.seed(123)
MC2 <- MC.Phi(x)
print(round(rbind(x, MC1, MC2, Phi), 5))
↓Example

 ~þŒ±[5':
↑Example
m <- 10000
a <- - 12 + 6 * (exp(1) - 1)
U <- runif(m)
T1 <- exp(U) #simple MC
T2 <- exp(U) + a * (U - 1/2) #controlled
mean(T1)

Previous Next First Last Back Forward 27


mean(T2)
(var(T1) - var(T2)) / var(T1)
↓Example

~8: ¦^››Cþ{Monte CarloÈ© ¦^››Cþ{OŽÈ©


1 e−x
Z
dx.
0 1 + x2

d~¥a,þθ = Eg(X), g(x) = , Ù¥X ∼ U (0, 1). · e−x


1+x2
‚ ‡Ï¦˜‡v Cg¼êf ÙÏ"Š‡®, Úgƒ'. 'Xf (x) =
´Œ±, eU ∼ U (0, 1), K
e−0.5
(1+x2 )
Z 1 1 π
Ef (U ) = e−0.5 du = e−0.5 .
0 1 + u2 4
·‚Œ±OÑCor(g(U ), f (U )) ≈ 0.974. Ïd
↑Example
Previous Next First Last Back Forward 28
f <- function(u) exp(-.5)/(1+u^2)
g <- function(u) exp(-u)/(1+u^2)
set.seed(510) #needed later
u <- runif(10000)
B <- f(u)
A <- g(u)
a <- -cov(A,B) / var(B) #est of c*

m <- 100000
u <- runif(m)
T1 <- g(u)
T2 <- T1 + a * (f(u) - exp(-.5)*pi/4)
c(mean(T1), mean(T2))
c(var(T1), var(T2))
(var(T1) - var(T2)) / var(T1)
↓Example

Previous Next First Last Back Forward 29


1.4.1 Antithetic variate as control variate

éóCþ{¢Sþ´››Cþ{A~. 5¿››Cþ{ ´Ã 
O‚5|Ü. ˜„/, eθ̂ Úθ̂ θà Oþ, Ké?Û~êc,k
1 2

θ̂c = cθ̂1 + (1 − c)θ̂2

Eθà O. ِ 
V ar(θ̂2 ) + c2 V ar(θ̂1 − θ̂2 ) + 2cCov(θ̂2 , θ̂1 − θ̂2 ).

AO/, θ̂ Úθ̂ Ó©Ù,


1 2 Cor(θ̂1 , θ̂2 ) = −1. KCov(θ̂ , θ̂ ) = −V ar(θ̂ ),
1 2 1

 
V ar(θ̂c ) = 4c2 V ar(θ̂1 ) − 4cV ar(θ̂1 ) + V ar(θ̂1 ) = (4c2 − 4c + 1)V ar(θ̂1 ),

Ïd`c ∗ = 1/2. dž››CþOþ


θ̂1 + θ̂2
θ̂c∗ =
2
ù´(ù«A½ÀJe)éóCþ{eOþ.
Previous Next First Last Back Forward 30
1.4.2 Several control variates

òà Oþ|Üå5ŠëêθO,±~ {Œ±í2õ‡›
›Cþ|Ü: k
X
θ̂c = g(X) + ci (fi (X) − µi ))
i=1

Ù¥µ i = Efi (X), i = 1, · · · , k.,


Pk
i=1 ci =1 ±9
k
X
E θ̂c = E[g(X)] + ci E[fi (X) − µi ] = θ
i=1

››Cþ{eOþθ̂ ±9`c Œ±ÏL£8.5O.


ĉ i

3 k = 1 |Ü, Ä((g(X ), f (X )), · · · , (g(X ), f (X


1 1 n n ))), b
g(X)†f (X)ƒm3‚5'X: g(X) = β + β f (X) + e, 0 1

E[g(X)] = β0 + β1 E[f (X)].

Previous Next First Last Back Forward 31


β1 ¦O
Pn
i=1 (g(Xi ) − g(X))(f (Xi ) − f (X)) Cov(g(X), f (X))
d
β̂1 = Pn ¯ 2 = = −c∗ .
i=1 (f (Xi ) − f (X)) V ar(f (X))
d

ù`²·‚Œ±¦^g(X)éf (X)£85Oc:
↑Code
L<-lm(gx~fx)
c.star<--L$coef[2]
↓Code

偦Oβ̂ 0 = g(X) − (−c∗ )f (X), Ïd3µ?ýÿŠ


β̂0 + β̂1 µ = g(X) + ĉ∗ (f (X) − µ) = θ̂c∗

=››Cþ{eOþ´ýÿŠ.
Ø  O
be2 = Vd
σ ar(g(X)−ĝ(X)) = Vd ar(g(X)+ĉ∗ f (X))
ar(g(X)−(β̂0 +β̂1 f (X))) = Vd

Previous Next First Last Back Forward 32


››Cþ{eOþ O
ar(g(X) + ĉ∗ f (X))
Vd σ̂ 2
ar(g(X) + ĉ∗ (f (X) − µ)) =
Vd = e.
n n

Ïd3R¥, ››Cþ{eOþIO O


↑Code
se.hat<-summary(L)$sigma/sqrt(n)
↓Code

Úc¡››Cþ˜!¥(JƒÓ.
阄k, KŒ±¦^£8
k
X
g(X) = β0 + βi f (X) + e
i=1

5O`~êc = (c , · · · , c ). K−c = (β̂ , · · · , β̂ ), ±9dž›


∗ ∗
1

k

1 k

›Cþ{eO3µ = (µ , · · · , µ )?ýÿŠĝ(X). O


1 k

σ /n.
2
e

Previous Next First Last Back Forward 33


~9: ››CþÚ£8 ¦^£8{OÈ©
1 e−x
Z
g(x) = dx.
0 1 + x2

ùp››Cþf (x) = e .5 (1 + x2 )−1 , 0 < x < 1. , µ = E[f (X)] =


e.5 π/4. O`~êc , ∗

↑Example

set.seed(510)
u <- runif(10000)
f <- exp(-.5)/(1+u^2)
g <- exp(-u)/(1+u^2)
L <- lm(g~f)
c.star <- - L$coeff[2] # beta[1]
mu <- exp(-.5)*pi/4
c.star
theta.hat <- sum(L$coeff * c(1, mu)) #pred. value at mu
theta.hat

Previous Next First Last Back Forward 34


summary(L)$sigma^2
summary(L)$r.squared
↓Example

ùp·‚¦^ Úc~¥Ó«f, ÏdÓc O. y3θ̂ ´ ∗


ĉ∗

3µ = 0.4763681?ýÿŠ. Oþθ̂9ÙIO ,  ~ÇÑÚc~


ƒÓ.
1.5 Importance sampling

3c¡SN¥,·‚òk«mþÈ©À´d«mþþ!©Ù‘ÅCþ
,‡¼êÏ"Š. ù«{":´ØU†^uáȩO, ±9
ȼê3È©«mþØ´éþ!žÿ Çé$. @oég,/Œ±
Äþ!©Ù± Ù¦\¼ê. ùÒ—/­‡5Đ{0.
b‘ÅCþX —ݼêf (x), ÷v38Ü{x : g(X) > 0}þf (x) >
0. KPY = g(X)/f (X),
Z Z
g(x)
g(x)dx = f (x)dx = EY.
f (x)
Previous Next First Last Back Forward 35
ÏL{üMonte Carlo{OEY :
m m
1 X 1 X g(Xi )
Yi = .
m i=1 m i=1 f (Xi )

d?‘ÅCþX , · · · , X lf ¥Ä. f ¡­­‡¼ê. O 


1 m

V ar(Y )/m, Y C~êž, Y  ¬', dž—Ýf AT“‚C” ¼


êg(x). ,, —Ýf ATÀJN´Ä©Ù.
­‡5Đ{`:´Œ±ÏLÀJ­‡¼ê5ü$ Monte Carlo 
O . bf (x)´| A—ݼê, eφ(x) > 0, ∀x ∈ A, KÈ©
Z
θ= g(x)f (x)dx,
A

Œ± Z
f (x)
θ= g(x) φ(x)dx.
φ(x)
eφ(x)Aþ—ݼê, Kθ˜‡Oþ
A

n
1X f (Xi )
θ̂ = g(Xi ) ,
n i=1 φ(Xi )

Previous Next First Last Back Forward 36


Ù¥X , · · · , X lφ(x)¥)‘Å. φ(x)¡­‡5ļê½
1 n

ö ä¼ê(envelope). φÀJkˆ«ˆ, ;.ÀJ¦3Aþk


φ(x) ≈ |g(x)|f (x), ,φkk . ù´du

g 2 (x)
Z
V ar(θ̂) = dx − θ2 .
A φ(x)

dCauchy-Schwarzت, V ar(θ̂)Š
Z 2
|g(x)|dx − θ2 .
A

Œ±ÏL
|g(x)|
φ(x) = R .
A |g(x)|dx
ØLdu‡OR |g(x)|dx, Ïd©1™. ¦+ùUˆ
A

φ(x)éJ, ´XJÀJÚ|g(x)|/GCφ(x), K Œ±C`


 .
Previous Next First Last Back Forward 37
~10: ­‡5¼êÀJ ¦^ØÓ­‡5¼ê5OÈ©
1 e−x
Z
dx.
0 1 + x2

'X, Œ±ÄXe­‡5¼ê:
f0 (x) = 1, 0 < x < 1,

f1 (x) = e−x , 0 < x < ∞,


1
f2 (x) = , − ∞ < x < ∞,
π(1 + x2 )
f3 (x) = e−x (1 − e−1 )−1 , 0 < x < 1,
4
f4 (x) = , 0<x<1
π(1 + x2 )

ù5«¼êÚgƒm'X:

Previous Next First Last Back Forward 38


Importance sampling
function f0,...f4 with g
2.0
g
f0
f1
f2
f3
f4
1.5
1.0
0.5
0.0

0.0 0.2 0.4 0.6 0.8 1.0

Previous Next First Last Back Forward 39


Ratios of g/f

g/f0
3.0

g/f1
g/f2
g/f3
g/f4
2.5
2.0
1.5
1.0
0.5
0.0

0.0 0.2 0.4 0.6 0.8 1.0

Previous Next First Last Back Forward 40


3ù5«­‡5¼ê¥, f , f | '(0, 1)Œ, ÏdéõÑéOÈ
1 2

©Ã^, ÏdÇ$e. f Cg. 'ù5«­‡5¼êeÈ©OŠÚ


3

 OŠ:
↑Example
m <- 10000
theta.hat <- se <- numeric(5)
g <- function(x) {
exp(-x - log(1+x^2)) * (x > 0) * (x < 1)
}

x <- runif(m) #using f0


fg <- g(x)
theta.hat[1] <- mean(fg)
se[1] <- sd(fg)

x <- rexp(m, 1) #using f1


fg <- g(x) / exp(-x)
theta.hat[2] <- mean(fg)
se[2] <- sd(fg)

Previous Next First Last Back Forward 41


x <- rcauchy(m) #using f2
i <- c(which(x > 1), which(x < 0))
x[i] <- 2 #to catch overflow errors in g(x)
fg <- g(x) / dcauchy(x)
theta.hat[3] <- mean(fg)
se[3] <- sd(fg)

u <- runif(m) #f3, inverse transform method


x <- - log(1 - u * (1 - exp(-1)))
fg <- g(x) / (exp(-x) / (1 - exp(-1)))
theta.hat[4] <- mean(fg)
se[4] <- sd(fg)

u <- runif(m) #f4, inverse transform method


x <- tan(pi * u / 4)
fg <- g(x) / (4 / ((1 + x^2) * pi))
theta.hat[5] <- mean(fg)
se[5] <- sd(fg)

rbind(theta.hat, se)

Previous Next First Last Back Forward 42


[,1] [,2] [,3] [,4] [,5]
theta.hat 0.5243630 0.5188012 0.5367005 0.52389845 0.5259339
se 0.2436977 0.4199031 0.9594029 0.09657142 0.1414429
>
↓Example

1.6 Stratified Sampling

|^È©‚55ÚÚrŒêÆ, Œ±‡¦È©R g(x)dxŒ±©A‡


È©ƒÚ, éz‡È©Œ±üÕ¦^Monte CarloÈ©{. ؔòdÈ©
©k‡È©ƒÚ, éz‡È© Äm g, m = m + · · · + m , ÷v8I
i 1 k

V ar(θ̂k (m1 , · · · , mk )) < V ar(θ̂).

~11: ăc~f òÈ©«m(0, 1)'X©o‡f«m, 3z‡f


«mþÄm/4g, ùpmoÄgê. , òù O\å5È
©R e (1 + x ) dxO.
1 −x
0
2 −1

Previous Next First Last Back Forward 43


↑Example
M <- 20 #number of replicates
T2 <- numeric(4)
estimates <- matrix(0, 10, 2)

g <- function(x) {
exp(-x - log(1+x^2)) * (x > 0) * (x < 1) }

for (i in 1:10) {
estimates[i, 1] <- mean(g(runif(M)))
T2[1] <- mean(g(runif(M/4, 0, .25)))
T2[2] <- mean(g(runif(M/4, .25, .5)))
T2[3] <- mean(g(runif(M/4, .5, .75)))
T2[4] <- mean(g(runif(M/4, .75, 1)))
estimates[i, 2] <- mean(T2)
}

estimates
apply(estimates, 2, mean)
apply(estimates, 2, var)
↓Example

Previous Next First Last Back Forward 44


Theorem 2. PM gÄe{üMonte CarloÈ©Oþ(=lþ!©Ù
¥Ä)θ̂ , ±9 M
k
1X
θ̂S = θ̂i
k i=1
L«© Oþ, z‡ Ägêm/k. 31j‡ þ, g(U )þŠÚ
 ©O Pθ Úσ , j = 1, · · · , k. KV ar(θ̂ ) ≥ V ar(θ̂ ).
j
2
j
M S

Proof. ^J L«‘ÅÀJ , P (J = j) = 1/k, j = 1, · · · , k. K


V ar(g(U )) 1
V ar(θ̂M ) = = [V ar(E(g(U |J))) + E(V ar(g(U |J)))]
M M
1
= (V ar(θJ ) + EσJ2 )
M
k
1 1X 2
= (V ar(θJ ) + σ )
M k i=1 j
1
= V ar(θJ ) + V ar(θ̂S ) ≥ V ar(θ̂S ).
M

Previous Next First Last Back Forward 45


~12: ¦^© Đ{Oc¡~f¥È© éÈ©R e (1 + 1 −x
0

x ) dxA^ k Đ{O, ¿Ú{üMonte CarloÈ©{'.


2 −1

↑Example
M <- 10000 #number of replicates
k <- 10 #number of strata
r <- M / k #replicates per stratum
N <- 50 #number of times to repeat the estimation
T2 <- numeric(k)
estimates <- matrix(0, N, 2)

g <- function(x) {
exp(-x - log(1+x^2)) * (x > 0) * (x < 1)
}

for (i in 1:N) {
estimates[i, 1] <- mean(g(runif(M)))
for (j in 1:k)
T2[j] <- mean(g(runif(M/k, (j-1)/k, j/k)))
estimates[i, 2] <- mean(T2)
}

Previous Next First Last Back Forward 46


apply(estimates, 2, mean)
apply(estimates, 2, var)
↓Example

1.7 Stratified Importance Sampling

© ÄgŽŒ±^3­‡5Đ{¥. 3­‡5Đ{¥, θ =
g(x)dxOþ σ /M , Ù¥σ = V ar(g(X)/f (X)), X ∼ f. A
2 2
R

^© Đ{, ò†‚©k‡f«m I = {x : a ≤ x < a }, j j−1 j

Ù¥ a = −∞, a = F (j/k), j = 1, · · · , k − 1, a = ∞. Pg (x) =


0 j
−1
k j

g(x)I(a ≤ x < a ), ±9
j−1 j
Z aj
θj = gj (x)dx, j = 1, · · · , k.
aj−1

Previous Next First Last Back Forward 47


Kθ = θ 1 + · · · + θk . éz‡f«mI , ­‡5¼êŒ±^‡—Ý:
j

f (x)I(aj−1 ≤ x < aj )
fj (x) = f (x|Ij ) = = kf (x)I(aj−1 ≤ x < aj )
P (aj−1 ≤ X < aj )

2Pσ = V ar(g (X)/f (X)), j = 1, · · · , k. , θ© ­‡5Ä


2
j j j

eO k
X
θ̂SI = θ̂j
i=1

ِ  k k
X 1 X 2
V ar(θ̂SI ) = V ar(θ̂j ) = σ .
i=1
m i=1 j

Ù¥m = M/k. KF"


k
k X 2
σ 2 /M > σ .
M i=1 j

·‚Œ±y²Xe(Ø:

Previous Next First Last Back Forward 48


bM = km­‡5ÄeOþθ̂ ćê, θ̂ =
Theorem 3. I SI
Pk
© ­‡5ÄeOþ, ùpθ̂ 1j θ ­‡5Äe
i=1 θ̂j j j

Oþ, ćêm. eV ar(θ̂ ) = σ /M , ±9V ar(θ̂ ) = σ /m,K


I 2
j
2
j

k
X
σ2 − k σj2 ≥ 0,
j=1

Ò¤á =θ = · · · = θ .
1 k

d(Ø`²© Äýج*Œ , 3gš~ê|Üo´3˜‡Œ±


~ © .
~13: 3c¡~f¥, Á¦^f (x)Š­‡5¼ê, òÈ©«m©
(j/5, (j + 1)/5), j = 0, 1, · · · , 4ù 5‡f«m, éz‡f«mA^­‡5Ä
3

{, OŽdžÈ©Oþ9Ù² .

Previous Next First Last Back Forward 49

You might also like