风险定量分析工具龙卷风图决策树形图蒙特卡洛模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
风险定量分析⼯具龙卷风图决策树形图蒙特卡洛模拟
龙卷风图:是项⽬管理中⽤于在风险识别和定性分析之后,进⾏定量风险分析的技术----敏感性分析技术中最常⽤的⼀种图表技术。
敏感性分析:敏感性分析有助于确定哪些风险对项⽬具有最⼤的潜在影响。
它把所有其他不确定因素保持在基准值的条件下,考察项⽬的每项要素的不确定性对⽬标产⽣多⼤程度的影响。
敏感性分析最常⽤的显⽰⽅式是龙卷风图。
龙卷风图有助于⽐较具有较⾼不确定性的变量与相对稳定的变量之间的相对重要程度。
它因其显⽰形式像龙卷风⼀样⽽得名。
图例请见图⽚。
___________________________________________________________________________________________
风险定量分析⼯具之龙卷风图
https:///rongwenbin/article/details/9301091
龙卷风图(TornadoDiagram)是在风险定量分析中采⽤的⼀种对单因素敏感性分析的⼯具。
因其图形状像龙卷风,因此⽽得名。
主要⽤来分析在其它因素单个较⾼不确定性因素和其它相对稳定因素之间的相对重要程度。
⼀个标准的龙卷风图如下图所⽰。
图中,X轴表⽰各因素对结果的影响的取值范围。
Y轴表⽰各不确定性因素的名称,它们对结果的影响值和它们本⾝的取值。
对每⼀个不确定的决定因素,该图都包含了⼀个横杆和两组数字(分别在横杆的左边和右边)。
每组数字对应着该因素对结果的影响值(上⾯的数字,负数⽤括号括住了)和该因素本⾝的值(下⾯的数字,花括号内)。
_________________________________________________________________________________________
决策树形图:按照当前数据集的不同属性特征将其划分为不同分⽀节点(数据⼦集),直到每⼀个节点的所有样本数据都属于同⼀类别分⽀属性停⽌划分,最终形成“树状”分⽀结构图形。
________________________________________________________________________________________________-
蒙特卡洛模拟(Monte Carlo Simulation)浅析
https:///p/cb44f4b457c3
蒙特卡洛模拟作为⼀种常⽤的模拟技术,在PMBOK⾥经常可以看到它的⾝影,其主要出现在风险管理知识领域中的定量风险分析过程,是⽤于做项⽬定量风险分析的⼯具之⼀,同时蒙特卡洛模拟也可以⽤于估算进度或成本以及制定进度计划等。
(全⽂共 2741 字,阅读⼤约需要 10 分钟。
)
蒙特卡洛模拟由于在PMBOK⾥讲得较为简单和抽象,理解起来稍微有点困难。
为了让⼤家更加通透地理解蒙特卡洛模拟的作⽤及其过程原理,本⽂试图通过⼀个简单的例⼦来实操模拟⼀下这个蒙特卡洛模拟的过程。
⼀、简要介绍
到底什么是蒙特卡洛模拟呢?蒙特卡洛模拟是⼀种统计学的⽅法,⽤来模拟⼤量数据。
可能童鞋们看到这个定义更晕了,到底什么是统计学⽅法,模拟⼤量数据⼲什么?别着急下⾯会慢慢⼀⼀道来。
我们先来简单介绍⼀下关于蒙特卡洛模拟的⼀些背景知识。
蒙特卡洛模拟是在⼆战期间,当时在原⼦弹研制的项⽬中,为了模拟裂变物质的中⼦随机扩散现象,由美国数学家冯·诺伊曼(学计算机的同学都知道这位冯同志的⼤名,⼈称“计算机之⽗”)和乌拉姆等发明的⼀种统计⽅法。
之所以起名叫蒙特卡洛模拟,是因为蒙特卡洛在是欧洲袖珍国家摩纳哥⼀个城市,这个城市在当时是⾮常著名的⼀个赌城。
因为赌博的本质是算概率,⽽蒙特卡洛模拟正是以概率为基础的⼀种⽅法,所以⽤赌城的名字为这种⽅法命名。
蒙特卡洛模拟是在计算机上模拟项⽬实施了成千上万次,每次输⼊都随机选择输⼊值。
由于每个输⼊很多时候本⾝就是⼀个估计区间,因此计算机模型会随机选取每个输⼊的该区间内的任意值,通过⼤量成千上万甚⾄百万次的模拟次数,最终得出⼀个累计概率分布图,这个就是蒙特卡洛模拟。
⼆、模拟过程
蒙特卡洛模拟在实际的项⽬管理应⽤中⼀般较为复杂,⽽且很多时候⽤在专业的项⽬风险分析软件⾥⾯(⽐如Pertmaster),通常⽤在较为⼤型的项⽬和企业中。
我们这篇⽂章只是为了让童鞋们对于蒙特卡洛模拟有个更为直观清晰的认识,同时鉴于篇幅和不⾄于让讲解过于晦
涩,所以这⼉我们只是准备⽤Excel⼯具来简单地模拟和介绍⼀下蒙特卡洛模拟的实施操作过程,这样⼤家也能对蒙特卡洛模拟有个更为直观地了解。
我们以定量分析项⽬总持续时间为例来简要介绍⼀下蒙特卡洛模拟。
⽐如说我们现在有个项⽬,该项⽬共有三个WBS要素分别是设计、建造和测试,为了简单起见我们假设这三个WBS要素的预估的⼯期概率分布都呈标准正态分布,各⾃的平均⼯期、标准差以及最悲观、最可能和最乐观的估计⼯期如下图所⽰(我们这⼉简单地认为基于正态分布的⼯期的最悲观/最乐观的估算⼯期定在均值正负3个标准差的位置),⽽且三者之间都是完成到开始的逻辑关系,这样整个项⽬⼯期就是这三个WBS要素⼯期之和。
现在我们需要⽤蒙特卡洛模拟来以这三个要素的⼯期的分布为输⼊,来模拟得到整个项⽬的⼯期概率分布图。
由于设计、建造和测试这三个要素都是呈标准正态分布,我们可以根据上⾯表格中的各⾃的均值和标准差数据⼤致画出这三个要素⼯期的概率分布图如下⾯的样⼦:
我们要⽤蒙特卡洛模拟来定量分析整个项⽬的⼯期进度风险。
于是我们⽤计算机来模拟项⽬的实施,我们的思路是:第⼀步:随机选取每个WBS要素的⼯期值作为输⼊(因为每个要素的⼯期不是恒定的,本⾝就是⼀个估计的分布区间);第⼆步:然后把三个WBS要素的值相加得到整个项⽬的⼯期值,这样就完成了⼀次模拟;第三步:重复第⼀⼆步,然后就这样⼀次⼀次的模拟,需要模拟成千上万次最终得到成千上万个整个项⽬总⼯期的数值;第四步:再对这些海量模拟次数得到海量总⼯期数值进⾏统计分析,得出其最终的项⽬总⼯期估计的概率分布。
我们先做第⼀步。
第⼀步需要我们先产⽣这些每个要素的随机⼯期值。
Excel⾥⾯有个函数可以⽣成呈正态分布的随机数,就是NORMINV。
我们的设计要素的第⼀个随机⼯期取值的公式就是这么写的:=ROUND(NORMINV(RAND(),$E$3,$F$3),0),如下图所⽰:
解释⼀下这个公式:ROUND(NORMINV(RAND(),$E$3,$F$3),0),RAND() 是⽣成0到1之间的随机数,NORMINV(RAND(),$E$3,$F$3) 是⽣成呈均值为E3(图中为14)、标准差为F3(图中为2)的正态分布的随机数,ROUND 是四舍五⼊的意思,这样回车我们就⽣成了设计这个要素的第⼀个随机⼯期值17。
同理我们把这个公式值往下拉,复制400次(我们此例中模拟400次),就得到了400个呈正态分布的随机⼯期值;然后建造和测试的随机⼯期值也是照葫芦画瓢,这样我们就得到了这3个要素的400次模拟的随机值,再每次的3个要素的随机值相加得到总⼯期的模拟值,如下图所⽰:
此时前三步就做完了得到了总⼯期的⼀组数据(400个)。
现在开始做第四步对这组数据做统计分析和作图。
4.1 先把总⼯期这⼀列(图中E列)400个值拷贝⼀份,粘贴数值到另外⼀列(注意粘贴的时候选择“选择性粘贴”然后选“值”,因为随机数随时变动,这⼉需要把值固定下来),⽤MAX和MIN函数计算出这⼀列400个值的最⼤值为76,和最⼩值为45,作为分组依据,然后在旁边 I 列依次升序排列42-78(前后多取⼏个数值图像更完整)这部分数值作为分组数据,如下图所⽰:
4.2 然后计算每个分组数据在总⼯期这组数据中出现的概率,这⼉需要⽤到函数FREQUENCY,计算概率的公式为:
=FREQUENCY(H8:H407,I8:I40)/400,意思是统计每个分组数据在总⼯期这⼀组数据中出现的次数,再除以模拟总次数400就得到这个分组数据出现的概率。
再计算⼀个累积概率值,累积概率值就是前⾯的所有单个概率值加起来的概率,⽐如算分组数据46的累积概率值就是把46以下的数值的概率值全部加起来,这样我们就得到关于分组数据在总⼯期这组数据中出现的概率和累积概率的数据,如下表格所⽰:
4.3 通过对上⾯表格的数据,以分组数据为X轴,出现概率和累积概率的值为Y轴于是可以做出下⾯关于总⼯期的概率分布图:
红⾊柱状图是整个项⽬估计刚好多少天完⼯的概率数据,⽐如图中60天对应的概率⼤约是11%,表⽰整个项⽬刚好60天完⼯的概率是11%;蓝线就是我们PMBOK上定量风险分析得到的那张S曲线图,也是我们最终蒙特卡洛模拟需要得到的最终的模拟输出:总⼯期的概率分布图。
通过这个S曲线,我们可以预测整个项⽬在多少天内完⼯的概率。
⽐如我们需要预测整个项⽬在56天完⼯的概率,通过S曲线了解到56天对应的累积概率是34%左右,也就是整个项⽬56天内完⼯的概率是34%,那么56天内不能完⼯的概率就是1-34%=66%,这就是风险。
如果觉得风险太⾼⽆法接受,那么我们可以把⼯期适当规划长⼀些,⽐如60天,这样查询S曲线可以得到60天内整个项⽬完⼯的概率是70%,这样就只有剩下30%的不能按时完⼯的风险,项⽬在进度⽅⾯的风险就⼤⼤降低了。
好了,⾄此关于蒙特卡洛模拟的基本概念和操作流程就说完了,希望能通过本⽂对⼤家学习和理解蒙特卡洛模拟有所助益,如有任何疑问、建议或指正,欢迎留⾔交流,谢谢阅读。
推荐阅读作者更。