This week, one of the topics of interest is variance reduction. Discuss a method of variance reduction in simulation (see Rizzo’s SCR chapter 5). Demonstrate the method. Discuss when it might be used.
Control variates can help reduce variance in a Monte Carlo estimator of \(\theta = E[g(X)]\). For any constant c, it is easy to check that \(\hat{\theta_c} = g(X) + c(f(Y) - \mu)\) is an unbiased estimator of \(\theta\).
Variance can be a quadtradic function of c, minimized at c*. where:
\(c^* = \frac{Cov(g(X), f(X))}{Var(f(X))}\)
and minimum variance is
\(Var(\hat{\theta_c}) = Var(g(X)) - \frac{[Cov(g(X), f(X))]^2}{Var(f(X))}\)
The random variable \(f(X)\) is the control variate for the estimator g(X).
Percent reduction in variance is
\(100 \frac{[Cov(g(X), f(X))]^2}{Var(g(X)) Var(f(X))} = 100[Cov(g(X)), f(X))]^2\)
#number of simulations
m <- 10000
#control
a <- -12 + 6 * (exp(1) - 1)
#monte carlo
U <- runif(m)
#simple Monte Carlo
T1 <- exp(U)
#controlled variate
T2 <- exp(U) + a * (U - 1/2)
#percent reduction
100 * (var(T1) - var(T2)) / var(T1)
## [1] 98.39334