金融百科  > 所属分类  >  统计   
[0] 评论[0] 编辑

MonteCarlo方法


起源
  蒙特卡罗模拟由著名的摩纳哥赌城而得名,他是一种非常强有力的方法学。对专业人员来说,这种模拟为方便的解决困难而复杂的实际问题开启了一扇大门。估计蒙特卡罗模拟最著名的早期使用是诺贝尔奖物理学家Enrico Fermi(有时也说是原子弹之父)在1930年的应用,那时他用一种随机方法来计算刚发现的中子的性质。蒙特卡罗模拟是曼哈顿计划所用到的模拟的核心部分,在20世纪50年代蒙特卡罗模拟就用在Los Alamos国家实验室发展氢弹的早期工作中,并流行于物理学和运筹学研究领域。兰德公司和美国空军是这个时期主要的两个负责资助和传播蒙特卡罗方法的组织,今天蒙特卡罗模拟也被广泛应用于不同的领域,包括工程,物理学,研发,商业和金融。
  简而言之,蒙特卡罗模拟创造了一种假设的未来,它是通过产生数以千计甚至成千上万的样本结果并分析他们的共性实现的。在实践中,蒙特卡罗模拟法用于风险分析,风险鉴定,敏感度分析和预测。模拟的一个替代方法是极其复杂的随机闭合数学模型。对一个公司的分析,使用研究生层次的高等数学和统计学显然不合逻辑和实际。一个出色的分析家会使用所有他或她可得的工具以最简单和最实际的方式去得到相同的结果。任何情况下,建模正确时,蒙特卡罗模拟可以提供与更完美的数学方法相似的答案。此外,有许多实际生活应用中不存在闭合模型并且唯一的途径就是应用模拟法。那么,到底什么是蒙特卡罗模拟以及它是怎么工作的?创始人
  主要是这四位:Stanislaw Marcin Ulam, Enrico Fermi(恩里科·费米), John von Neumann(冯·诺依曼)和 Nicholas Metropolis。

创始人简介

  Stanislaw Marcin Ulam是波兰裔美籍数学家,早年是研究拓扑的,后因参与曼哈顿工程,兴趣遂转向应用数学,他首先提出用Monte Carlo方法解决计算数学中的一些问题,然后又将其应用到解决链式反应的理论中去,可以说是Monte Carlo方法的奠基人;
  Enrico Fermi是个物理大牛,理论和实验同时都是大牛,这在物理界很少见,在“物理大牛的八卦”那篇文章里提到这个人很多次,对于这么牛的人只能是英年早逝了(别说我嘴损啊,上帝都嫉妒!);
  John von Neumann可以说是计算机界的牛顿吧,太牛了,结果和Fermi一样,被上帝嫉妒了;
  Nicholas Metropolis,希腊裔美籍数学家,物理学家,计算机科学家,这个人对Monte Carlo方法做的贡献相当大,正式由于他才使得Monte Carlo方法能够得到如此广泛的应用,这人现在还活着,与前几位牛人不同,Metropolis很专一,他一生主要的贡献就是Monte Carlo方法。解决问题的基本思路
  Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的"频率"来决定事件的"概率"。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。
  为了说明Monte Carlo方法的基本思想,让我们先来看一个简单的例子,从此例中你可以感受如何用Monte Carlo方法考虑问题。
  例:比如y=x^2(对x)从0积到1,结果就是下图红色部分的面积:
  

函数图像

注意到函数在(1,1)点的取值为1,所以整个红色区域在一个面积为1的正方形里面。所以所求区域的面积即为在正方形区域内任取点,点落在所求区域的概率。这个限制条件是y<x^2。用matlab模拟,做一百万次(即共取1000000个点),结果为0.3328,与用积分法算出来的三分之一非常接近。Monte Carlo方法解题三个主要步骤
  1。构造或描述概率过程: 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。
  2。实现从已知概率分布抽样: 构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。 建立各种估计量: 一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。
  3。建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。常用的估计量有无偏估计,最大似然估计,渐进有偏估计等,使用最多的是无偏估计。Monte Carlo模拟的特点
  蒙特卡罗方法与一般计算方法有很大区别,一般计算方法对于解决多维或因素复杂的问题非常困难,而蒙特卡罗方法对于解决这方面的问题却比较简单。其特点如下:
  · 直接追踪粒子,物理思路清晰,易于理解。
  · 采用随机抽样的方法,较真切的模拟粒子输运的过程,反映了统计涨落的规律。
  · 不受系统多维、多因素等复杂性的限制,是解决复杂系统粒子输运问题的好方法。
  · MC程序结构清晰简单。
  · 研究人员采用MC方法编写程序来解决粒子输运问题,比较容易得到自己想得到的任意中间结果,应用灵活性强。
  · MC方法主要弱点是收敛速度较慢和误差的概率性质,其概率误差正比于,如果单纯以增大抽样粒子个数N来减小误差,就要增加很大的计算量。
  近十年来,蒙特卡罗方法发展很快,从1983年到1988年期刊论文数量增长了五倍,有几本好书是关于电子? 光子蒙特卡罗问题的[注1],蒙特卡罗方法的代码被认为是黑匣子,它已成为计算数学中不可缺少的组成部分,这主要是因为以下原因:
  · 传统的分析方法受到了问题复杂性的限制。
  · MC方法直观,对实验者很有吸引力。
  · 计算机变得更快更便宜。
  · 量子理论的发展为我们提供了辐射与物质相互作用的截面数据。实现技巧
  matlab中各种产生相应分布伪随机数的命令。如果模拟的分布在这些命令所能提供的之外,需要相应的技巧,一是产生随机数的技巧,如线性乘同余方法(Linear Congruential Method)等,另一个解决问题的思想技巧,如 1768年,法国数学家Comte de Buffon利用投针实验估计p的值。

附件列表


0

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

如果您认为本词条还有待完善,请 编辑

上一篇 mode    下一篇 MPS

相关标签

热门标签