概念
在數學建模中使用最優化方法時,我們常常會忽略對模型進行靈敏度分析,若缺少這一個步驟,會使得模型的可靠度受到質疑,那到底什麼是靈敏度分析?
參考百度:靈敏度分析,是研究與分析一個系統(或模型)的狀態或輸出變化對系統參數或周圍條件變化的敏感程度的方法。
說人話,就是改變模型(公式)的某個參數,引起這個模型輸出的變化的程度。
舉例說明
一頭牛重200斤,每天增重5斤,飼料每天花費45元。牛的市場價是每斤65元,但目前行情不好,每天下降1元,求出這頭牛的最佳銷售時間。
這是一個很簡單的單變量優化問題。求這頭牛的最佳銷售時間,就是求賣出價格最高的時間,爲了求出這個時間,我們假設:
銷售時間
牛的重量
牛的價格
飼料花費
賣出牛的收益
淨收益
於是有, ,其中, , ,即得到淨收益模型如下:
…………………………………(1)
容易得出當 時, 取最大值13320元。
其實,大多數情況下,問題到這裏就已劃上句號。但現實生活中,稍微細心一點,我們會發現,在上述模型的參數中,牛的重量,當前市場價格、每天飼料錢3個參數都是很容易測量的,即確定性較大,但牛的生長率和市場價格的下降率2個參數則不是那麼好確定,例子中雖然規定了市場價格下降率 ,但實際中,每天的 都是不一樣的。於是我們會有一個疑惑——是不是對於所有的市場價格下降率,這個模型都適用?
爲了消除疑惑,我們分別隨便選取原下降率(1元/天)周圍的幾個數 來進行研究。
根據公式(1),分別得出 ,得下圖:
從圖中可以看出,牛最佳賣出時間 隨着市場價格下降率 的變化而變化,這時候我們稱:牛的賣出最佳時間 對市場價格下降率 是敏感的!
但是究竟有多敏感,就要進行靈敏度分析(敲黑板!!!劃重點!!!)。
靈敏度分析,就是將市場價格下降率 作爲未知參數,計算最佳賣出時間 和 關係。這時候,將例子中的“每天下降1元”改成“每天下降 元”,淨收益模型就變成:
對 求導,
令 的點爲
………………………………………(2)
至此,我們已經得到了一種靈敏性關係—— 關係,繪製 關係圖如下:
公式(2)和上圖的意義在於——作爲牛販子,我能確定一個 關係,確保我在不同下,都能確定最佳賣牛時間 。當 時,最佳賣出時間就由公式(2)給出;當 時, ,這會導致 是一個始終下降的曲線,這意味着,最佳賣牛時間爲 ,也就是說,一旦市場價格下降率 ,需要當天就把牛賣掉,這時候飼養牛已經沒有任何經濟價值了。
然而,在實際使用中,我們更多地是將這種靈敏性關係表示成相對改變量或百分比改變的形式。例如, 的10%的下降,導致了 的38%的增加。如果 的改變量爲 ,則 的相對改變量爲 ,百分比改變量爲,如果 改變了 ,導致 有 的改變量,則相對改變量的比值爲與 的比值,令 ,由導數定義,有
業內,稱極限值就是 對 的靈敏性,記爲 。
靈敏性有啥用?
比如,在這個例子中,有
在點 和 ,
也就是說,在點= ,若市場價格下降率 增加 1%,則最佳賣牛時間 下降3.5%。
結語
本文僅分析了市場價格下降率 和最佳賣牛時間 的靈敏性關係,但可能還存在其他的關係,比如牛的重量增長率和最佳賣牛時間 的關係等,靈敏性分析的成功需要分析者具有較好的判斷力,通常我們不需要對模型中的每個參數都進行靈敏性分析,只需要選擇那些有較大不確定性的參數進行靈敏性分析即可。
參考文獻
數學建模方法與分析(原書第4版)/(美)Meerschaert, M. M. 著;劉來福,黃海洋,楊淳譯.—北京:機械工業出版社, 2014.12:1-9.
—2019/6/18—更新
上述主要是對以下2個問題進行了說明:
- 一個模型爲什麼要進行靈敏度分析?
- 如何進行 靈敏度 分析 ?
這次更新目的是說明第3個問題:如何判斷靈敏度分析的效果?
先擺出結果:
如果你改變了系統參數後,引起這個模型(公式)輸出的變化的程度不大,則說明你的模型穩定性較強(即靈敏性較差),反之則反!
用上述例子說明,
改變了1%, 僅下降3.5%,這個改變很小,這就可以說明模型較爲穩定;若 改變了1%, 下降了35%,那這個模型絕逼是不穩定的!