模型灵敏性分析总结

建模过程会对问题做一些假设,需要考虑所得结果对每一条假设的敏感程度以及各个参数的敏感程度。

灵敏性分析常常是根据对数据提出的假设做分析,将灵敏性数据表示成相对改变量或者百分比改变的形式,要比表示成绝对改变量的形式更自然也更适用。

一个模型称为稳健的,是指即使这个模型不完全精确,由其导出的结果也是正确的。稳健性分析常常是针对模型的某些理想化假设做分析。

寻找限制性因素(瓶颈)或者寻找最急切需要改变的量都可以用灵敏性分析

注意所有的分析最好都结合实际说明为什么可能出现这种情况,并且说明对应现实中的结果将如何改变。如果没有这些意义也可以,不过就仅仅是对模型本身进行分析了。

决策型模型

  1. 由于风险因素的存在,有必要研究几种可供选择的方案。
  2. 决策改变的临界点。
  3. 各参数的改变对决策时选择的各种值有什么影响。
  4. 将假设的定值定为变量。

优化型模型

  1. 线性关系一般都是由假设得来,如果采取非线性函数(改变函数形式),则线性化的模型在多少范围内是有效的。
  2. 对于线性优化,可以改变限制的资源量的改变求得其影子价格,提出在何种情况下应当引入更多的资源。(只用分析关键约束的影子价格,或者影子价格为0得出其为非限制性因素)
  3. 线性规划还可以求得优化点改变的临界条件,以及限制因素改变的临界条件。
  4. 各参数的改变对结果有什么影响。

动态模型

  1. 各参数的改变对结果有什么影响。
  2. 动力学
    探究初始状态的改变使结果发生改变的临界点
    探究平衡态附近的变化规律、是否稳定(画图来看、用向量场/相图描述)
    稳定性探究可以用某个方程(详细见《数学建模方法于分析》P105)
    还可以探究一下什么时候出现混沌现象,即探究其收敛域(混沌动力系统对初始条件有着异常的灵敏性P149)
    除了內源因素,还要考虑外源因素,对动力系统分析会造成什么影响,最好能找到现实中存在的事件,说明这种事情发生的可能性
  3. 对于用数值方法求解微分方程组,不论用哪一种数值方法,一定要通过对控制精度的参数进行灵敏度分析来检验结果

概率模型

  1. 对独立性假设做稳健性分析。(一般都会假设变量独立,因为通过中心极限定理假设为正态分布时,独立性是前提)。可以假设为后一个增加量的数量受到当时拥挤程度的影响,可以参考马尔科夫链的无后效性思想,引入一个矩阵描述下一刻增量与当前拥挤程度的关系
  2. 各参数的改变对结果有什么影响。

线性回归/时间序列

  1. 各参数改变对结果有什么影响。
  2. 如果少了一个变量,R方和残差有什么影响(一般是残差变大,R方变小,R方代表携带的信息量)
  3. 残差图,对残差趋势进行分析,说明回归/拟合的合理性。
  4. 去掉残差较大的一些点,检测稳定性。
  5. 时间序列与之类似,不过可以计算残差的自相关函数,检验残差是否是白噪声序列来检验函数是否包含所有的时间序列相关性。
  6. 时间序列增加更多的预测因子,检验是否会产生较大的变化。
  7. 线性回归做齐方差/异方差检验
  • 18
    点赞
  • 193
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python灵敏度分析是指对一个模型输出中的不确定性进行研究,并进一步判断不确定性的来源,即研究哪个输入参数的改变造成的输出变化的程度大小。它是数学建模过程中的一个常规步骤。在Python中,可以使用各种库和工具进行灵敏度分析。 常用的Python库和工具包括: 1. SALib(Sensitivity Analysis Library):这是一个用于进行全局灵敏度分析的Python库。它提供了多种方法来计算不同参数对模型输出的影响程度,如Sobol'指数、Morris方法等。 2. Statsmodels:这是一个用于统计建模和计量经济学分析的Python库。它提供了各种统计方法来分析参数的影响程度和变化对模型输出的影响。 3. Matplotlib和Seaborn:这是两个常用的数据可视化库,在灵敏度分析中可以使用它们来绘制参数敏感度图、散点图等,以直观地展示不同参数对模型输出的影响。 对于灵敏度分析的实施步骤,可以按照以下流程进行: 1. 定义模型:首先需要定义一个数学或统计模型,该模型描述了输入参数如何影响输出。 2. 设定参数范围:确定每个输入参数的取值范围和步长。 3. 运行模型:使用给定的参数值运行模型,并记录输出结果。 4. 分析结果:使用灵敏度分析方法,如Sobol'指数、Morris方法等,计算每个参数对输出的影响程度。 5. 可视化结果:使用数据可视化工具,如Matplotlib和Seaborn,绘制参数敏感度图、散点图等,以更直观地展示不同参数对模型输出的影响。 6. 解读结果:根据分析结果,判断哪些参数对模型输出的影响程度较大,哪些参数对模型输出的影响程度较小。 需要注意的是,灵敏度分析是一种相对的分析方法,它主要用于比较不同参数对模型输出的影响程度,而不是给出绝对的数值。因此,在进行灵敏度分析时,需要考虑多个输入参数的相互作用和可能的误差范围。 总结起来,Python灵敏度分析是通过使用相关库和工具对模型输出中的不确定性进行研究,并计算不同参数对输出的影响程度。可以按照定义模型、设定参数范围、运行模型分析结果、可视化结果和解读结果等步骤进行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超威橘猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值