![统计学习理论与方法:R语言版](https://wfqqreader-1252317822.image.myqcloud.com/cover/449/34061449/b_34061449.jpg)
3.1 蒙特卡洛法求定积分
蒙特卡洛(Monte Carlo)法是一类随机算法的统称。它是20世纪40年代中期由于科学技术的发展,尤其是电子计算机的发明,而被提出并发扬光大的一种以概率统计理论为基础的数值计算方法。它的核心思想就是使用随机数(或更准确地说是伪随机数)来解决一些复杂的计算问题。现今,蒙特卡洛法已经在诸多领域展现出了超强的能力。本节,我们将通过蒙特卡洛法最为常见的一种应用——求解定积分,来演示这类算法的核心思想。
3.1.1 无意识统计学家法则
作为一个预备知识,先来介绍一下无意识统计学家法则(Law of the Unconscious Statistician,LOTUS)。在概率论与统计学中,如果知道随机变量X的概率分布,但是并不显式地知道函数g(X)的分布,那么LOTUS就是一个可以用来计算关于随机变量X的函数g(X)之期望的定理。该法则的具体形式依赖于随机变量X之概率分布的描述形式。
如果随机变量X的分布是离散的,而且我们知道它的PMF是fX,但不知道fg(X),那么g(X)的期望是
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P68_32806.jpg?sign=1739283709-oVl1yVCBRAyaRcXr54fYYzLZySb6kB7f-0-17d9d4e1fad2284a34a38d1f5497c8f7)
其中和式是在取遍X的所有可能之值x后求得。
如果随机变量X的分布是连续的,而且我们知道它的PDF是fX,但不知道fg(X),那么g(X)的期望是
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P68_32808.jpg?sign=1739283709-0n0CniNj9fprAKTspdgHsi6JJtspQADe-0-c11f6ec8de350809669afa256245e7d5)
简而言之,已知随机变量X的概率分布,但不知道g(X)的分布,此时用LOTUS公式能计算出函数g(X)的数学期望。其实就是在计算期望时,用已知的X的PDF(或PMF)代替未知的g(X)的PDF(或PMF)。
3.1.2 投点法
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P69_13263.jpg?sign=1739283709-gIJ8ZijD7fooOwJD5NyoCCooCwk8FIw6-0-913c5ca4e31bba813f6f6aeffb6ef9ac)
图3-1 投点法求定积分
投点法是讲解蒙特卡洛法基本思想的一个最基础也最直观的实例。这个方法也常常被用来求圆周率π。现在我们用它来求函数的定积分。如图3-1所示,有一个函数f(x),若要求它从a到b的定积分,其实就是求曲线下方的面积。
可以用一个比较容易算得面积的矩型罩在函数的积分区间上(假设其面积为Area)。然后随机地向这个矩形框里面投点,其中落在函数f(x)下方的点为菱形,其他点为三角形。然后统计菱形点的数量占所有点(菱形+三角形)数量的比例为r,那么就可以据此估算出函数f(x)从a到b的定积分为Area×r。
注意由蒙特卡洛法得出的值并不是一个精确值,而是一个近似值。而且当投点的数量越来越大时,这个近似值也越接近真实值。
3.1.3 期望法
下面来重点介绍利用蒙特卡洛法求定积分的第二种方法——期望法,有时也称为平均值法。
任取一组相互独立、同分布的随机变量{Xi},Xi在[a,b]上服从分布律fX,也就是说fX是随机变量X的PDF(或PMF)。令,则g∗(Xi)也是一组独立同分布的随机变量,而且因为g∗(x)是关于x的函数,所以根据LOTUS可得
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P69_32821.jpg?sign=1739283709-756vxTNYLPNne8XiQNJyuxVurBlHEoUv-0-7f5650d8f281a1c5d1d9a8ee6d864a74)
由强大数定理
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P69_32822.jpg?sign=1739283709-HCB4VjGzcUleDQj8Mkx5FKVww8PzPAVe-0-00008499a749b6a3f8498a4bed0ebda8)
若选
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P69_32823.jpg?sign=1739283709-wP1UYL9RDOXTQDd5iJ8WVs97rQjYNXf6-0-9ca3d3699be32e503f8a46dedd9cf907)
则依概率1收敛到I。平均值法就用
作为I的近似值。
假设要计算的积分有如下形式
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P69_32828.jpg?sign=1739283709-wtPj8HKZt2zsCpi7kqJ9Cys4ZSCVHu6F-0-5b25ca22486211497d6764ffd690ccbf)
其中,被积函数g(x)在区间[a,b]上可积。任意选择一个有简便办法可以进行抽样的概率密度函数fX(x),使其满足下列条件:
(1)当g(x)≠0时,fX(x)≠0,a≤x≤b;
(2)。
如果记
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_32839.jpg?sign=1739283709-KqqZya5vUBl1oxeDgLTgcWRnVJMIlkt7-0-b57fe01abc7a70e3495d06ee2a9629bf)
那么原积分式可以写成
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_32840.jpg?sign=1739283709-xTqElzBmcRCAATo70jJZn0v7frxL2OPb-0-d2a144d360878c4261d075b0aa5d8929)
因而求积分的步骤是:
(1)产生服从分布律fX的随机变量Xi,i=1,2,…,N;
(2)计算均值
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_32841.jpg?sign=1739283709-jUFJBaVN5UndHP4a86uyL6TfkpC16UQo-0-c763604072f491c77c5e1e418407ce94)
并用它作为I的近似值,即。
如果a,b为有限值,那么fX可取作为均匀分布
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_32844.jpg?sign=1739283709-VNIwy3lRp2xGxFQsRWRCAs6Rs9rZpOvy-0-5bcdd2aee0fda693fbb82e168716d6b3)
此时原来的积分式变为
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_32845.jpg?sign=1739283709-wFVwceP4Y2ZZNyz9c8CxyfsCkxJ21fbQ-0-3d3641e2c77ef903d8f4a5d8663df235)
因而求积分的步骤是:
(1)产生[a,b]上的均匀分布随机变量Xi,i=1,2,…,N;
(2)计算均值
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_32846.jpg?sign=1739283709-qAY6VOsBz0MSfwmP3gyPhbj3CXTsnmZ1-0-87e0b5e9f82b3db1aa23662c7bc3b07a)
并用它作为I的近似值,即。
最后来看一下平均值法的直观解释。注意积分的几何意义就是[a,b]区间曲线下方的面积,如图3-2所示。
当在[a,b]随机取一点x时,它对应的函数值就是f(x),然后便可以用f(x)·(b-a)来粗略估计曲线下方的面积(也就是积分),如图3-3所示,当然这种估计(或近似)是非常粗略的。
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_13339.jpg?sign=1739283709-jgAlDPdEh0KBiopNJ73097zljYYP8sMR-0-4fcf1658fd3c640495dcab2c6e9daa1d)
图3-2 积分的几何意义
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P70_13342.jpg?sign=1739283709-hzzP7iYlBxxgeWCF1BaOvCRd6x9UdFXM-0-0748350159ae5712f4fdf24649025cfc)
图3-3 对积分值进行粗略估计
于是我们想到在[a,b]随机取一系列点xi时(xi满足均匀分布),然后把估算出来的面积取平均来作为积分估计的一个更好的近似值,如图3-4所示。可以想象,如果这样的采样点越来越多,那么对于这个积分的估计也就越来越接近。
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P71_13349.jpg?sign=1739283709-0JYDMXnA36ZH1nFsrUOFQATgLzuhcWOa-0-16f764b5763fbafb5997db68894ec046)
图3-4 对积分值进行估计
按照上面这个思路,得到积分公式为
![](https://epubservercos.yuewen.com/0D99D6/18225431901802606/epubprivate/OEBPS/Images/Figure-P71_32851.jpg?sign=1739283709-jvSNPVhy304CdqLuBdVuw5FLRT0glPC2-0-5356e222e7823605b22c97c9e5390989)
其中,就是均匀分布的PMF。这跟之前推导出来的蒙特卡洛积分公式是一致的。