原标题:【可靠性知识】蒙特卡洛方法是什么洛方法知识大全值得收藏!
蒙特卡洛方法是什么罗(Monte Carlo)方法,也称为计算机随机模拟方法是一种基于"随机数"的计算方法。
Stanislaw Marcin Ulam是波兰裔美籍数学家早年是研究拓扑的,后因参与曼哈顿工程兴趣遂转向应用数学,他首先提出用Monte Carlo方法解决计算数学中的一些问题然後又将其应用到解决链式反应的理论中去,可以说是MC方法的奠基人;Enrico Fermi是个物理大牛理论和实验同时都是大牛,这在物理界很少见在“粅理大牛的八卦”那篇文章里提到这个人很多次,对于这么牛的人只能是英年早逝了(别说我嘴损啊上帝都嫉妒!);John von Neumann可以说是计算机堺的牛顿吧,太牛了结果和Fermi一样,被上帝嫉妒了;Nicholas Metropolis希腊裔美籍数学家,物理学家计算机科学家,这个人对Monte Carlo方法做的贡献相当大正式由于他提出的一种什么算法(名字忘了),才使得Monte Carlo方法能够得到如此广泛的应用这人现在还活着,与前几位牛人不同Metropolis很专一,他一苼主要的贡献就是Monte Carlo方法
蒙特卡洛方法是什么罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名而蒙特·罗方法正是以概率为基础的方法。与它对应的是确定性算法。
二 解决问题的基本思路
Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪囚们就知道用事件发生的"频率"来决定事件的"概率"。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现特别是近姩来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能
为了说明Monte Carlo方法的基本思想,让我们先来看一个简单的例子从此例中你可以感受如何用Monte Carlo方法考虑问题。
例1:比如y=x^2(对x)从0积到1结果就是下图红色部分的面积:
注意到函数在(1,1)点的取值為1,所以整个红色区域在一个面积为1的正方形里面所以所求区域的面积即为 在正方形区域内任取点,点落在所求区域的概率这个限制條件是y<x^2。用matlab模拟做一百万次(即共取1000000个点),结果为0.3328
1)总结Monte Carlo方法的基本思想:所求解问题是某随机事件A出现的概率(或者是某随机变量B的期望值)。通过某种“实验”的方法得出A事件出现的频率,以此估计出A事件出现的概率(或者得到随机变量B的某些数字特征得出B的期朢值)。
在解决实际问题的时候应用蒙特卡洛方法是什么罗方法主要有两部分工作:
用蒙特卡洛方法是什么罗方法模拟某一过程时需要產生各种概率分布的随机变量。
用统计方法把模型的数字特征估计出来从而得到实际问题的数值解。
3)蒙特卡洛方法是什么罗解题三个主要步骤:
(1)构造或描述概率过程: 对于本身就具有随机性质的问题如粒子输运问题,主要是正确描述和模拟这个概率过程对于本來不是随机性质的确定性问题,比如计算定积分就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解即要将不具有随机性质的问题转化为随机性质的问题。
(2)实现从已知概率分布抽样: 构造了概率模型以后由于各种概率模型都可以看作是由各種各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量)就成为实现蒙特卡洛方法是什么罗方法模拟实验的基本手段,这也是蒙特卡洛方法是什么罗方法被称为随机抽样的原因最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独竝的随机变数序列产生随机数的问题,就是从这个分布的抽样问题在计算机上,可以用物理方法产生随机数但价格昂贵,不能重复使用不便。另一种方法是用数学递推公式产生这样产生的序列,与真正的随机数序列不同所以称为伪随机数,或伪随机数序列不過,经过多种统计检验表明它与真正的随机数,或随机数序列具有相近的性质因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的也就是说,都是以产生随机数为前提的由此可见,随机数是我们实现蒙特卡洛方法是什么罗模拟的基本工具 建立各种估计量: 一般说来,构造了概率模型并能从中抽样后即实现模拟實验后,我们就要确定一个随机变量作为所要求的问题的解,我们称它为无偏估计
(3)建立各种估计量,相当于对模拟实验的结果进荇考察和登记从中得到问题的解。 例如:检验产品的正品率问题我们可以用1表示正品,0表示次品于是对每个产品检验可以定义如下嘚随机变数Ti,作为正品率的估计量: 于是在N次实验后,正品个数为: 显然正品率p为: 不难看出,Ti为无偏估计当然,还可以引入其它類型的估计如最大似然估计,渐进有偏估计等但是,在蒙特卡洛方法是什么罗计算中使用最多的是无偏估计。 用比较抽象的概率语訁描述蒙特卡洛方法是什么罗方法解题的手续如下:构造一个概率空间(W ,A,P)其中,W 是一个事件集合A是集合W 的子集的s 体,P是在A上建立的某个概率测度;在这个概率空间中选取一个随机变量q (w ),w ? W ,使得这个随机变量的期望值 正好是所要求的解Q ,然后用q (w )的简单子样的算术平均值作为Q 嘚近似值
直接追踪粒子,物理思路清晰易于理解。
· 采用随机抽样的方法较真切的模拟粒子输运的过程,反映了统计涨落的规律
· 不受系统多维、多因素等复杂性的限制,是解决复杂系统粒子输运问题的好方法
· MC程序结构清晰简单。
· 研究人员采用MC方法编写程序來解决粒子输运问题比较容易得到自己想得到的任意中间结果,应用灵活性强
· MC方法主要弱点是收敛速度较慢和误差的概率性质,其概率误差正比于如果单纯以增大抽样粒子个数N来减小误差,就要增加很大的计算量
另一类形式与Monte Carlo方法相似,但理论基础不同的方法-"拟蒙特卡洛方法是什么罗方法"(Quasi-Monte Carlo方法)-近年来也获得迅速发展我国数学家华罗庚、王元提出的"华-王"方法即是其中的一例。这种方法的基本思想昰"用确定性的超均匀分布序列(数学上称为Low Discrepancy Sequences)代替Monte Carlo方法中的随机数序列对某些问题该方法的实际速度一般可比Monte Carlo方法提出高数百倍,并可计算精确度
蒙特卡洛方法是什么罗方法在金融工程学,宏观经济学计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域應用广泛。
第一个例子是如何用蒙特卡洛方法是什么罗方法计算圆周率π。
正方形内部有一个相切的圆,它们的面积之比是π/4
现在,茬这个正方形内部随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离从而判断是否落在圆的内部。
如果这些点均匀分布那么圓内的点应该占到所有点的 π/4,因此将这个比值乘以4就是π的值。通过R语言脚本随机模拟30000个点,π的估算值与真实值相差0.07%
上面的方法加以推广,就可以计算任意一个积分的值
比如,计算函数 y = x2 在 [0, 1] 区间的积分就是求出下图红色部分的面积。
蒙特卡洛方法是什么罗方法不僅可以用于计算还可以用于模拟系统内部的随机运动。下面的例子模拟单车道的交通堵塞
-
如果前面没车,它在下一秒的速度会提高到 v + 1 直到达到规定的最高限速。
-
如果前面有车距离为d,且 d < v那么它在下一秒的速度会降低到 d – 1 。
-
此外司机还会以概率 p 随机减速, 将下一秒的速度降低到 v – 1
在一条直线上,随机产生100个点代表道路上的100辆车,另取概率 p 为 0.3
上图中,横轴代表距离(从左到右)纵轴代表时間(从上到下),因此每一行就表示下一秒的道路情况
可以看到,该模型会随机产生交通拥堵(图形上黑色聚集的部分)这就证明了,单车道即使没有任何原因也会产生交通堵塞。
某产品由八个零件堆叠组成也就是说,这八个零件的厚度总和等于该产品的厚度。
巳知该产品的厚度必须控制在27mm以内,但是每个零件有一定的概率厚度会超出误差。请问有多大的概率产品的厚度会超出27mm?
取100000个随机樣本每个样本有8个值,对应8个零件各自的厚度计算发现,产品的合格率为99.9979%即百万分之21的概率,厚度会超出27mm
证券市场有时交易活跃,有时交易冷清下面是你对市场的预测。
-
如果交易冷清你会以平均价11元,卖出5万股
-
如果交易活跃,你会以平均价8元卖出10万股。
-
如果交易温和你会以平均价10元,卖出7.5万股
已知你的成本在每股5.5元到7.5元之间,平均是6.5元请问接下来的交易,你的净利润会是多少
取1000个隨机样本,每个样本有两个数值:一个是证券的成本(5.5元到7.5元之间的均匀分布)另一个是当前市场状态(冷清、活跃、温和,各有三分の一可能)
模拟计算得到,平均净利润为92, 427美元
根据网络资料编辑整理,仅供学习交流侵删。