蒙特卡洛介绍(蒙特卡洛图片)

2023-02-18 5:07:36 体育 qqzjj

请问什么是蒙特卡洛模拟

蒙特卡洛(MonteCarlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。

pmp蒙特卡洛分析是哪个阶段的技术

第六版《PMBOK指南》中项目风险管理介绍了蒙特卡洛分析技术。

1.项目风险管理的发展趋势和新兴实践介绍到非事件类风险。

非事件类风险有两种主要类型,其中变异性风险可通过蒙特卡洛分析加以处理,即:用概率分布表示变异的可能区间,然后采取行动去缩小可能结果的区间。变异性风险:已规划事件、活动或决策的某些关键方面存在不确定性,就导致变异性风险。

2.实施定量风险分析:工具与技术-数据分析-模拟-通常采用蒙特卡洛分析。

3.实施定量风险分析:工具与技术-数据分析-影响图。影响图是不确定条件下决策制定的图形辅助工具。它将一个项目或项目中的一种情境 表现为一系列实体、结果和影响,以及它们之间的关系和相互影响。如果因为存在单个项目风险或其他不确定性来源而使影响图中的某些要素不确定,就在影响图中以区间或概率分布的形式表示这些要素;然后,借助模拟技术(如蒙特卡洛分析)来分析哪些要素对重要结果具有最大的影响。

蒙特卡洛方法

本文主要讲解三部分:

  这一小节我们简要介绍一下引出蒙特卡洛方法的实际场景。

  机器学习/深度学习中的图像叠加文字识别需要大量的训练样本,自动生成样本(使用程序在背景图片上叠加文字)是一种样本的获取方式。但色彩值(为了兼顾各方向的同学,原谅我用一个这么不专业的词汇,此值可以是RGB到[0,1]区间的映射,让它能代表颜色的性质)的选择很重要,为了防止(控制)发生叠加文字与背景图片的色彩值相近的情况发生,叠加文字的色彩值最好服从我们指定的概率分布。这样就需要根据指定的概率分布来产生色彩值——蒙特卡洛方法擅长解决的问题。

  蒙特卡洛方法的应用场景很多,横跨物理、金融、计算机。拿计算机科学来举例,自然语言处理中的LDA模型,hinton较早提出的深度学习模型DBN都用到了蒙特卡洛方法。此文第一部分简要介绍了实际问题,简而言之蒙特卡洛方法就是生成样本,即蒙特卡洛采样。即根据某已知分布的概率密度函数f(x)f(x),产生服从此分布的样本XX。

  下面首先介绍一种最简单最易理解的蒙特卡洛方法——Accept-Rejection method(下文称接受拒绝采样),然后给出这个方法的直观解释,最后证明方法的正确性。

其中

蒙特卡洛模拟(Monte Carlo Simulation)浅析

蒙特卡洛模拟作为一种常用的模拟技术,在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%的不能按时完工的风险,项目在进度方面的风险就大大降低了。

好了,至此关于蒙特卡洛模拟的基本概念和操作流程就说完了,希望能通过本文对大家学习和理解蒙特卡洛模拟有所助益,如有任何疑问、建议或指正,欢迎留言交流,谢谢阅读。

推荐阅读作者更多的文章(直接点击下面的标题):

详解挣值管理(EVM)

详解净现值(NPV)与内部报酬率(IRR)

什么是边际效益递减规律?

“活动”失踪了吗? | 《PMBOK®指南》第6版解读

如何用通俗的案例解释「借壳上市」?

蒙特卡洛介绍(蒙特卡洛图片) 第1张

pmp蒙特卡洛分析是哪个阶段的技术?

根据了解这个应该是蒙特卡洛分析技术,它的特点是用概率统计作工具进行分析。 三点估算是经验估计,并不涉及概率。

PMP考试答题的几个注意点:

1、所有的过程,如果问你下一步做什么。如果有关于沟通规划的,一定选沟通相关的

2、如果有什么情景题要做什么,一定有3个步骤:分析环境、分析利益,分析自己

3、如果有关于变更的措施,一定首选对管理计划影响最小的

4、冲突的管理,看实际情况,如果情况紧急,决策最快的最好,就是强制或者解决问题;

5、冲突的解决办法,一定要选择对各方利益损失最小的办法。

6、注意几个关键词“总是、绝不、必须”或者是这类标志性的词语;他们通常是错误的答案

7、注意“经常、有时、也许、通常、或许”这类代表特殊情况的词语。

8、中英文翻译,正确的答案,可能语法是不正确的。

9、注意题干中的“除了,不包括”

10、项目经验要在PMBOOK之后考虑,有冲突,按照PMBOOK来答题。

11、PMI的主张是只管自己责任范围内的事情

蒲丰投针问题的蒙特卡洛方法

在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用 Monte Carlo 方法。下面通过例子简单介绍 Monte Carlo 方法的基本思想.

Monte Carlo方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛, 其历史起源于 1777 年法国科学家蒲丰提出的一种计算圆周π 的方法——随机投针法,即著名的蒲丰投针问题。

Monte Carlo方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量. 然后通过模拟一统计试验, 即多次随机抽样试验 (确定 m和 n) ,统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.

MATLAB语言编程实现:

l=1;

n=1000;

d=2;

m=0;

for k=l:n

x=unifrnd(0,d/2);

p=unifrnd(0,pi);

if x0.5*sin(p)

m=m+1

else

end

end

p=m/n

pi_m=1/p

运行,即得结果。

c++语言编程实现:

#includeconio.h

#includestdlib.h#includetime.h#includeiostreamusing namespace std;int main(){longi,in,N=1000000;doublex,y,pi;srand(time(NULL));for(i=0,in=0;iN;i++){x=2.0*rand()/RAND_MAX-1;y=2.0*rand()/RAND_MAX-1;if((x*x+y*y)=1)in++;}pi=4.0*in/N;coutpiendl;getch();return 1;}

蒙特卡洛方法适用范围很广泛,它既能求解确定性的问题,也能求解随机性的问题以及 科学研究中的理论问题.例如利用蒙特卡洛方法可以近似地计算定积分,即产生数值积分问 题.

任意曲边梯形面积的近似计水塘的面积.应该怎样做呢?测量方法如下:假定水塘位于一块面积已知的矩形农田之中.如图 8.2 所示.随机地向这块农田扔石头使得 它们都落在农田内.被扔到农田中的石头可能溅上了水,也可能没有溅上水,估计被“溅上水的”石头量占总的石头量的百分比.试想如何利用这估计的百分比去近似计算该水塘面积?

免责声明
           本站所有信息均来自互联网搜集
1.与产品相关信息的真实性准确性均由发布单位及个人负责,
2.拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论
3.请大家仔细辨认!并不代表本站观点,本站对此不承担任何相关法律责任!
4.如果发现本网站有任何文章侵犯你的权益,请立刻联系本站站长[QQ:775191930],通知给予删除

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 66060320 bytes) in /www/wwwroot/qqzjj.com/zb_users/plugin/dyspider/include.php on line 39