MonteCarlo(蒙特卡洛算法)算法

上传人:宝路 文档编号:49186374 上传时间:2018-07-25 格式:PPT 页数:40 大小:260.65KB
返回 下载 相关 举报
MonteCarlo(蒙特卡洛算法)算法_第1页
第1页 / 共40页
MonteCarlo(蒙特卡洛算法)算法_第2页
第2页 / 共40页
MonteCarlo(蒙特卡洛算法)算法_第3页
第3页 / 共40页
MonteCarlo(蒙特卡洛算法)算法_第4页
第4页 / 共40页
MonteCarlo(蒙特卡洛算法)算法_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《MonteCarlo(蒙特卡洛算法)算法》由会员分享,可在线阅读,更多相关《MonteCarlo(蒙特卡洛算法)算法(40页珍藏版)》请在金锄头文库上搜索。

1、Monte Carlo Simulation 简介概述n蒙特卡罗(Monte Carlo)方法,或称计算 机随机模拟方法或随机抽样方法或统计 试验方法 ,属于计算数学的一个分支。 是一种基于“随机数”的计算方法。起源nMonte Carlo方法的基本思想很早以前就 被人们所发现和利用。早在17世纪,人 们就知道用事件发生的“频率”来决定事件 的“概率”。19世纪人们用投针试验的方法 来决定圆周率。 成型n这一方法成型于美国在第一次世界大战 进研制原子弹的“曼哈顿计划”。 n该计划的主持人之一、数学家冯诺伊曼 用驰名世界的赌城摩纳哥的Monte Carlo来命名这种方法,为它蒙上了一 层神秘色彩

2、。 发展n本世纪40年代电子计算机的出现,特别 是近年来高速电子计算机的出现,使得 用数学方法在计算机上大量、快速地模 拟这样的试验成为可能。 实质nMonte Carlo 方法也称为统计模拟方法,是二 十世纪四十年代中期由于科学技术的发展和电 子计算机的发明,而被提出的一种以概率统计 理论为指导的一类非常重要的数值计算方法。 是指使用随机数(或更常见的伪随机数)来解 决很多计算问题的方法。与它对应的是确定性 算法。n把一些复杂的东西用大量的模拟实验来做,最 后得到一些结论。基本思想和原理n基本思想:当所要求解的问题是某种事件出现 的概率,或者是某个随机变量的期望值时,它 们可以通过某种“试验

3、”的方法,得到这种事件 出现的频率,或者这个随机变数的平均值,并 用它们作为问题的解。 n 原理:抓住事物运动的几何数量和几何特征, 利用数学方法来加以模拟,即进行一种数字模 拟实验。 n它是以一个概率模型为基础,按照这个模型所 描绘的过程,通过模拟实验的结果,作为问题 的近似解。步骤n可以把蒙特卡罗解题归结为三个主要步 骤:n构造或描述概率过程;n实现从已知概率分布抽样;n建立各种估计量构造或描述概率过程n对于本身就具有随机性质的问题,主要 是正确描述和模拟这个概率过程,对于 本来不是随机性质的确定性问题,比如 计算定积分,就必须事先构造一个人为 的概率过程,它的某些参量正好是所要 求问题的

4、解。即要将不具有随机性质的 问题转化为随机性质的问题。实现从已知概率分布抽样n构造了概率模型以后, 按照这个概率分 布抽取随机变量 (或随机向量),这一 般可以直接由软件包调用,或抽取均匀 分布的随机数构造。这样,就成为实现 蒙特卡罗方法模拟实验的基本手段,这 也是蒙特卡罗方法被称为随机抽样的原 因。 建立各种估计量 n一般说来,构造了概率模型并能从中抽 样后,即实现模拟实验后,我们就要确 定一个随机变量,作为所要求的问题的 解,我们称它为无偏估计。建立各种估 计量,相当于对模拟实验的结果进行考 察和登记,从中得到问题的解。 例子n考虑平面上的一个边长为1的正方形及其 内部的一个形状不规则的“

5、图形”,如何求 出这个“图形”的面积呢?Monte Carlo方 法是这样一种“随机化”的方法:向该正方 形“随机地”投掷N个点落于“图形”内,则 该“图形”的面积近似为M/N。 比喻n可用民意测验来作一个不严格的比喻。 民意测验的人不是征询每一个登记选民 的意见,而是通过对选民进行小规模的 抽样调查来确定可能的民意。其基本思 想是一样的。 应用n科技计算中的问题比这要复杂得多。但 Monte Carlo 方法广泛地应用于许多应用 领域,如计算物理学 、粒子输运计算、 量子热力学计算、量子化学、分子动力 学与 。特别在金融计算中,各方法有不 可取代的优势。金融中的应用n金融衍生产品(期权、期货

6、、掉期等) 的定价及交易风险估算,问题的维数( 即变量的个数)可能高达数百甚至数千 。对这类问题,难度随维数的增加呈指 数增长,这就是所谓的“维数的灾难 ”(Course Dimensionality),传统的数值 方法难以对付(即使使用速度最快的计 算机)。 Monte Carlo方法的优势nMonte Carlo方法能很好地用来对付维数的灾 难,因为该方法的计算复杂性不再依赖于维数 。以前那些本来是无法计算的问题现在也能够 计算。为提高方法的效率,科学家们提出了许 多所谓的“方差缩减”技巧。nMonte Carlo模拟适用于研究复杂体系。研究 具有多得数不清的结构、状态的体系,对此我 们可

7、以采用蒙特卡洛模拟,以统计的方法寻找 出现几率最高的结构、状态,或相应的有关数 据。 Monte Carlo 方法处理的问题nMonte Carlo 方法处理的问题可以分两类n确定性的数学问题 多重积分、求逆矩阵、 解线性代数方程组、解积分方程、解某些偏 微分方程边值问题和计算代数方程组、计算 微分算子的特征值等等n 随机性问题方法n在解决实际问题的时候应用Monte Carlo 方法主要有两部分工作:1、用此方法模拟某一过程时,需要产生 各种概率分布的随机变量。 2、用统计方法把模型的数字特征估计出 来,从而得到实际问题的数值解。用Monte Carlo 计算定积分n考虑积分n假定随机变量具

8、有密度函数n则 用Monte Carlo 计算定积分-n抽取密度为e-x的随机数X_1,X_nn构造统计数n则用Monte Carlo 计算定积分-n且n即用Monte Carlo 计算定积分-n例如 =1.9n取n(1.9)=0.96176 模拟结果不好! n如果要达到0.001的精确度,要 4X5302=1123600计算!用Monte Carlo 计算定积分-n例子说明分析和设计是重要的。n重写积分n取两个随机数用Monte Carlo 计算定积分-n取8个随机数n大大改善了结果!随机数的产生n随机数是我们实现蒙特卡罗模拟的基本工具。n随机数的产生就是抽样问题。可以用物理方法 产生随机数

9、,但价格昂贵,不能重复,使用不 便。另一种方法是用数学递推公式产生。这样 产生的序列,与真正的随机数序列不同,所以 称为伪随机数,或伪随机数序列。不过,经过 多种统计检验表明,它与真正的随机数,或随 机数序列具有相近的性质,因此可把它作为真 正的随机数来使用。随机数的取得n如果你对随机数有更高的要求,需要自己 编辑“随机数生成器”n最简单、最基本、最重要的一个概率分布 是(0,1)上的均匀分布(或称矩形分布) n 例如在Matlab中,命令“rand()”将产生一 个(0,1)中均匀分布的随机数 n你可以根据需要给随机数一个“种子”,以 求不同的数Matlab 的随机数函数n均匀分布nR=un

10、idrnd(N),-产生1到N间的均匀分布随 机数nR=unidrnd(N,n,m),产生1到N间的均匀分布 随机数矩阵 n连续均匀分布nR=unifrnd(A,B) -产生(A,B)间的均匀分布随 机数nR=unifrnd(A,B,m,n)产生(A,B)间的均匀分布 随机数矩阵Matlab 的随机数函数-n正态分布随机数nR=normrnd(mu,sigma)nR=normrnd(mu,sigma,m)nR=normrnd(mu,sigma,m,n)n特定分布随机数发生器nR=random(name,A1,A2,A3,m,n)例na=random(Normal,0,1,3,2) a=.-0.

11、4326 0.2877-1.6656 -1.14650.1253 1.1909精确性n由于Monte Carlo 方法的随机性,精确性 建立在大量的重复模拟上,最后去平均 值。n 对确定值的计算,要估计出样本的个数 与精确度之间的关系。n对随机过程的模拟,有置信区域的估算 等方差削减技术n对偶变量技术(适用正态分布函数)n 取一组随机数Z_i,可得模拟值C_i ,i=1,2,nn估计值为期平均Cn再取Z_i 的对偶Z_i=-Z_i,再生成估计值Cn然后去新的平均值C*=(C+C)/2n则nvarC*=1/2varC+1/2cov(C,C)5 n else l=0; n end n m=m+l;

12、 n t=1; nend nm/n n一个例子 -n解模 我们运行程序得出逸出铅墙的中子 的可能性约为1.5%。n应用 有了这个数字,我们可以报告安全 部门,如果数字不能达到安全要求,我 们则要加厚铅墙。Monte Carlo 模拟二叉树期权定价n 二叉树定价模型是从构造好的二叉树中随机选择一条 路径样本,从二叉树的末端开始倒推计算出衍生证券 的价格,但是采用了Monte Carlo后,是顺着二叉树往 后计算的。基本方法: 在第一个节点(根节点),随机产生一个0到1间的随 机数,如果这个数小于p,就选择当前的上升分支,反 之选择下降分支。这样就产生了一个新节点,继续上 面的过程,直到二叉树的末

13、端。一条路径产生了,衍 生证券的最终价值就可以计算出来了(可以看作是全 部可能终值集合中的一个随机样本),这样完成了第 一次模拟。 n更多的样本路径得到更多的样本终值。进行多次模拟 ,用平均值来估计衍生证券的价格Monte Carlo 模拟连续过程的欧式期 权定价n欧式期权定价的期望公式为n如果标的资产服从几何布朗运动n则风险中性测度下,标的资产的过程为Monte Carlo 模拟连续过程的欧式期 权定价-n所以Call Option 到期日的现金流为n抽一个正态分布的随机数,算得上式再贴 现,就可以得到一个结果n重复上面的过程(如计算10000次)n 将所有的结果取平均附表:Matlab随机数生成器betarnd 贝塔分布 binornd 二项分布 chi2rnd 卡方分布 exprnd 指数分布 frnd f分布 gamrnd 伽玛分布 geornd 几何分布 hygernd 超几何分布 lognrnd 对数正态分布 nbinrnd 负二项分布 ncfrnd 非中心f分布 nctrnd 非中心t分布 ncx2rnd 非中心卡方分布 normrnd 正态(高斯)分 布 poissrnd 泊松分布 raylrnd 瑞利分布 trnd 学生氏t分布 unidrnd 离散均匀分布 unifrnd 连续均匀分布 weibrnd 威布尔分布

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号