故事库-中国往事  > 所属分类  > 
[0] 评论[0] 编辑

蒙特卡罗方法

蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名。

目录

2
       蒙特卡罗方法(Monte Carlo method)(重定向

蒙特卡罗方法于20世纪40年代美国在

  Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的“频率”来决定事件的“概率”。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。

考虑平面上的一个边长为1的正方形及其内部的一个形状不规则的“图形”,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N个点,有M个点落于“图形”内,则该“图形”的面积近似为M/N。 可用民意测验来作一个不严格的比喻。民意测验的人不是征询每一个登记选民的意见,而是通过对选民进行小规模的抽样调查来确定可能的优胜者。其基本思想是一样的。

  科技计算中的问题比这要复杂得多。比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变量的个数)可能高达数百甚至数千。对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Curse of Dimensionality),传统的数值方法难以对付(即使使用速度最快的计算机)。Monte Carlo方法能很好地用来对付维数的灾难,因为该方法的计算复杂性不再依赖于维数。以前那些本来是无法计算的问题现在也能够计算量。为提高方法的效率,科学家们提出了许多所谓的“方差缩减”技巧。

  另一类形式与Monte Carlo方法相似,但理论基础不同的方法—“

由概率定义知,某事件的概率可以用大量试验中该事件发生的频率来估算,当样本容量足够大时,可以认为该事件的发生频率即为其概率。因此,可以先对影响其可靠度的随机变量进行大量的随机抽样,然后把这些抽样值一组一组地代入功能函数式,确定结构是否失效,最后从中求得结构的失效概率。蒙特卡罗法正是基于此思路进行分析的。

设有统计独立的随机变量Xi(i=1,2,3,…,k),其对应的概率密度函数分别为fx1,fx2,…,fxk,功能函数式为Z=g(x1,x2,…,xk)。

首先根据各随机变量的相应分布,产生N组随机数x1,x2,…,xk值,计算功能函数值 Zi=g(x1,x2,…,xk)(i=1,2,…,N),若其中有L组随机数对应的功能函数值Zi≤0,则当N→∞时,根据伯努利大数定理及正态随机变量的特性有:结构失效概率,可靠指标。

通常蒙特·卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出数值解的方法。一般蒙特·卡罗方法在数学中最常见的应用就是蒙特·卡罗积分。

蒙特卡罗算法表示采样越多,越近似最优解。举个例子,假如筐里有100个苹果,让我每次闭眼拿1个,挑出最大的。于是我随机拿1个,再随机拿1个跟它比,留下大的,再随机拿1个……我每拿一次,留下的苹果都至少不比上次的小。拿的次数越多,挑出的苹果就越大,但我除非拿100次,否则无法肯定挑出了最大的。这个挑苹果的算法,就属于

蒙特卡罗方法在

在解决实际问题的时候应用蒙特·卡罗方法主要有两部分工作:

1. 用蒙特·卡罗方法模拟某一过程时,需要产生各种概率分布的随机变量。

2. 用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。

蒙特卡罗方法分子模拟计算的步骤

使用

  从理论上来说,蒙特卡罗方法需要大量的实验。实验次数越多,所得到的结果才越精确。以上Buffon的投针实验为例、历史上的记录如下表1。

从表中数据可以看到,一直到公元20世纪初期,尽管实验次数数以千计,利用蒙特卡罗方法所得到的圆周率∏值,还是达不到公元5世纪祖冲之的推算精度。这可能是传统蒙特卡罗方法长期得不到推广的主要原因。

44
       计算机技术的发展,使得蒙特卡罗方法在最近10年得到快速的普及。现代的

  非权重蒙特卡罗积分,也称确定性抽样,是对被积函数变量区间进行随机均匀抽样,然后对被抽样点的函数值求平均,从而可以得到函数积分的近似值。此种方法的正确性是基于概率论的中心极限定理。当抽样点数为m时,使用此种方法所得近似解的统计误差恒为 1除于根号M,不随积分维数的改变而改变。因此当积分维度较高时,蒙特卡罗方法相对于其他数值解法更优。

蒙特卡罗方法案例分析

案例一:蒙特卡罗模型在投资项目决策中的开发应用

一、问题的提出

5
       随着社会主义市场经济体制的逐步完善、经济水平的逐步提高,我国社会经济活动日趋复杂,越来越多变,其影响越来越广泛,越来越深远,不确定性逐渐成为企业决策时所面临的主要难题。因此,如何在不确定条件下做出投资决策,就成为目前理论和实践工作者们广泛关注的一个核心课题。

传统的投资评价理论——以净现值法(NPV) 为代表的投资决策分析方法,其根本缺陷在于它们是事先对未来的现金流量做出估计,并假设其为不变或静态的状况,无法衡量不确定因素的影响,不能体现递延决策以应对所带来的管理弹性。所以,在不确定环境下的投资,用净现值法评估项目不能体现柔性投资安排决策所体现的价值,无助于项目在决策中回避风险。在多变的市场环境中,不确定性与竞争者的反应使实际收入与预期收入有所出入, 所以净现值法(NPV) 适用于常规项目,未来不确定性比较小的项目。

为此理论界对未来投资环境不确定性大的项目提出了实物期权法,但在实践中应用的还是比较少。实物期权法的应用对企业决策者的综合素质要求比较高,对企业资源能力要求也比较高。但是实物期权法改变了我国管理者对战略投资的思维方式。

基于以上的分析,我们得出这样的结论:传统的投资决策方法对风险项目和不确定性项目的评价有较多不完善之处,有必要对其改进;实物期权法理论上解决了传统决策方法对不确定性项目评价的不足,但其应用尚处于体系不成熟阶段,在实践中应用并不广泛。至此,引入蒙特卡罗模型的理论和其分析方法,此方法特别适用于参数波动性大,且服从某一概率分布的项目,例如地质勘察、气田开发等项目。

蒙特卡罗模型是利用计算机进行数值计算的一类特殊风格的方法, 它是把某一现实或抽象系统的某种特征或部分状态, 用模拟模型的系统来代替或模仿, 使所求问题的解正好是模拟模型的参数或特征量, 再通过统计实验, 求出模型参数或特征量的估计值, 得出所求问题的近似解。目前评价不确定和风险项目多用敏感性分析和概率分析,但计算上较为复杂,尤其各因素变化可能出现概率的确定比较困难。蒙特卡罗模型解决了这方面的问题,各种因素出现的概率全部由软件自动给出,通过多次模拟,得出项目是否应该投资。该方法应用面广, 适应性强。

惠斯通(Weston) 对美国1 000 家大公司所作的统计表明: 在公司管理决策中, 采用随机模拟方法的频率占29 % 以上, 远大于其他数学方法的使用频率 。特别, 该方法算法简单, 但计算量大, 在模拟实际问题时, 要求所建模型必须反复验证,这就离不开计算机技术的帮助, 自然可利用任何一门高级语言来实现这种方法。通过一案例具体实现了基于Excel 的Monte Carlo 模拟系统, 由于Microsof tExcel 电子表格软件强大的数据分析功能和友好的界面设计能力, 使系统实现起来颇感轻松自如。

二、理论和方法

蒙特卡洛模拟早在四十年前就用于求解核物理方面的问题。当管理问题更为复杂时,传统的数学方法就难以进行了。模拟是将一个真实事物模型化,然后对该模型做各种实验,模拟也是一个通过实验和纠正误差来寻求最佳选择的数值性求解的过程。模拟作为一种有效的数值处理方法, 计算量大。以前只是停留在理论探讨上, 手工是无法完成的。在管理领域由于规律复杂随机因素多, 很多问题难以用线性数学公式分析和解决, 用模拟则有效得多。在新式的计算机普及后, 用模拟技术来求解管理问题已成为可能。

计算机模拟技术和其它方法相比有以下优点:

1) 成本低、风险小, 在产品未投产, 实际生产未形成就可以对市场进行分析模拟, 极大地减少费用和风险。

2) 环境条件要求低, 工作人员不需要高深的数学能力, 完全依靠计算机进行, 在硬件和软件日益降价的情况下, 可以成为现实。

3) 可信度高, 常用的统计推理方法需要大量历史数据(如平均数法、最小二乘法) , 对无历史资料的场合就无能为力(如新产品) , 而且精度低。

模拟的最大特点是借助一个随机数来模仿真实的现实, 随机数的产生则由计算机来产生。称为伪随机数。即:

Rn = F (r - 1 , r - 2 ,……r - k)

在以对象为中心的软件中, EXCEL 有一个RANE()函数实现伪随机数功能。RANE( )实际上是一个会自动产生伪随机数的子程序。用产生的伪随机数模拟市场购买行为, 得出产品销售量, 在生产成本相对固定时进而推测出产品的利润。此方法不用编制复杂的程序, 思路假设为, 作为系统内部是可以控制的, 即企业内部生产成本可以人为控制, 但系统外部因素是不可控制的(消费心理导致的消费行为) , 则生产与销售就会产生矛盾。生产量小于销售量, 造成开工不足资源浪费;生产量大于销售量, 造成产品积压, 资金占用, 同样形成资源的浪费。最好生产量等于销售量, 则资源浪费最小, 自然经济效益就最高, 实际就是利润最大化。如果能科学地测算出在什么情况下利润最大, 则这时的产量就是最佳产量, 成本也就最低。这就是市场作为导向, 以销定产的公认市场经济的准则。实际工作中, 很多产品的消费是具有随机性的, 主要是一些需求弹性大、价格弹性大、价格低、与日常生活有关的中、小商品, 如副食品、日用消费品玩具轻工业产品。对企业而言利润较高的产品。

从以上分析可以看出, 蒙特卡洛模拟可以动态实现对产品利润的预测, 从而对产品产量科学控制,实现资源优化, 是一种较好的决策支持方法。

三、蒙特卡罗模型在Excel 表中的应用

某气田投资项目期投资、寿命期、残值以及各年的收入、支出,以及应付税金的税率、项目的资本成本等都是独立的随机变量,他们的概率密度函数如表1所示。

表 各变量对应概率密度函数

ABCD
2概率对应的随机数可能值
3投资Yo0.20450
40.520500
50.370550
6寿命N0.506
70.3507
80.2808
9残值F0.25040
100.52550
110.257560
12税率Te0.2045
130.52048
140.37051
15年收入R0.150700
160.315750
170.445800
180.1585850
19年支出C0.20100
200.420150
210.360200
220.190250
23资本成本i0.1010
240.21012
250.43014
260.27016
270.19018

本案例用windowsXP 中的Excel2003 对该项目进行模拟如下:

1) 在A32 单元格(投资Yo 模拟:随机数) 输入:= RANDBETWEEN (0 ,99) ;在B32 单元格(投资Yo模拟:投资) 输入: = VLOO KUP (A32 , $C $3 : $D$5 ,2) ;

2) 在C32 单元格(寿命N 模拟:随机数) 输入: =RANDBETWEEN (0 ,99) ;在D32 单元格(寿命N 模拟: 寿命) 输入: = VLOO KUP ( C32 , $C $6 : $D$8 ,2) ;

3) E32 ,G32 , I32 , K32 ,M32 单元格分别输入: =RANDBETWEEN (0 , 99) ; F32 = VLOOPUP ( E32 ,$C $9 : $D $11 , 2) , H32 = VLOOPUP ( G32 , $C$12 : $D $14 ,2) ,J 32 = VLOO KUP ( I32 , $C $15 :$D $18 ,2) ,L32 = VLOO KUP ( K32 , $C $19 : $D$22 ,2) ,

N32 = VLOO KUP(M32 , $C $23 : $D $27 ,2)

4) O32 = (B32 - F32) / D32 , P32 = (J 32 - L32 -O32) * (1 - H32/ 100) + O32 ,Q32 = PV (N32/ 100 ,D32 , - P32) - B32 ;

5) H3 = AVERA GE ( Q32 , Q5031 ) , H4 =STDEV (Q32 ,Q5031) ,H5 = MAX ( Q32 , Q5031 ) , H6 = MIN ( Q32 ,Q5031) ,H7 = H4/ H3 ,H8 = COUN TIF (Q32 :Q5031 ,“ < 0”) / COUN T(Q32 ,Q5031) 。

在Excel 工具表中模拟5000次,结果输出见下表 :

表 结果输出表(1)

ABCDEFGH
投资Yo模拟寿命N模拟残值F模拟税率Te模拟
随机数投资随机数寿命随机数残值随机数税率
32174507875150245
333150084887606748
342250063797608851
359555070740508151
363150096820401245
37164501641506648
387955033687605148
39045097878601745
40355004362240545
41345070752508751
427855039669503048
43205003669060245
44965505692604048
455150036690602048
46585003961401145
47445079722402948
488355036640506248

表 结果输出表(2)

IJKLMN
年收入R模拟年支出C模拟资本成本i模拟
随机数年收入随机数年支出随机数资本成本
321270088200410
3311700882005914
34370079200710
3568800201507716
3623750211505314
3798850732004014
3837750231509918
3972800922501612
4081800962504614
4132750171007416
4270800732001712
4339750782006814
4412700461509218
4579800752001512
4610700521505414
474580011008716
487580047150410

表 结果输出表(3)

OPQ
折旧Dt各年现金流量YtNPV
3275307175840.3314803
3376166667348.18856.3672298
3464128571342.85711064.716528
3575374878.0912297
3655.71429364.74291114.128559
3762.185714368.1714986.8844068
3873.33333355.9883.9767691
3958.57143299.37141007.465496
4083.33333336.5689.9136332
4183.33333326717.7056104
4266.66667344964.3241193
438535218749.9748285
4457.14286347.64291040.798547
4564.28571276.4286761.5527004
4676.166667348.8785.2358848
4748.75335.41105.87495
4857.5391.61200.950194

  所得结果如下:

表 净现值模拟计算结果表

FGH
2净现值模拟计算结果
3净现值期望值952.13017
4净现值标准差198.90501
5净现值最大值1726.9833
6净现值最小值405.54502
7变异系数0.12089053
8净现值为负的概率0

表 净现值概率分布统计表

净现值概率分布统计
系统分组分布区间概率累计概率
3003以下00
4003~400
5004~50.00360.0036
6005~60.02440.028
7006~70.0620.09
8007~80.13220.2222
9008~90.18980.412
10009~100.19920.6112
110010~110.16280.774
120011~120.11620.8902
130012~130.05480.945
140013~140.03380.9788
150014~150.01320.992
160015~160.0050.997
170016~170.00180.9988
180017以上0.00121

Image:净现值(NPV) 直方图.jpg

Image:累计概率曲线图.jpg

从分析结果得出,虽然此项目未来的不确定性很大,但由图可知,此气田开发项目服从正态分布,模拟5 000次的结果是净现值为负的概率为零,并且项目的期望净现值为952113 万元,说明项目值得开发。

由以上的案例分析可知,基于蒙特卡罗模拟风险分析,对于工程实际应用具有较强的参考价值。随机模拟5 000 次,如果仅靠人的大脑进行计算,这在现实世界中是不可能的,但考虑到系统决策支持功能, 算法设计为由使用者自己设计方案, 采用人机交互, 这样可以发挥使用者的经验判断;系统实现模拟运算——系统对每一个设定的投资项目期投资、寿命期、残值以及各年的收入、支出,以及应付税金的税率、项目的资本成本等随机变量及他们的概率密度函数,通过蒙特卡罗模拟方法,得出了项目在不同概率发生的情况下净现值模拟计算结果。为人们解决不确定性项目的决策提供了简单的方法,节约了人们的工作量和时间。但是利用蒙特卡罗模型分析问题时,收集数据是非常关键的。

附件列表


0

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

如果您认为本故事还有待完善,请 编辑

上一篇 周海中    下一篇 卡尔·特奥多尔·威廉·魏尔施特拉斯

同义词

暂无同义词
  • 友情链接:
  • 中原企业家
  • 华锐社区
  • 法学学习
  • 故事库
  • 舆情信息
  • 郑州商业观察
  • 美丽中国
  • 药食同源
  • Lovely China
  • 纯欲天花板
  • 留学生