一、蒙特卡洛积分
-
蒙特卡洛积分概述:简而言之蒙特卡洛积分就是,在求定积分时,如果找不到被积函数的原函数,无法使用经典牛顿-莱布尼茨积分法得到定积分结果的。而蒙特卡洛积分方法利用一个随机变量对被积函数进行采样,并将采样值进行一定的处理可以得到定积分的一个近似值,当采样数量很高时,得到的近似值可以很好的近似原积分的结果。这样一来,我们就不用去求原函数的形式,就能求得积分的近似结果。
-
补充一些基础性公式:
- 假设一连续型随机变量XXX的样本空间为DDD,其概率密度分布函数为p(x)p(x)p(x),则其数学期望为:E(X)=∫Dxp(x)dxE(X)= ∫_Dxp(x)dxE(X)=∫Dxp(x)dx
- 若另一连续随机变量YYY满足Y=f(X)Y=f(X)Y=f(X),则YYY的数学期望为:E(Y)=∫Df(x)p(x)dxE(Y)= ∫_Df(x)p(x)dxE(Y)=∫Df(x)p(x)dx
-
蒙特卡洛积分方法基础形式
- 现在 假设我们要计算一个定积分:A=∫abf(x)dxA=∫_a^bf(x)dxA=∫abf(x)dx根据牛顿-莱布尼茨公式我们可以得到:A=∫abf(x)dx=F(b)−F(a)A=∫_a^bf(x)dx=F(b)-F(a)A=∫abf(x)dx=F(b)−F(a)其中F(x)F(x)F(x)是f(x)f(x)f(x)的一个原函数。
- 如果我们不知道或者无法求得原函数,我们该怎么计算这个定积分呢。那么就需要借助蒙特卡洛积分(Monte Carlo Integration)方法:
- 首先我们可以在区间[a,b][a,b][a,b]上进行均匀采样得到:{ X1,…,XN}\{X_1,…,X_N\}{ X1,…,XN},样本对于的函数值为:{ f(X1),…,f(XN)}\{f(X_1),…,f(X_N)\}{ f(X1),…,f(XN)}
- 然后再求和得到:FN≈b−aN∑i=1Nf(Xi)F_N≈\frac{b-a}{N} ∑_{i=1}^Nf(X_i)FN≈Nb−ai=1∑Nf(Xi)
- 用FNF_NFN作为A近似估值。
- 这个和定积分的定义(黎曼积分)非常相似,只是在定积分的定义中{
X1,…,XN}\{X_1,…,X_N\}{
X1,…,XN}是不均匀采样得到而是对区间[a,b]均匀划分得到:{
x1=a,…,xN=b}\{x_1=a,…,x_N=b\}{
x1=a,…,xN=b}。根据定积分的定义如果划分的次数N趋于无穷大的时候FN=AF_N=AFN=A.如下图所示:
-
蒙特卡洛积分方法的正确性进行进一步分析:
-
{ X1,…,XN}\{X_1,…,X_N\}{ X1,…,XN}是通过均匀分布采样得到的,则XiX_iXi也是随机变量并且服从均匀分布,即:XiX_iXi~U(a,b)U(a,b)U(a,b)
-
而FNF_NFN是{ X1,…,XN}\{X_1,…,X_N\}{ X1,…,XN}的函数那么FNF_NFN是一个样本统计量也是一个随机变量。
-
那么现在我们计算一下FNF_NFN的数学期望:E[FN]=E[b−aN∑i=1Nf(Xi)]=b−aN∑i=1NE[f(Xi)]=b−aN∑i=1N∫abf(x)p(x)dx=b−aN∑i=1N∫abf(x)1b−adx=b−aN1b−a∑i=1N∫abf(x)dx=1N∑i=1N∫abf(x)dx=∫abf(x)dx=AE[F_N ]=E[\frac{b-a}{N} ∑_{i=1}^Nf(X_i ) ]=\frac{b-a}{N} ∑_{i=1}^NE[f(X_i )] \\=\frac{b-a}{N} ∑_{i=1}^N∫_a^bf(x)p(x)dx=\frac{b-a}{N} ∑_{i=1}^N∫_a^bf(x) \frac{1}{b-a}dx\\=\frac{b-a}{N} \frac{1}{b-a} ∑_{i=1}^N∫_a^bf(x) dx=\frac{1}{N} ∑_{i=1}^N∫_a^bf(x)dx\\=∫_a^bf(x) dx=AE[FN]=E[Nb−a
-