評價問題中的AHP演算法
思路點睛
視頻教學
演算法講解
經驗分享
數模趣談
——阿蜂助力之演算法講解
對於評價類問題
層次分析法為常用的處理演算法
該篇推文以某寶購買產品為例,講解處理方法:第一步建立層次結構模型,第二步構造成對比較矩陣,第三部進行一致性檢驗,第四步進行層次總排序,從而完成此次的層次分析法的教學。
使用演算法:層次分析法(AHP)
AHPAnalytic Hierarchy Process
難度評價:★★★/(5×★)
全文字數估計:2800字
建議閱讀時長:約12分鐘
知識速覽
當你點開推文,很幸運與你相遇
當你看到這時,很開心和你相識
這裡是阿蜂講堂
詳細講解、不容錯過的演算法教程
一花一世界,一周一演算法
是的!演算法教程,一鍵啟動!
*
演算法背景:
你是否曾遇到這樣的問題:某寶上購買一款產品,因廠商多品牌多,特色不同,導致選擇困難?綜合價格、質量、外觀、品牌力等因素,如何選擇適合你的那一款?
這個時候如果有評分榜對產品進行一個評價打分,是不是就簡單了不少。
在數學建模的過程中,諸如此類的評價類問題十分常見,而層次分析法則是一種常用的處理評價類問題的方法,這裡阿蜂主要對如何使用層次分析法做簡單介紹。
壹
什麼是層次分析法
1) 概述
人們在處理一些決策問題的時候,往往需要作出比較、判斷、選擇,但是這些判斷的因素的重要程度往往難以量化,就比如在我們購買產品時,難以說明價格更重要還是功能更重要——這是因為我們的主觀選擇起著相當重要的作用。如果我們認為價格的重要性是功能重要性的三倍,那我們把價格乘三,功能乘以一,兩者相加就可以得到對這件產品的一個評分了,對所有產品的評分進行排序就可以得到最適合我們的商品啦。
那如果不僅僅考慮價格和功能,還要考慮外觀、質量等因素,我們又該如何確定各個因素在評分中所佔據的比例呢?
2) 選擇演算法
這就難以用一般數學方法來解決問題。於是T.L.Saaty等人提出了一種能有效地處理這樣一類問題的實用方法,稱為層次分析法。
3) 適用範圍
解決多目標、多準則或無結構特性的複雜決策問題。比如我們要買閱讀器,有多款產品可供選擇,產品又由價格,功能等多準則決定,就可以採用層次分析法。
4) 優缺點分析
優點
分析方法簡單,容易理解。比如在購買閱讀器時,就是通過比較不同產品的指標差異來確定需要購進哪一款。
決策方法簡潔實用。因為步驟固定,容易套用。
在定量數據信息較少時有較好的應用。
缺點
只能對已有方案取優,不能為決策提供新方案。比如在ABC三款閱讀器選擇,層次分析法不會得出新的D款方案。
定量數據較少,個人主觀性較強,不易令人信服。
比較簡單,難以創新。比賽時需要結合其它方法。
貳
演算法步驟
阿蜂根據層次分析法的步驟畫出流程圖,接下來阿蜂就給大家詳細的講一講層次分析法如何在實踐中運用。我們舉一個簡單的例子,假如我們需要在某寶買一款閱讀器,那麼我們需要根據不同款閱讀器特點來選擇最適合我們的一款。我們需要以下步驟。
1) 建立層次結構模型
一般我們將問題分為三個層次:
最高層:一般為目標層。即為我們要解決的實際問題,通常只有一個。本例中就是要買的閱讀器。
中間層:包括準則層,指標層等。就是為實現目標採取的措施或決定目標的因素。本例中就是我們選擇閱讀器的依據:價格,外觀,功能,電池容量,形狀大小。
最低層:一般為方案層。表示採取的方案,通常有幾個可供選擇。本例中為不同款式的閱讀器ABC。
2) 構造成對比較矩陣
構造成對比較矩陣是層次分析法的核心,通常通過兩兩比較的方式獲得正互反矩陣。例如對於準則層來說,表示價格與外觀對我們做出選擇的重要性之比,也就是價格與外觀的重視程度。這樣我們便得到了一個正互反矩陣
在這裡呢我們的由1-9尺度法確定。尺度法就是衡量我們重視程度的標尺,比如相對於外觀我更加重視價格,並且絕對的強,那麼就是9,如果我們對於價格和外觀的重視程度一樣,那麼就是1。在這個例子中我們就可以根據自己的要求列出下面的成對比較矩陣。
(註:構造成對比較矩陣時,主觀性較強,有時不具備說服力,因此常常由相關方面的專家確定,否則結果可能會產生較大誤差。)
當然啦,有很多其他方法來確定對比矩陣,阿蜂這裡給大家列舉幾種,有興趣的話大家可以去嘗試一下:綜合評分法 、熵值法、秩和比評價方法、灰色關聯度評價法等等。
3) 一致性檢驗
一致性檢驗通俗來講就是來檢驗我們構造的成對比較矩陣符不符合要求,可以說是對模型正確性的一種檢驗,只有通過了一致性檢驗我們才能繼續進行下一步工作。比如我們認為價格比功能重要性稍強,比外觀的重要性絕對的強,這時如果我們構造的成對比較矩陣中,外觀的重要性反而比功能強,這樣的成對比較矩陣就往往不符合我們的要求,為了避免這種情況,就需要我們做一致性檢驗。一致性檢驗的步驟如下:
1->求出特徵根與特徵向量
求出成對比較矩陣求出最大特徵根以及相應的特徵向量
(忘記求法啦?翻線性代數課本!)
我們根據上面構造的成對比較矩陣求出特徵向量=(0.7637,0.3069,0.5375,0.1579,0.0935),進行標準化得出權重w』=(0.4107,0.1651,0.2890,0.0849,0.0503)(目的是使其和為1)
2->計算一致性比率
①定義一致性指標
(n表示矩陣的階數,本例中為5)
②查表得出隨機一致性指標,查閱表格
③計算一致性比率CR=CI/RI
(註:一般地,我們認為當CR=CI/RI<0.1時,那麼就通過了一致性檢驗,代表我們構造的成對比較矩陣基本滿足我們的要求啦,否則就要重新構造成對比較矩陣直到滿足條件為止。經過試驗我們的例子構造的矩陣通過了一致性檢驗。)
4) 進行層次總排序
這裡有兩種情況,一種是我們已經有了每個閱讀器的各項指標的具體數據,這時候問題就簡單很多啦,我們首先對收集到的數據做標準化處理
(忘記如何進行標準化處理啦?戳下文:這裡我們做一篇標準化處理的推送)
然後將上文求得的權重w』與某閱讀器指標對應的數據的乘積進行累加,即可得到對該閱讀器的評分啦,對後對評分進行排序就可以得到最優方案。
如果我們沒有數據呢?
就要進行下面的步驟啦!
①確定各個指標的權重大小
②構造方案層對準則層的成對比較矩陣,並計算相應的特徵向量Pmn。
構造方法與之前所述方法一致,我們這裡分別根據三種閱讀器對價格等五個因素構造成對比較矩陣:
如B1(價格因素)中的數值3表示將閱讀器A的價格因素影響視作閱讀器B價格因素影響的三倍,其餘數值皆如此,以此類推。
然後求得各自的特徵向量為:
③根據中間層對目標層權值Cn以及相應方案層的特徵向量Pmn計算相應各方案的權重。
各Max(Pm)對應的最大值即為最優方案。
本例Pm=(0.5310,0.2728,0.1962)即方案1最優,購買A款閱讀器。
此外,因為大家都是初學者,這裡的準則層(指標)只設計了一層,有很多情況下指標是由多層的,對於多層的指標(一級指標,二級指標,三級指標等),總體方法是類似的,只是確定權重w』的步驟稍有變化,具體怎麼做,阿蜂將會在講述模糊綜合評價時為大家介紹。
本節課阿蜂的講述就到此為止了
希望可以幫助到大家
認真學習,學有所成
我們下期再見
你在數模的荒原行走
阿蜂願做你的擺渡人
阿蜂講數模


TAG:阿蜂講數模 |