拟蒙特卡罗方法,与蒙特卡罗相似,但理论基础不同的方法—“拟蒙特卡罗方法”(Quasi-Monte Carlo方法)—近年来也获得迅速发展。我国数学家华罗庚、王元提出的“华—王”方法即是其中的一例。这种方法的基本思想是“用确定性的超均匀分布序列(数学上称为Low Discrepancy Sequences)代替蒙特卡罗方法中的随机数序列。对某些问题该方法的实际速度一般可比蒙特卡罗方法提出高数百倍,并可计算精确度。
基本介绍
- 中文名:拟蒙特卡罗方法
- 外文名:Quasi-Monte Carlo
- 例子:“华—王”方法
- 套用:金融衍生产品的定价及风险估算
- 学科:数理科学
- 别名:计算机随机模拟方法
讲解
蒙特卡罗(Monte Carlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战进行研製核子弹的“曼哈顿计画”。该计画的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。
蒙特卡罗方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的“频率”来决定事件的“机率”。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。
数值分析中,拟蒙特卡罗方法是使用低差异列(一种确定生成的超均匀分布列,也称为拟随机列、次随机列)来进行数值积分和研究其它一些数值问题的方法。而普通的蒙特卡罗方法或蒙地卡罗积分方法使用的是伪随机数。MATLAB中提供了生成如哈尔顿列、索博尔列等超均匀分布列的函式。
拟蒙特卡罗方法和蒙特卡罗方法的具体内容相似,要解决的问题都是通过测量某个可测函式f在某些点上的取值,而在数值上求它的积分的近似值。例如要求在单位体积
上的积分近似,可以设取的点为x1, ...,xN,那幺:


其中的xi都是s维向量。拟蒙特卡罗方法和普通蒙特卡罗方法的区别在于xi的具体选取方式。蒙特卡罗方法用的是伪随机列,而拟蒙特卡罗方法用到的是哈尔顿列、索博尔列等低差异列。使用低差异列的优点是收敛速率较快。拟蒙特卡罗方法可以达到O(1/N)的收敛速率,而普通蒙特卡罗方法的收敛速率则是 O(N)。
近年来,拟蒙特卡罗方法在金融数学和计算机数学领域里得到了越来越多的套用,因为其中常常会需要计算高维积分的数值近似。蒙特卡罗方法和拟蒙特卡罗方法可以快捷简单地得到较好的结果。
套用
考虑平面上的一个边长为1的正方形及其内部的一个形状不规则的“图形”,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N个点落于“图形”内,则该“图形”的面积近似为M/N。
可用民意测验来作一个不严格的比喻。民意测验的人不是徵询每一个登记选民的意见,而是通过对选民进行小规模的抽样调查来确定可能的优胜者。其基本思想是一样的。
科技计算中的问题比这要複杂得多。比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变数的个数)可能高达数百甚至数千。对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Curse Dimensionality),传统的数值方法难以对付(即使使用速度最快的计算机)。Monte Carlo方法能很好地用来对付维数的灾难,因为该方法的计算複杂性不再依赖于维数。以前那些本来是无法计算的问题也能够计算量。为提高方法的效率,科学家们提出了许多所谓的“方差缩减”技巧。
误差估计
拟蒙特卡罗方法的近似误差可以用取点x1, ...,xN的差异度作为上限。具体来说,Koksma-Hlawka不等式表明,误差项





