给定 1D 积分 ∫abf(x)dx,我们随机采样一组独立的均匀随机变量 Xi∈[a,b],蒙特卡洛估计值等于
Fn=nb−ai=1∑nf(Xi)
期望等于
E[Fn]=E[nb−ai=1∑nf(Xi)]=nb−ai=1∑nE[f(Xi)]=nb−ai=1∑n∫abf(x)p(x)dx=nb−ai=1∑n∫abf(x)b−a1dx=n1i=1∑n∫abf(x)dx=∫abf(x)dx
一般地,如果随机变量根据 PDF p(x) 采样(其中 p(x)>=0),则蒙特卡洛估计值等于
Fn=n1i=1∑np(Xi)f(Xi)
期望等于
E[Fn]=∫abf(x)dx
方差
V[F]=E[F−E[F]]2=E[F2]−E[F]2
V[aF]=a2V[F]
当 F 为蒙特卡洛估计时,方差等于
V[Fn]=V[n1i=1∑np(Xi)f(Xi)]=n21i=1∑nV[p(Xi)f(Xi)]=n1V[p(X)f(X)]
可见随着采样数量 n 的增长,方差呈线性的下降,又由于方差表示误差的平方,因此蒙特卡洛估计的误差以 O(n−1/2) 的速度下降。
偏差
β=E[F]−∫f(x)dx
如果有偏估计能够比无偏估计更快的收敛到正确的结果,那么有偏估计任然是可取的
均方差
MSE[F]=E[(F−∫f(x)dx)2]
MSE[F]=V[F]+β[F]2
当偏差 β=0 时,均方差等于方差
样本方差
随机采样一组独立的随机变量 Xi,均值 Xˉ=(1/n)∑Xi, 则采样方差等于
S=n−11i=1∑n(Xi−Xˉ)2
采样方差可以理解为对样本总体方差的一个无偏估计
基本思想
将积分域 Λ 划分成 n 个不重叠的区域 Λ1,Λ2,...,Λn,且满足 i=1∪nΛi=Λ ,我们根据概率 pi 从每一个 Λi 中随机抽取 ni 个样本,则在 Λi 内的蒙特卡洛估计值等于
Fi=ni1j=1∑nipi(Xi,j)f(Xi,j)
基本思想
当使用和被积函数 f(x) 相似的分布进行采样时,即 p(x)∝f(x) 或 p(x)=cf(x),蒙特卡洛估计会收敛的更快。
假设令 p(x)=cf(x),根据 ∫p(x)=1,可得
c=∫f(x)dx1
此时蒙特卡洛估计的方差等于
V[F]=n1V[p(X)f(X)]=n1V[c1]=0
然后实际上我们并不知道 f(x) 的分布,但是可以使用和 f(x) 相似的分布,从而降低方差 !
基本思想
对于形如 f(X)v(X) 的被积函数,其中 f(x) 很容易评估而 v(X) 计算很复杂,当 f(x) 很小时我们可以跳过整个的计算,但会引入偏差,俄罗斯轮盘正是用于解决该问题的。
使用俄罗斯轮盘的蒙特卡洛估计等于
F′=⎩⎨⎧1−qF−qcc
通常 c=0,期望
E[F′]=(1−q)(1−qE[F]−qc)+qc=E[F]
使用俄罗斯轮盘总是会增加方差