logo资料库

水晶球软件初级教程.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
水晶球软件 2000 专业版 (Crystal Ball®2000 Professional Edition) 初级教程 摘要 加载在微软公司(Microsoft®)的电子表格软件(Excel®)上的水晶球软件 2000 专业版 (Crystal Ball®2000 Professional Edition)是一个易于使用的软件。它可以帮助你分析 与你的电子表格模型相关的风险和不确定性。这个软件包括蒙特卡洛模拟(水晶球)、时间 序列预测(水晶球预言家)、最优选择(优化查询)和用来构造定制界面和程序的开发工具 箱。由于电子表格缺乏设计和分析可选方案的能力,所以仅用电子表格来估算一个事件发生 的概率是不合适的。而加载了水晶球软件的电子表格模型就能具备这样的功能,从而帮助用 户洞察模型运行和结果产生的机制。本初级教程通过一个媒体产业的实例来演示蒙特卡洛模 拟和时间序列预测工具如何用于一个电子表格模型,为商业决策的内在风险提供更深入的了 解和度量。 1 序言 1.1 电子表格模型和风险分析 风险就是不确定性,是指发生损失、危害和其它不愉快事件的可能性。大多数人偏好低 风险,期待成功、收益或其它形式获利的较高概率。举例来说,如果下个月的销售超过一定 数额(一种令人愉快的事件),那么这些订单会使存货减少,从而导致商品运送的延迟(一 种令人不愉快的事件)。反过来,商品运送的延迟则会导致订单的流失。发生这种情况的可 能性就代表了一种风险。 当使用电子表格模型时,分析家习惯将那些本来不确定的变量用其平均值或其最佳估计 值来输入。这是因为电子表格软件只允许他们在一个单元格内输入一个数值或一个公式。这 些“确定的”模型只能产生一个结果。而模型结果将被用作商业或技术决策的根据。为了把 握模型中本身存在的那些不确定性,分析家只能通过手工方式来改变模型变量,分析它们对 关键结果的影响,来简单地实现“方案分析”。这种方法提供了可能结果的一定范围,但它 无法使人得知那些特定结果出现的可能性。 管理者经常需要知道那些不确定变量分别取什么值的时候,方案会达到一个最佳情况; 或在什么时候,方案会达到一个最差情况;又在什么时候,方案又会达到一个最可能情况。 那些包含不确定性因素的实际问题,绝大部分都是很复杂的。为了计算每一种可能发生的结 果,就需要将所有输入变量的各种可选数值进行组合。对于复杂的实际问题,这种组合的数 量是非常庞大的,很难一一实现。因此在实际问题中,这种办法很难奏效。 1.2 蒙特卡洛模拟 为了解决电子表格模型在风险分析方面存在的局限性,蒙特卡洛模拟是一个现成的办 法。由于电子表格软件本身不具有模拟运行和模拟分析的能力,所以用户必须依靠象水晶球 软件这样一些加载在电子表格软件上的第三方程序,来扩充电子表格软件的功能。针对电子 表格软件,水晶球软件增加了两项功能:一是用概率分布来替代单个数值,二是可以进行模 型的随机模拟。通过水晶球软件,可以生成量化的基于概率的电子表格模型,例如可以得到 “以 75%的概率保证在预算内”或“某一水库装满一亿桶油的可能性有 90%”这样的结果。 蒙特卡洛模拟是一项已被确认正确并且行之有效的技术。它只要求计算机具有一个随机 1
数表或一个随机数生成器。我们可以通过数学方法来产生服从某一概率分布的随机数。蒙特 卡洛模拟是用一个城市的名字来命名的。这个城市就是摩纳哥的蒙特卡洛,它以充满各种冒 险游戏的赌场而闻名,常见的赌博游戏有轮盘赌、投掷骰子、老虎机等。 在蒙特卡洛模拟中,为了模拟一个模型,需要随机选择变量的取值,这与赌博中的随 机现象很相似。当你投掷一个骰子时,你知道会出现 1、2、3、4、5 或 6 中的某一点,但你 不知道具体某一次投掷时会出现哪一个点。与投掷骰子相同,随机变量(例如利率、需求量、 股价、存货量、每分钟电话呼叫次数)的取值范围是确定的,但在具体某一时间或某一事件 时,取到的值是不确定的。模拟可以产生大量的方案,通过分析这些方案,可以深入了解电 子表格模型中蕴涵的风险和机理。只要使用得当,蒙特卡洛模拟就能展现非常有价值的视角, 而这是确定性模型所得不到的。 2 水晶球软件 2000 专业版 水晶球软件 2000 专业版是一个办公软件套件,以基于电子表格的分析工具为特色,包 括蒙特卡洛模拟(水晶球)、时间序列预测(水晶球预言家)和最优选择(优化查询)。该套 件 还 包 括 水 晶 球 和 水 晶 球 预 言 家 开 发 工 具 箱 , 采 用 VBA 语 言 ( Visual Basic for Applications)来构建用户界面和程序 2.1 水晶球 水晶球是一个易于使用的电子表格插件,被设计用来帮助不同水平的 Excel 电子表格用 户来进行蒙特卡洛模拟。水晶球可以让用户在不确定性模型变量上定义概率分布,然后通过 模拟,在定义的可能范围内产生随机的数值。电子表格用户能产生和分析成千上万种可选的 方案,量化任意给定方案的风险水平。水晶球可用于各种现成的或新建的电子表格模型,同 时其提供的增强功能不会改变原有电子表格模型中的公式或函数。水晶球还包括一些水晶球 工具,它由七个向导驱动的插件组成,可以帮助我们建立和分析模型。这些工具包括靴带分 析(Bootstrap)、旋风图分析(Tornado Analysis)、方案分析(Scenario Analysis)、二 维模拟(2D simulation)和分批拟合(Batch Fit)。 2.2 水晶球预言家 水晶球预言家是一个向导驱动的 Excel 插件,通过时间序列预测来指引你的工作。水晶 球预言家分析你的数据序列,并使用数据的水平、趋势、季节和误差来预测数据序列的未来 值。水晶球预言家对数据采用八种不同的季节性和非季节性的时间序列预测方法,并当主要 数据序列依赖于其它一些独立数据序列时,能采用多重线性回归。产生的预测结果可以被定 义为水晶球的假设单元,并用于蒙特卡洛模拟。 2.3 优化查询 优化查询是一个专为水晶球设计的全局优化插件。它通过自动搜索并找到模拟模型的 最优解决方法,从而增强了水晶球的功能。优化查询采用多种技术的混合,包括分散搜寻和 先进的禁忌搜寻方法,来找到决策变量的合适组合,以取得最佳的可能结果。当程序运行时, 自适应和人工神经网络技术帮助它从过去的优化运算中自我学习,从而使其在更短时间内达 到更好的结果。一个安装向导可以帮助用户定义约束条件、目标函数和要求,甚至设定一个 有效的边界选项。本初级教程将不涉及优化查询的使用。 2.4 开发者工具箱 通过 VBA 程序或任何其它 Excel 支持的外部语言,水晶球和水晶球预言家开发工具箱 可以让用户完全自动运行和控制水晶球的模拟过程和水晶球预言家的预测过程。这个工具箱 包括开启水晶球和水晶球预言家编程能力的宏指令与宏函数库。通过该工具箱,用户能自动 运行多重模拟来测试不同假设单元的组合,整合水晶球和其它软件工具,生成 TURNKEY 应用 来避免用户涉及程序的复杂机构,甚至构建定制的报告或完成模拟后的自动分析。本初级教 2
程将不涉及开发工具箱的使用。 3 关于科罗拉多有线电视的实例 本初级教程将展示模拟和预测是如何改进一个商业决策的。在这个实例中,将看到如何 从一个历史数据序列进行预测、定义概率分布、运行蒙特卡洛模拟和进行模拟结果的分析和 报告的。这里描述的实例可以从决策工程公司的网站(地址参见附件)上免费下载。在实例 的最后,将会得到取胜的关键因子的统计分类、新产品底线状况的分析和如何得到一个清楚 表达你的发现的报告。 科罗拉多有线电视是一家本地有线电视供应商,正在考察一项被称作互动电视(ITV) 的新技术。互动电视将根据需要提供内容——电影、体育比赛和新闻。科罗拉多有线电视相 信本地观众会接受这项服务,但认为下滑的经济会导致一些无法预知的风险。 管理层已要求对互动电视做一个从 2004 年到 2009 年的预测模型。他们想在制定该项重 大投资决策之前,能更好地了解这种新技术的销售和市场潜力。互动电视是否真的具有足够 的发展潜力来推向市场?六年之后该项目的净现值(NPV)会是多少呢? 3.1 建立模型,指定不确定因素 首先,需要建立一个有效的、可检验的决策模型,这个模型能尽可能地表示互动电视的 销售方案。模型的建立需要团队合作,同时需要仔细收集数据和建立模型。这样,才能针对 互动电视的市场潜力,建立一个现实的、基本的模型。该模型(图 1)显示了科罗拉多有线电 视的三个现有产品(有线电视、卫星电视和广播电视)的市场份额和规模,外加所期待的互动 电视项目的市场份额和规模。 图 1:科罗拉多有线电视公司电子表格模型 然后,需要估计互动电视项目的收入和成本,并且得出一个六年期的净现值。基于上 3
述决策估计,净现值的期望是 5100 万美元(其中年利率为 10%)。但上述结果的可能性有多 大呢?能产生出比 5100 万美元更大的净现值的概率是多少呢?等于、小于 5100 万美元的概 率又是多少呢?水晶球预言家和水晶球将会帮助你回答这些问题。 3.2 启用水晶球 模型设计和检验之后,可以通过视窗操作系统(Windows)的开始菜单打开水晶球和 Excel 软件。水晶球软件在 Excel 软件上加载了一行新的工具栏和三个新的菜单项。工具栏 (图 2)上的按钮从左到右以建模过程(设置、模拟、结果的分析和表达)来排列。最后一个按 钮用作在线帮助。 1 2 3 4 5 6 7 8 9 10 图 2:工具栏按钮:(1)定义假设 (2)定义预测 (3)运行属性 (4)运行 (5)停止 (6)单步执行 (7)预测 窗口 (8)灵敏度分析 (9)生成报告 (10)帮助 三个新增的菜单项包含了所有工具栏上的功能,另外还有一些其他功能。单元菜单包 含了所有模型的设置功能。运行菜单包含了所有的模拟和分析功能。最后一个菜单是水晶球 工具,用以打开专业版上的一些其它工具。 3.3 用历史数据预测家庭数 2004 年后,该地区的潜在客户(即那些有可能需要科罗拉多有线电视服务的家庭数) 是不确定的。尽管实际增长速度比较难估计,但根据这一地区 20 年的历史数据,可粗略估 计出每年新增的拥有电视的家庭数为 50000 户。因为该数据存在时间的成分,可以用水晶球 预言家来得作更精确的时间序列预测,从而代替刚才粗略的估计值。 为了运行水晶球预言家,选中计划要进行预测的数据序列中的任何单元格,通过水晶球 工具菜单打开水晶球预言家程序。该程序前面的四个步骤可以帮助你定义、组织和观察数据。 自相关性可用于判断数据是否具有某种季节性(显示出周期性变化)。本例中的历史数据是 年度数据,不存在季节性,家庭数呈现增长的趋势。 方法画廊(Method Gallery)以图画方式提供了八种时间序列预测方法,允许你选择其 中任何一种,或选择全部方法来对你的数据作比较。这些方法被分成季节性和非季节性两种。 双击每个方法的图画,可深入了解该方法的作用。方法画廊对每种方法都自动给出误差统计 方法或参数,供你缺省使用。由于本例中的数据是单一、独立的,不需要进行多重线形回归。 输入预测的时期(本例为年)为 5,选择置信区间选项为 5%和 95%。在准备过程的任何 时候,水晶球预言家都可以让你预先浏览预测结果(图 3)。 图 3:已有家庭数的时间序列预测 4
对于这组家庭数的数据,水晶球预言家自动选择二次指数平滑法作为最佳的预测方法。 在这之前,水晶球预言家已经检查了这组历史数据,使用每一种非季节性方法来作拟合,挑 出了拟合效果最佳、误差最小的方法,进而预测了未来五年的趋势,并计算了 90%的置信区 间。 在预览窗口中,你可以选择输出图表和数据的格式。水晶球预言家能将预测值生成为 一个正态分布。当你运行了预测之后,你可以将这些分布复制并粘贴到电子表格中家庭数预 测单元格上去。通过如上更精确的时间序列预测,净现值增加到了 5300 万美元。 3.4 定义水晶球假设单元 在水晶球中,概率分布被看作“假设单元”,是基本的输入量,被用来定义任何模型变 量的不确定性。怎样识别那些需要从单个值变为概率分布的变量?最好的方法就是看看哪些 变量是明确的,而哪些变量是“不硬”的或者说是不确定的。在这个模型中,市场占有率、 首期投资额和每年的运行费用都是水晶球假设单元的主要候选对象。 为了定义一个假设单元,先选中一个电子表格变量,再单击工具栏中的“定义假设”按 钮。在分布画廊(图 4)中,水晶球提供了 16 种预先定义好的分布和一种可由用户定制的 分布。四种最常用的假设单元分别是正态分布、三角形分布、均匀分布和对数正态分布。 图 4:分布画廊 水晶球软件还可以对已有数据作连续分布的拟合,并可以定义相关假设单元间的相关系 数。在这个例子中,你可以根据掌握的知识和直觉来定义假设单元。当你对一个变量了解得 越多,你定义的分布就越准确。 3.4.1 市场占有率 2004 年的市场占有率估计为 2%,但这一数字也可能低到 0%,或高到 3%。单击定义假设 按钮,选择三角形分布。对于最大值、最小值和最可能值已知的情况,用三角形分布来描述 是非常好的。图 5 显示了如何对互动电视 2004 年市场占有率建立一个三角形分布的假设单 元。如果获得的是百分位格式的数据,你也可以选择百分位法来定义该分布。 图 5:用三角形分布定义互动电视的市场份额 5
同样,利用表 1 的数据,可将互动电视 2005—2009 年的市场占有率分别用三角形分布 来定义。虽然你希望市场占有率每年都增长,但实际上不可能如基本模型预言的那样稳定增 长。假设单元可以让你建立那种随时间推移的不确定性。 表 1 2005—2009 年互动电视市场份额的不确定性 年份 最小值 最可能值 最大值 2005 2006 2007 2008 2009 0% 0% 0% 0% 0% 7% 10% 15% 20% 25% 10% 15% 20% 30% 35% 3.4.2 首期投资额 正态分布,它的曲线形状象一口钟的外形,常用来表示那些自然生成的随机变量。正 态分布随机变量存在一个最可能的值,左右对称,取值较集中在平均值附近。在基本模型中, 首期投资额被估计为 1 亿美元。而真实的投资额会接近 1 亿美元这一平均值,但也有可能高 到 1.3 亿美元,或低到 7000 万美元。平均值为 1 亿美元、标准差为 1000 万美元的正态分布 能更准确地描述这一变量(图 6)。 图 6:用正态分布定义首期投资额 3.4.3 年度运行成本 最后还有六年中每年的运行成本。在基本模型中,预计每年成本以 100 万美元增加。利 用水晶球软件,可以将这些变量定义为正态分布,它们的标准差为 100 万美元。而每个正态 分布的平均值,可通过单元格引用的办法来直接包含电子表格中的相应数据(图 7)。 图 7:采用单元格引用方式的正态分布定义 2004 年的运行费用 6
3.5 定义一个预测单元 在定义完所有的输入变量(假设单元)后,你需要定义输出变量,输出变量在水晶球中 称之为“预测单元”。预测单元是你指派水晶球软件在模拟过程中跟踪的一个公式单元。像假 设单元一样,可以定义的预测变量的个数是没有限制的,当然个数越多就会消耗越多的内存。 本模型只有一个预测单元,即净现值(NPV)。选中该单元格,单击预测单元定义按钮,打开 预测单元定义对话框(图 8),输入一个唯一的名字,然后点击 OK 按钮即可。 图 8:定义一个预测单元 3.6 运行蒙特卡洛模拟 3.6.1 设置运行属性 水晶球软件可以让你对模拟属性进行全面的控制。可以设置的运行属性包括:运行的试 验次数、使用什么样抽样方法、在模拟循环中的任何时刻和地点运行宏、选择提高模拟速度 的方式以及精度控制。精度控制是一种置信度检验的方法,是在模拟统计的基础上让预测的 准确性达到所需的水平。 抽样方法有两种:蒙特卡洛抽样和拉丁超立方抽样。使用蒙特卡洛抽样方法,产生的随 机数相互之间是完全独立的。而使用拉丁超立方抽样方法,水晶球会把假设单元的概率分布 分成等概率的几个区间,区间的个数由你自己定义,在模拟中为每一区间产生一系列的随机 数。本例的蒙特卡洛模拟进行 2000 次试验。 3.6.2 检验和运行模拟 在开始模拟之前,你可以通过单击工具栏中的单步运行按钮来检查模型是否正确。在水 晶球软件中,每一步表示一次随机试验。在每一步中,水晶球软件为每一个假设单元产生一 个随机数,Excel 会自动重新计算模型。当模型为可选方案进行重新计算后,你可以通过检验 来发现是否有计算错误。 在模拟中,水晶球软件按照你要求的次数来进行大量的试验,同时将预测值保存起来, 留作后面的分析用。要运行模拟,首先单击工具栏中的开始模拟按钮。当模拟开始时,净现 值(NPV)预测(或频率)图表就被建立了起来,当水晶球把随机产生的值(来自概率分布) 嵌入假设单元时,电子表格中的值也会同时变化。 3.7 预测图表 2000 次试验完成之后,可以使用预测图表来分析这些结果。预测图表是一个包含所有 图 9:净现值的预测图表 7
2000 次试验的统计数据的交互式直方图。原先预计的 5100 万美元出现的可能性有多少呢?根 据模拟结果(图 9),只有大约 8.8%的把握达到或超过你原先估计的净现值。达到 5300 万美 元(从家庭数历史数据作预测后计算出的净现值)的概率会更小。另外,在图表左范围框中 输入 0,可以得到大约有 60%机会能做到不亏。 统计数据视图(图 10)能帮助你得到更多的信息。从峰度(Skewness)和偏度(Kurtosis) 的数值可以看出,模拟结果比较接近正态分布。其标准差是 330 多万美元,极差是 2 亿 3000 万美元。极差为什么有这么大呢?水晶球软件的敏感度分析能找出引起结果变化的关键因素。 图 10:净现值预测单元的统计数据视图 3.8 灵敏度分析 当模拟运行时,灵敏度分析使用等级系数法来动态计算 13 个假设单元对预测单元的影 响。灵敏度图表将这些影响表示为相关系数或百分比值的形式。列在图表最上面的假设单元 对净现值的影响最大,条形图的方向表明该影响是正影响还是负影响。 在本例中,2006 年到 2009 年的市场份额对净现值的影响最大(图 11)。在这项研究中, 最后几年的市场份额取得比较大(表 1)。这样的假设合理吗?如果缩小这些分布的范围,重 新运行该模拟会发生怎样的情况呢?通过提出上述这些问题,你就会明白,模拟和灵敏度分 析可以如何帮助你关注模型中起最重要作用的那些因素。模拟建模是一个不断反复的过程, 开始的结果可能显示互动电视项目不会达到预期的效果,但通过对模型中起关键作用的因素 的了解,能帮助你改进该模型,并将内部风险转移出去。 图 11:净现值的灵敏度分析图表 3.9 保存结果 当对模型和模拟的结果感到满意后,你有两种方式将其保存成文件。第一种方法是将模 拟结果、图表和变量生成一个可打印的报告。这个包含 Excel 图表的报告文件可以保存为一 8
分享到:
收藏