在【CH6. 建立模型以衡量风险】这章里,作者介绍了蒙地卡罗法,可以根据机率产生模拟情境,用来分析风险。
本章是写给「从来不知道这个方法是什麽」的人(this is me!),作者介绍了基本的实作过程。
作者在 https://www.howtomeasureanything.com/ 提供了完整的试算表下载,其实对熟悉 excel 的人来说,直接进去 excel 应该就看得出来分析的流程了。
为了方便,我将 excel 档案重新上传至自己的 Google sheet。
你正在考虑租下一台新机器,要用在某个制造过程。
租赁条件是:
因此,你需要考虑:
经过校准训练的估计人员提供了相关参数的范围:
每年节省 = ( 维护节省 + 劳工节省 + 原物料节省 ) x 生产水准
接下来作者介绍如何在 excel 上实作模型。
跑出来的模型看起来像这样:
首先是根据估算范围,为每个参数随机产生数字,作者在此例中随机产生了 15000 个 scenario
在此例中,作者在产生随机数字时,选择了常态分配:
NORMINV(RAND(), A, B)
这里的标准差 3.29 是作者直接给的 XD
接着根据每个 scenario,来计算当年的 Savings,并判断是否有打平成本,也就是 Breakeven met? 栏位。
最後,根据「Breakeven met?」的平均数获得 86% 的机率,也就是有 14% 的机率无法打平成本。
同时,根据 Savings 栏位,整理成每千美元为单位的长条图:
完整试算表 (Google sheet) 看起来像这样:
上例中使用常态分配,在这里作者讨论了需要使用其他型态的例子:
由於这是不连续的事件,是重大、突然的需求下降,就不适用常态分配。
此时需要在表格中增加新的栏位来模拟事件的发生,以及事件是在哪一个月份发生的,然後根据状况来改变 Production level 的值:
此时 contract loss 的二元分配的公式是 if(rand() < 10%, 1, 0)
而「该年度剩余月份 (Months Remaining in Year When Contract is Terminated)」则采用均等分配,概念是:
rand() * (上限 - 下限) + 上限
以上是本书对蒙地卡罗模拟的介绍。
作者表示,有时候会需要一些快捷的作法,但请不要直接把「乐观的数字」 & 「悲观的数字」加总起来直接当成上下限。这样在商业案例上产生的结果会太夸张。
作者另外介绍了一个快捷算法,可以在「全都是常态分配」的前提下,不用跑模拟就能快速获得成本与效益,but 他没解释为什麽这样算,这里就笔记一下而己⋯⋯
本章剩下的段落讲了一些行业问题并进行宣导,但因为我对行业背景一窍不通,所以这边也不太知道重点是什麽,这就略过了 XD
我看 Amazon 书评上有人说这本书是「他看过对蒙地卡罗法最好懂的介绍」,唉这应该就是有背景知识的人可以下的评论吧,我在人生中就看过这唯一一个例子而己,例子是懂了,但整体而言究竟知道了什麽呢 XD
总之,进度推到 140 页了,即将跨过中线........
>>: Day11 ATT&CK for ICS - Initial Access(1)
Tasks: Initialize Cloud Monitoring. Navigation men...
我们昨天提到了资料的类型,那今天就来讲一讲资料的尺度(Scale) 先厘清一下 这边所提到的尺度不是...
搞定好 画面了以後,现在要把既有的自订栏位给加进去, 先用"选择路径"的自订栏位...
立即函式特点: 立即执行 无法在函式外再次执行 接着我们来看立即函式的语法 (function() ...
关於讯息伫列怎麽去储存呢?大致分成下列两种: 1.系统池(system pool):如果能确定讯息伫...