天天看點

數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?

數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?

—2019/6/13—

概念

在數學模組化中使用

最優化方法

時,我們常常會忽略對模型進行

靈敏度分析

,若缺少這一個步驟,會使得模型的可靠度受到質疑,那到底什麼是靈敏度分析?

參考百度:靈敏度分析,是研究與分析一個系統(或模型)的狀态或輸出變化對系統參數或周圍條件變化的敏感程度的方法。

說人話,就是

改變模型(公式)的某個參數,引起這個模型輸出的變化的程度

舉例說明

一頭牛重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個問題進行了說明:

  1. 一個模型為什麼要進行靈敏度分析?
  2. 如何進行 靈敏度 分析 ?

這次更新目的是說明第3個問題:

如何判斷靈敏度分析的效果?

先擺出結果:

如果你改變了系統參數後,引起這個模型(公式)輸出的變化的程度不大,則說明你的模型穩定性較強(即靈敏性較差),反之則反!

用上述例子說明,

數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?
數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?

改變了1%,

數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?

僅下降3.5%,這個改變很小,這就可以說明模型較為穩定;若

數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?

改變了1%,

數學模組化靈敏度分析_數學模組化中的靈敏度分析,到底在分析什麼?

下降了35%,那這個模型絕逼是不穩定的!