数学建模——模型灵敏度分析
作者:Peter韓
资料参考:数学建模老哥
1 什么叫模型灵敏度分析
灵敏度分析,是研究与分析一个系统(或模型)的状态或输出变化对系统参数或周围条件变化的敏感程度的方法。
- 改变模型的某个参数,引起这个模型输出的变化的程度
eg. 一头牛重200斤,每天增重5斤,饲料每天花费45元。牛的市场价是每斤65元,但目前行情不好,每天下降1元,求出这头牛的最佳销售时间。
这是一个简单的单变量优化问题。求这头牛的最佳销售时间,就是求卖出价格最高的时间,为了求出这个时间,我们假设:销售时间t,牛的重量w,牛的价格p,饲料花费C,卖出牛的收益R,净收益P
于是有,P=R-C,其中R=P*w,C=45t,即得到的净收益模型如下:
P=(65-t)(200+5t)-45t …(1)
容易得出,当t=8时,P取最大值13320元。”每天下降多少块钱“是由市场决定的,不易非常好地预估。在此题中该量变化的可能性最大,应当着重分析。
- 常数变量容易产生变化且不好预估的应当是灵敏度分析的重点
其实,大多数情况下,问题到这里就已画上句号。但是在现实生活中,稍微细心一点,我们会发现在上述模型的参数中,牛的重量、当前市场价格、每天饲料钱是很容易测量的,即确定性较大,但牛的生长率和市场价格的下降率两个参数不是那么好确定,例子中虽然规定了市场价格下降r=1元/天,但实际中,每天的r都是不一样的。
- 灵敏度分析不必考虑所有,只关心最重要的几个因素即可
于是,我们会有一个疑惑——是不是对于所有的市场价格下降率,这个模型都适用?
为了消除疑虑,我们选取原下降率周围的几个数 r=0.8, 0.9, 1.0, 1.1, 1.2。根据上述公式(1),分别得出t=15, 11, 8, 5, 3。
- 这里数据的变动越小,反映的是模型稳定程度更高,模型的效果更好。
灵敏度分析,就是将市场价格下降率【公式】作为位置参数,计算最佳卖出时间t和r的关系。这时候,将例子中的”每天下降1元“改为”每天下降r元“,净收益模型就变为:
P=(65-rt)(200+5t)-45t
P对t求导,令dP/dt=0,得:
t=(28-20r)/r …(2)
至此,我们已经得到了一种灵敏性关系——r-t关系,绘制r-t关系图(递减、下凸的曲线,其中r=1.4左右时,t_best值取0)
公式(2)和关系图的意义在于——作为牛贩子,我能确定一个r-t关系,确保我在不同r下,都能确定最佳卖牛时间。当0<r<1.4时,最佳卖牛时间由公式(2)给出;否则一旦r>1.4时,最佳卖牛时间t<0,也就是说,需要当天就把牛卖掉,这时候饲养牛已经没有任何经济价值了。
实际使用时,我们更多地将这种灵敏性关系表示成相对改变量或百分比改变的形式。
例如,r的10%下降,导致了t的38%的增加。如果t的改变量为Δt,则t的相对改变量为Δt/t,百分比改变量为100%*Δt/t,则相对改变量的比值为Δt/t与Δr/r的比值,令Δr→0由导数定义得:
(Δt/t)/(Δr/r)→(dt/dr)*(r/t)
业内,称极限值(dt/dr)*(r/t) 为 t对r的灵敏性,记作S(t,r)。
仍以上述例题为例,S(t,r)=(dt/dr)(r/t)=(-28/r^2)(r/t)=-28/rt,又已知当r=1时,t=8,故S(t,r)=-28(1*8)=-3.5
对于某些模型而言,本身并不能做出合适的函数(也不能画出对应的函数图像),这时可以考虑将区间内的数据取得很密,数据与数据之间的间隔很小,再借助拟合的相关知识用回归拟合(尽量使用非线性方程拟合,不推荐多项式拟合)的方法得出方程,进而采用上述的步骤求解。
2 常见的需要做灵敏度分析的模型
1 神经网络模型,隐层神经元数量的变化对结果的影响
2 遗传算法/粒子群算法:初始种群规模的大小
3 优化模型:往往需要对决策变量的参数做灵敏度分析
4 预测模型:针对类似于出生率、死亡率、气温等数据做灵敏度分析(题目往往已给出相关数据)
5 评价类模型:对评价指标中表达为变量的指标进行考虑
3 灵敏度分析的基本流程
一般灵敏度分析主要有两种思路:
- 直接改变参数值评估结果的变化(适合求最优值-比如上述老汉卖牛的例子)
- 改变参数值,评估因变量随自变量的变化(适合分析数变动)
针对第一条:
A 首先寻找出待分析的模型参数,将其设置为变量s
B 将其代入到原始方程中,得到新的关系方程,并求导,得出变量x与s的关系
C 绘制x与s的方程,若斜率较小则灵敏度低,稳定性强
D 计算(dt/dr)*(r/t),即可得到最终结果
针对第二条:
A 首先寻找出待分析的模型参数,将其按照固定的间隔变动
B 评估自变量与因变量的变化情况
C 若变动幅度较小,则表示灵敏度差、稳定度高
4 灵敏度分析的注意事项
(1)灵敏度分析不需要对所有模型都做
(2)灵敏度分析针对的是常量但能产生变动的数据
(3)灵敏度分析最好进行绘图描述,更为直观
(4)灵敏度分析一般放在模型优缺点评价前面
(5)灵敏度分析无需占用页面过多,最多一页文章来源:https://www.toymoban.com/news/detail-457444.html
(6)灵敏度分析要结合实际的演算,请勿语文建模文章来源地址https://www.toymoban.com/news/detail-457444.html
到了这里,关于数学建模灵敏度分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!