控制变量法()是在蒙特卡洛方法中用于减少方差的一种技术方法。该方法通过对已知量的了解来减少对未知量估计的误差。
原理
假设要估计的参数为\mu。同时对于统计m,其期望值为\mu:\mathbb{E}\left[m\right]=\mu,即m是\mu的无偏差估计。此时,对于另一个统计t,已知\mathbb{E}\left[t\right]=\tau。于是,
:m^\star = m + c\left(t-\tau\right) \,
也是\mu的无偏差估计,c为任一给定系数。m^\star的方差为
:\textrm{Var}\left(m^{\star}\right)=\textrm{Var}\left(m\right) + c^2\,\textrm{Var}\left(t\right) + 2c\,\textrm{Cov}\left(m,t\right);
可以证明,使得方差最小的系数c为
:c^\star = - \frac{\textrm{Cov}\left(m,t\right)}{\textrm{Var}\left(t\right)};
此时,对应的方差则为
:\begin{align}
\textrm{Var}\left(m^{\star}\right) & =\textrm{Var}\left(m\right) - \frac{\left[\textrm{Cov}\left(m,t\right)\right]^2}{\textrm{Var}\left(t\right)} \\
& = \left(1-\rho_{m,t}^2\right)\textrm{Var}\left(m\right);
\end{align}
其中
:\rho_{m,t}=\textrm{Corr}\left(m,t\right)\,
为m与t之间的相关系数。\vert\rho_{m,t}\vert越大时,方差越小。
当\textrm{Cov}\left(m,t\right)、\textrm{Var}\left(t\right)或\rho_{m,t}\;未知时,可以通过蒙特卡洛模拟进行估计。由于该方法相当于一个最小二乘法系统,又被称为回归抽样()。
示例
假设我们要使用蒙特卡洛方法估计
:I = \int_0^1 \frac{1}{1+x} \, \mathrm{d}x,
即估计
:f(U) = \frac{1}{1+U}
的期望值。其中,U满足均匀分布。假设有n个样本u_1, \cdots, u_n,该估计可表示为
:I \approx \frac{1}{n} \sum_i f(u_i);
此时,我们引入控制变量g(U) = 1+U,其已知期望值为\mathbb{E}\left[g\left(U\right)\right]=\int_0^1 (1+x) \, \mathrm{d}x=\tfrac{3}{2} 。由此,可以得到新的估计
:I \approx \frac{1}{n} \sum_i f(u_i)+c\left(\frac{1}{n}\sum_i g(u_i) -3/2\right).
以下为n=1500并使用估计的最优系数 c^\star \approx 0.4773 时,一次蒙特卡洛模拟所给出的积分估计值:
参考文献
- Ross, Sheldon M. (2002) Simulation 3rd edition
- Averill M. Law & W. David Kelton (2000), Simulation Modeling and Analysis, 3rd edition.
- S. P. Meyn (2007) Control Techniques for Complex Networks, Cambridge University Press. . [https://web.archive.org/web/20100619011046/https://netfiles.uiuc.edu/meyn/www/spm_files/CTCN/CTCN.html Downloadable draft] (Section 11.4: Control variates and shadow functions)
评论 (0)