蒙特卡洛随机模拟

news2024/10/2 12:20:08

蒙特卡洛随机模拟

简介

蒙特卡洛模拟是在计算机上模拟项目实施了成千上万次,每次输入都随机选择输入值。由于每个输入很多时候本身就是一个估计区间,因此计算机模型会随机选取每个输入的该区间内的任意值,通过大量成千上万甚至百万次的模拟次数,最终得出一个累计概率分布图,这个就是蒙特卡洛模拟。

模拟举例

我们以定量风险分析项目总成本为例来简要介绍一下蒙特卡洛模拟。你做为项目经理,项目主要有三大阶段需要花费成本,分别是计划,编码,测试。假设这三块内容预估费用的概率是正态分布(单位:万RMB)。分别对三要素得到如下最乐观,最可能和最悲观的成本数值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRhWrJsw-1677461323969)(C:\Users\why\AppData\Roaming\Typora\typora-user-images\image-20230116195552464.png)]

现在我们需要用蒙特卡洛模拟来以这三个要素的成本分布为输入,来模拟得到整个项目的成本概率分布图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LQxish6J-1677461323970)(C:\Users\why\AppData\Roaming\Typora\typora-user-images\image-20230116195624223.png)]

我们要用蒙特卡洛模拟来定量分析整个项目的成本风险。于是我们用电脑来模拟项目的实施。

第一步:随机抽取三要素(计划、编码、测试)的成本值作为输入;

(对于第一步中,产生每个要素的随机成本值,Excel里面有个函数可以生成呈正态分布的随机数,就是NORMINV。)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nOSab5an-1677461323971)(C:\Users\why\AppData\Roaming\Typora\typora-user-images\image-20230116195801827.png)]

第二步:然后把三个要素的值求和Σ得到整个项目的成本值,这样就完成了一次模拟;

第三步:对第一二步进行重复套娃,然后就这样一次一次的模拟,需要模拟成千上万次最终得到成千上万个整个项目成本的数值(我们这个例子中套娃500次);

第三步中对三要素重复500次生成随机值,就得到了500组三要素的随机值,并将它们的数值相加得到500组随机总成本。如下图:

img

第四步:再对这些海量成本值进行统计分析,得出最终的项目总成本概率分布。

在这里插入图片描述

通过对上面表格的数据可以计算出每个随机总成本出现的概率(和累计概率)。将分组数据为X轴,出现概率和累积概率的值为Y轴,可以得到总成本的概率分布图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nWPiSfR-1677461323975)(C:\Users\why\AppData\Roaming\Typora\typora-user-images\image-20230116195942101.png)]

柱状图是整个项目估计刚好花多少成本完工的概率数据,比如图中花28万对应的概率大约是14%,表示整个项目刚好花28万完工的概率是14%。

图中的曲线是每个柱状图(每一次总成本)概率的累计值得到的曲线,是总成本的累计概率分布图。比如还是以28万这个点为例,X轴28万,曲线在Y轴上对应的是70%的概率,这就代表着总成本在28万的话,有70%的概率能够完成项目。

这个曲线就是模特卡洛模拟所得到的交付物,最终我们可以根据这个模拟曲线,来判断花多少成本,能够完成项目的概率是多大,这样就将风险量化了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/374321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔记本触摸板没反应怎么办?处理方法看这些

触摸板在笔记本电脑中是非常重要的一部分,很多用户都会选择使用触摸板代替鼠标。然而,有时你可能会发现,你的笔记本电脑触摸板没反应,无法正常使用。这对于日常使用来说是非常困扰的,但不用担心,我们将在这…

JavaScript BOM【快速掌握知识点】

目录 Window对象的常用属性 语法: Window对象的常用方法 语法: open()和close()方法 History对象 常用属性和方法 示例 Location对象 常用属性 常用方法 Document对象的常用方法 定时函数 超时调用:setTimeout() 间歇调用&…

插件化框架shadow——腾讯

theme: cyanosis Shadow简介 Shadow是最近腾讯开源的一款插件化框架。原理是使用宿主代理的方式实现组件的生命周期。目前的插件化框架,大部分都是使用hook系统的方式来做的。使用代理的基本上没有成体系的框架,只是一些小demo,Shadow框架的…

【华为OD机试模拟题】用 C++ 实现 - 查找单入口空闲区域(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明查找单入口空闲区域题目输入输出示例一输入输出说明示例二输入输出说明示例三输入输出说明示例

在linux中web服务器的搭建与配置

以下涉及到的linux命令大全查阅 https://www.runoob.com/linux/linux-command-manual.htmlvim命令查阅 https://www.runoob.com/linux/linux-vim.htmlscp命令https://www.runoob.com/linux/linux-comm-scp.html首先要有一个请求的服务地址用ssh 进入到linux系统中ssh 请求的服务…

JavaWeb Servlet Cookie和Session

6、Servlet 6.1、Servlet简介 Servlet就是sun公司开发动态web的一门技术Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤: 编写一个类,实现Servlet接口把开发好的Java类部…

Redis 4种集群方案介绍+优缺点对比

前言在服务开发中,单机都会存在单点故障的问题,即服务部署在一台服务器上,一旦服务器宕机服务就不可用,所以为了让服务高可用,分布式服务就出现了,将同一服务部署到多台机器上,即使其中几台服务…

【LeetCode】剑指 Offer 17. 打印从1到最大的n位数 p114 -- Java Version

题目链接:https://leetcode.cn/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ 1. 题目介绍(17. 打印从1到最大的n位数) 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直…

<JVM上篇:内存与垃圾回收篇>12 - 垃圾回收相关概念

笔记来源:尚硅谷 JVM 全套教程,百万播放,全网巅峰(宋红康详解 java 虚拟机) 文章目录12.1. System.gc()的理解12.2. 内存溢出与内存泄露内存溢出(OOM)内存泄漏(Memory Leak&#xff…

【Linux驱动开发100问】Linux驱动开发工程师在面试中常被问到的问题汇总

🥇今日学习目标:什么是Kconfig?如何使用Kconfig? 🤵‍♂️ 创作者:JamesBin ⏰预计时间:10分钟 🎉个人主页:嵌入式悦翔园个人主页 🍁专栏介绍:Lin…

针对面试官的盘问-如何回答职场中的一些问题

(点击即可收听)初入职场,面对面试官的提问,如何回答01你为什么从上家公司离职?个人成长不足,不符合自己的预期(关系到个人竞争力,希望找到一份更有挑战,个人提升更大的工作),切忌与面试官倒苦水,说前公司老板的不是业务发展缓慢,上升空间有限(有些不符合…

【华为OD机试模拟题】用 C++ 实现 - 不等式(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明不等式题目输入输出描述示例一输入输出示例二输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD …

正态分布、Q函数、误差函数erf()和互补误差函数erfc()

1、正态分布(高斯分布) 若随机变量 X服从一个位置参数为 μ、尺度参数为 σ 的概率分布,且其概率密度函数为 则这个随机变量就称为正态随机变量,正态随机变量服从的分布就称为正态分布,记作 X∼N(μ,σ2) 。 当μ0,σ…

【Opencv-python】之入门安装

目录 一、安装Python 1. 登录官网https://www.python.org/downloads/ 2. 任选一个版本,下载Python 3. 安装Python 记得勾选下图的Add Python 3.6 PATH, 添加python到环境变量的路径,然后选择Install now​编辑 4. 验证是否安装成功 5.退出 二、安装…

【华为OD机试模拟题】用 C++ 实现 - 路灯照明(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明路灯照明【华为OD机试模拟题】题目输入输出描述示例一输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高…

Redis源码---键值对中字符串的实现,用char*还是结构体

目录 前言 为什么 Redis 不用 char*? char* 的结构设计 操作函数复杂度 SDS 的设计思想 SDS 结构设计 SDS 操作效率 紧凑型字符串结构的编程技巧 小结 前言 对于 Redis 来说,键值对中的键是字符串,值有时也是字符串在 Redis 中写入一…

渗透之信息收集

信息收集 当我们需要渗透某一个网站、服务器。。。。时 我们首先得收集它得相关信息 比如: 域名、ip、端口、web cms指纹、目录扫描、网络空间测绘。。。。等等等等手段尽可能的去收集它的信息。 收集越多信息,相对于我们越有利,让我们有更多手段去对…

计算机组成原理(1)--计算机系统概论

一、计算机系统简介1.计算机系统软硬件概念计算机系统由“硬件”和“软件”两大部分组成。所谓“硬件”,是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。所谓“软件”…

【华为OD机试模拟题】用 C++ 实现 - 某公司组织招聘(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明招聘 | 某公司组织题目输入输出示例一输入输出说明示例二输入输出说明示例三输入输出说明

C语言if判断语句的三种用法

C if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 语法 C 语言中 if 语句的语法: if(boolean_expression) {/* 如果布尔表达式为真将执行的语句 */ }如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false&…