敏感性分析
敏感性分析(Sensitivity Analysis)是一种系统地评估模型或决策对输入参数变化的响应程度的方法。通过这种分析,可以识别哪些输入参数对输出结果影响最大,从而帮助决策者更好地理解系统的行为,优化模型或决策的可靠性。
敏感性分析是一种分析技术,它基于假设分析(例如独立因素如何影响相关因素)工作,并用于预测在某些条件下执行分析时的结果。
类型
敏感性分析观察因变量对过程中使用的自变量值的变化的敏感程度。进行此分析可帮助用户确定自变量的不确定性如何使财务模型受到一定程度的不确定性的影响。
它类似于假设方法,分析师了解如果场景发生变化,模型或假设会发生什么。这种技术被金融行业的分析师广泛使用,因为他们可以确定或评估当自变量对波动敏感并可能导致因变量相对于波动发生变化时,金融模型的表现如何。
1. 局部敏感性分析(Local Sensitivity Analysis)
局部敏感性分析是通过在某一特定点附近对模型输入参数进行微小变化,观察输出结果的响应程度来评估系统敏感性的分析方法。这种方法通常假设模型关系是线性或近似线性的,适用于输入参数变化范围较小的情况。
局部敏感性分析方法
局部方法仅研究参数在一个基准值附近的小幅变化对输出的影响。
a. 单变量变化法
方法:保持所有其他参数固定,仅改变一个参数,观察输出的变化。
公式:𝑆𝑖=Δ𝑌/Δ𝑋𝑖 ; Si 是参数 Xi 的灵敏度;
ΔXi和 ΔY分别为输入和输出的变化量。
优点:简单直观,计算量小。
缺点:未考虑参数间交互作用,只适用于线性模型或局部线性近似。
b. 局部偏导数法
方法:计算模型输出对每个输入参数的偏导数,评估其敏感性。
公式:𝑆𝑖=∂𝑌∂𝑋𝑖
优点:适合连续函数模型。
缺点:需要模型是可微分的,且可能忽略参数间交互效应。
应用举例
a. 线性回归模型
目标:分析因变量 yyy 对每个自变量 xix_ixi 的敏感性。
方法:调整某一自变量值(如增加 1%),观察 yyy 的变化量。
b. 环境建模
在生态系统模拟中,调整污染物浓度或降雨量,评估对水质指标(如溶解氧浓度)的影响。
c. 药物动力学模型
评估药物剂量(输入参数)的小幅变化如何影响血药浓度(输出结果)。
2. 全局敏感性分析(Global Sensitivity Analysis)
全局敏感性分析是指评估模型输出对输入参数在其定义范围内变化的整体响应程度。与局部敏感性分析不同,全局敏感性分析不局限于参数某个固定点附近,而是全面考虑输入参数在整个变化范围内的影响,能够揭示系统的复杂非线性关系和参数交互效应。
全局敏感性分析的方法
a. 方差分解法(Sobol 方法)
核心思想:通过分解模型输出的方差来量化每个输入参数及其交互项对输出的贡献。
结果:生成一阶敏感性指数(单独参数的影响)和总效应敏感性指数(参数的总影响,包括交互作用)。
工具:Python 的 SALib 库,MATLAB 的 Sobol 分析工具。
b. 蒙特卡洛模拟法(Monte Carlo Simulation)
核心思想:通过随机采样输入参数空间中的值,模拟大量模型运行结果,统计分析输出对输入的敏感性。
工具:Python 的 numpy.random 和 SALib。
c. 基于拉丁超立方抽样(Latin Hypercube Sampling, LHS)
核心思想:将输入参数的变化范围分成等概率区间,分层抽样以减少采样偏差。
工具:MATLAB、Python(pyDOE 或 SALib 库)。
d. 多目标灵敏度分析
核心思想:对于多目标模型,分析输入参数如何影响多个输出目标之间的权衡和优化。
应用领域:工程设计、环境模拟。
e. 回归和相关分析
核心思想:通过统计回归分析或相关系数评估输入参数对输出的影响。
局限性:对非线性关系的描述较弱。
全局敏感性分析的应用
工程设计:优化系统设计参数(如机械部件的尺寸和材料)。
环境建模:分析生态系统对气候变量(如降雨量、温度)的敏感性。
经济模型:评估经济政策变量(如税率、通胀率)对GDP的影响。
医学领域:评估药物剂量对治疗效果的全范围影响。
数字健康研究:分析数字健康工具的功能(如推送频率、奖励机制)对用户行为的总体影响。
如何在 Excel 中进行敏感度分析
Excel 是进行敏感度分析的实用工具。以下是一般步骤:
1. 构建财务模型以计算基线产出,例如净收入。
2. 为主要价值驱动因素创建输入变量,例如单位销售额、单价、每单位可变成本、固定成本、税率等。
3. 保存基线模型的副本。然后一次更改一个输入变量,更改固定量,例如 10%。重新计算新输出。
4. 对每个输入变量重复步骤 3。每次记录新的输出值。
5. 比较输出范围以确定哪些输入的影响最大。在 Excel 中生成图表以可视化敏感度分析。
6. (可选)使用 Excel 数据表自动执行该过程。
7. 更复杂的输入可以在 Excel 中使用索引等工具进行建模,或者与数据验证或 VBA 工具(如组合框)一起选择。
下面,是创建的一个营业损益表的敏感性分析示例,使用 Excel 的数据分析函数来执行分析:
(图片来源于网络)
要实施敏感度分析 DATA TABLE:
1. 输入营业收入 (=D14) 的单元格参考作为表 (D17) 的起始值,并在下方(C18 到 C21)中输入敏感度方差因子。
2. 选择您的敏感度因子和营业收入列 (C17:D21)
3. 将 Excel 菜单功能区导航到 Data(数据)、What if analysis(假设分析)、Table(表),您将看到以下对话框。
4. 将初始敏感因子 (D9) 的单元格输入到“列输入单元格框”中。按 OK。
5. 然后 Excel 将执行你的敏感度分析:它将逐个获取您的敏感度因子(从 C18 到 C21),将它们输入到你给定的敏感度因子 (D9) 中,然后从(D17,表格顶部的单元格)返回相应的结果。它会将结果输出到被测试的 input 旁边的单元格中。通过使用初始表将它们逐个输入到 D9 中来单独尝试它们。
优势和弊端
优 势
1. 深入分析:假设分析研究自变量和因变量之间的关系。它还研究因变量对自变量变化的敏感性。在此过程中,建立了因果关系,这有助于改进从模型中得出的结论。
2. 管理不确定性:模型充满了不确定性。仿真分析有助于识别、归因和分析模型中不同来源的不确定性的影响。
3. 变量的重要性:用户可以根据输出对它们的敏感程度来确定不同自变量的重要性。然后,他们可以专注于关键变量,以努力实现最佳结果。
4. 更可靠的结果: 彻底研究输入及其对结果的影响有助于做出更加一致和可靠的预测。
5. 决策:模拟分析有助于做出有数据支持的预测,因为需要研究各种可能的输入和结果。这为决策者提供了一个整体图景,从而有助于做出更好的决策。
6. 改进模型: 对输入的全面分析可以帮助识别和修复模型的缺点,使其更加可靠。它列出了模型的限制和范围,从而帮助修复错误。它还有助于验证模型背后的基本假设是否合理。
7. 增加可信度: 测试具有宽输入范围的模型可以提高模型和预测的可信度。
弊 端
1. 输入太多:有些模型可能非常复杂,使得分析每个输入和输出之间的关系变得不可行。在运行假设分析之前,筛选可能会降低维度(通过减少输入的数量)。
2. 多重共线性:此分析忽略了自变量之间的相互关系。例如,结果 m 可能取决于变量 x 和 y,它们可能是相关的。但是,这些变量将在仿真分析中单独检查,并且它们的相关性将被忽略。
3. 史料:它使用历史数据来建立关系。但是,这为错误留下了很大的空间,因为这可能不是对未来进行估计的好方法。此外,可能存在新的外部因素,这些因素在过去没有影响关系,但可能会影响未来关系。
4. 假设:我们必须做出假设,因为它是基于历史数据的。这些假设有时可能不合理,因此在用于模型之前必须对其进行验证。
5. 所需时间: 运行模拟需要大量时间和计算资源。加速模型并减少运行次数可以减少总时间。这可以通过元模型(也称为仿真器)来实现。
END