打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
转:SAS和蒙特卡罗模拟(1):开篇
SAS for Monte Carlo Simulations (1): Introduction
一、为什么选择SAS做蒙特卡罗模拟?
为什么要用SAS做蒙卡?首先,对我来说,我只会用SAS,而且打算用SAS完成我所有的工作。当然,其他一些通用的理由有(Fan, etc.,2002):
蒙卡是个计算密集的活,而SAS Base、SAS Macro、SAS/IML强大而灵活的编程能力能满足这一要求; 做蒙卡时要用到大量的统计/数学技术,而SAS就内置了大量的统计/数学函数(在 SAS/Stat和SAS/ETS);用Fortran或C++当然也是非常好的主意,只是他们缺少内置的统计函数,代码就要冗长复杂很多。
二、什么是蒙卡?一个启发性例子
好,开始,什么是蒙卡?了解它背景知识的最好办法当然是wiki-Monte_Carlo_method。蒙特卡罗是位于摩洛哥的一家赌场,二战时,美国Los Alamos国家实验室把它作为核裂变计算机模拟的代码名称。作为模拟方法,蒙卡以前就叫统计抽样(statistical sampling),我们感兴趣的结果因为输入变量的不确定而不可知,但如果能依概率产生输入变量的样本,我们就可以估计到结果变量的分布。跟蒙卡对应的,还有一种模拟技术叫系统模拟,包括排队、库存等模型,这些模型都跟随时间推移而出现的事件序列有关。下面举个蒙卡的例子,来自Evans, etc.( 2001)的超级简化版。
假设一家企业,利润是其需求量的函数,需求是随机变量。为了简化讨论,假定利润就是需求的两倍。这里输入变量就是不可控的需求,结果变量就是我们感兴趣的利润。假设需求以相同的概率取10、20、30、40、50、60这六种情况。在这样的简化下,我们就可以投一枚均匀的骰子来产生需求的样本,如果点数为1,对应得需求就是10,点数为2,需求就是20,以下类推。这样,我们的模拟过程就是:
投骰子; 根据骰子的点数确定需求量; 根据需求量,求利润。
掷10次骰子,假设我们的模拟结果如下:
重复次数骰子点数需求量利润
1550100
233060
333060
4660120
511020
633060
744040
8550100
922020
1055050
这样通过模拟需求的样本,我们对结果利润的分布也就有所知晓,比如平均利润可以算出就是63。蒙卡一个重要的步骤就是生成随机数,这里我们是用投骰子来完成。
三、又一个例子:利用蒙特卡罗模拟方法求圆周率∏(pi)
再举个很有名的例子,就是估计圆周率∏的值,来自Ross(2006)。这个试验的思路正好可以帮我们温习一下几何概型的概念。我们知道概率的古典概型,就是把求概率的问题转化为计数:样本空间由n个样本点组成,事件A由k个样本点组成,则事件A的概率就是k/n。考虑到概率和面积在测度上具有某种共性,几何概型的基本想法是把事件跟几何区域相对应,用面积来计算概率,其要点是:
认为样本空间Ω是平面上的某个区域,其面积记为υ(Ω); 向区域Ω随机投掷一点,该点落入Ω内任何部分区域内的可能性只与这部分区域的面积成比例,而与这部分区域的位置和形状无关; 设事件A是Ω的某个区域,面积为υ(A),则向区域Ω上随机投掷一点,该点落在区域A的可能性称为事件A的概率,P(A)=υ(A)/υ(Ω)。
扯远了,回到用蒙卡估计圆周率∏的实验思路。假设样本空间是一个边长为2面积为4的正方形,我们感兴趣的事件是正方形内的一个半径为1面积为∏的圆,所以向正方形内随机投掷一点,落在圆里面的概率为∏/4。实验的思路如下:
1)生成随机数——生成n个均匀落在正方形内的点; 2)对落在正方形内的n个点,数一数正好落在圆里面的点的个数,假设为k(另外n-k个点就落在圆外面的正方形区域内)。 3)k/n就可以大致认为是圆的面积与正方形的面积之比,另其等于∏/4,就可以求出圆周率∏的估计值。
又,Forcode提供了利用电子表格Excel求解以上问题的详细过程,有兴趣可以看看。另外,这里也有一个详细的说明,用Mathematica实现。
四、随机数很重要(以及下期预告)
在第一个例子中,我强调了骰子要是均匀的。那里骰子就是我们的随机数生成器,骰子的均匀程度就是我们随机数的“随机”成分。在上面的10次试验中,投出了3次点数“3”和3次点数“5”,然后点数“1”、“2”、“4”、“6”各出现一次——因为只是重复了10次,这样我们对骰子的均匀程度不好评估,但如果重复无数次——假如是十万次,如果还出现类似比例的结果,那么就有理由怀疑这粒骰子的均匀程度了。如果骰子灌了铅,比如投出点数“6”的可能性从六分之一上升到6分之三,那么根据这粒骰子来做模拟,我们就有高估需求以及利润的危险。
下次就讲讲随机数的生成原理,当然结合SAS来讲,或者也会提一下Excel。
五、其他软件包
在商业领域,基于Excel的插件比较兴盛,比如Crystal Ball应用就较为普遍,有试用版可以下载。其他竞争产品有@RiskRisk Solver等。现在据说Risk Simulator也开始兴盛起来,大有后来居上之势。他的开发者Johnathan Mun还在Wiley Finance系列有一本书,Modeling Risk: Applying Monte Carlo Simulation, Real Options Analysis, Forecasting, and Optimization Techniques
S语言(R或者S-Plus)由于其面对对象的特性,加之丰富的内置函数和诸多用户提供的库,使得R或者S-Plus也是蒙卡研究的得力工具——或者比SAS更有前景。这个我不熟,略之。
---------参考资料---------
Xitao Fan, etc..Monte Carlo Studies: A Guide for Quantitative Researchers. SAS Institute Inc.,2002 Sheldon M. Ross. Simulation(4th Ed).Elsevier Inc..2006 J.R.Evans等《模拟与风险分析》(洪锡熙译,上海:上海人民出版社,2001)
Technorati Tags:SAS,蒙特卡罗模拟,Monte Carlo Simulation
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
高中数学必修3第三章概率试题训练
2016年《南方新课堂·高考总复习》数学(理科) 第九章 第4讲 古典概型与几何概型
随机事件的概率及计算
18
R语言学习笔记(六) -离散型数据的模型预测1
中考数学复习:与面积关联的概率四题,拉一道最新高考题作陪
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服