美賽乾貨丨層次分析法(AHP)

2021-02-14 數模樂園


層次分析法(Analytic Hierarchy Process,簡稱AHP)主要是對於定性的決策問題進行定量化分析的方法。舉個例子,在日常生活中,我們經常需要進行感性的判斷,比如報高考志願,感覺清華北大都很好,到底要報哪個;再比如去市場買菜,到底是買青椒做青椒炒雞蛋,還是買黃瓜做黃瓜炒雞蛋;再比如想去出遊,到底是去公園A還是公園B。上面提到的這些問題,都是決策,也叫做評價類問題,最終的目的就是要評價到底哪個更好。這個方法在數學建模比賽,比如美賽等比賽中有時會用到,另外對日常的生活也有一定的指導。

那麼如何用數學的評價體系去解決這類看似非常感性的問題呢,這就誕生了我們今天要講的層次分析法。這裡我們從淺入深對於層次分析法進行一個講解。

這裡我們舉一個例子讓大家大致的了解層次分析法的基本原理。假如,小明想買一瓶飲料喝,他在糾結到底是買可樂好,還是雪碧好,還是匯源果汁,他非常的糾結,於是想建個模型來分析到底買哪種飲料好。

為了實現這個評價,首先我們要確定評價的指標,比如這裡我們設定三種指標:飲料的口味,飲料的價格和飲料健康程度,那麼最直觀的量化方法就是給各個因素一個權重,然後給各個飲料進行打分,如下表:

表格中相同顏色的區域加和需要為1,這是為了標準化。所以我們來看一下這個表格,在評價指標方面,小明很注重健康因為給了健康0.5的權重,其次是口味0.3,最後是價格0.2;具體的在口味方面,小明覺得可樂和雪碧差不多(0.35),果汁稍微差一點是0.3 以此類推,小明就只做了這張表格,為了計算每種飲料的得分,我們只需要把備選方案的權重乘對應的評價指標的權重並且加和即可,也就是:

可樂的最終得分是0.35×0.3+0.4×0.2+0.1×0.5 = 0.1005;
雪碧的最終得分是 0.35×0.3+0.4×0.2+0.2×0.5 = 0.1505;
匯源果汁的最終得分是 0.3×0.3+0.2×0.2+0.7×0.5 = 0.379;

通過比大小我們就看得出來匯源果汁的最終得分最高,所以小明應該選擇匯源果汁。

回顧一下,為了量化的評價,我們需要確定評價指標,和備選方案兩個重要的因素,接著分配權重(記得加和為1),最終通過乘法然後加和的方式得到最終的量化得分,從而做出最終的評價。

層級分析法就是簡單的編造幾個權重然後進行抉擇麼?當然不是,如何客觀合理的

設定表格中的權重才是重中之重,因此,我們這裡介紹如何構造判斷矩陣。

在現實問題中,往往存在很多個評價指標,讓小明從飲料的口味,價格,健康,瓶蓋能不能兌獎,瓶子是不是好看,自己是不是匯源果汁的代言人……等很多評價指標中給出合理的權重是一個非常困難的事情,也許小明現在給出的權重和一會兒給出的權重就完全不同,所以,為了簡化思維過程,我們首先進行評價指標的兩兩比較,再將比較結果匯總成最終的權重。為了量化兩兩比較的結果,我們要祭出一個評價體系表格。說白了,就是在A和B兩者比較中劃分了一個1到9的重要等級。

舉個例子,假如說飲料的健康性(A)和口味(B)相比,健康要明顯重要,則我們就可以說A比B的權重是5。之後我們開始構建我們的判斷矩陣。

上述的表格就是一個判斷矩陣,我們可以看到這個判斷矩陣有幾個特點,對角線都為1,而且對角線對稱的元素相乘都為1,這樣的矩陣也被稱為正互反矩陣。

為了更加數學的描述,我們設定矩陣的元素定義為a_ij代表了與j相比i的重要性,其中i表示行,j表示列, 其中a_ij>0而且a_ij×a_ji=1即對稱元素相乘為1。當i=j時,也就是元素在對角線上時,元素為1。另外理想的情況下要滿足a_ij=a_ik×a_kj 這個理想的條件我們在以後說明在構造判斷矩陣的過程中我們的元素是兩兩進行判斷的,所以是不是有可能出現問題呢?答案是有可能的,我們將表格中的元素進行一個更改,並用綠色標記出,隨後得到了如下的表格

我們看第一行,口味比價格重要(口味>價格)同時健康比口味重要(健康>口味),那麼按照正常的推理我們是不是應該得到健康比價格重要(健康>口味>價格)然而實際上表格中填寫的是價格比健康重要(價格>健康)這就出現了矛盾,也就是不一致現象。在理想情況下
所以說,在理想的情況下a_ij=a_ik×a_kj 。理想的情況下的判斷矩陣也有一些很好的性質,比如行列成比例,也就是說矩陣的秩為1,這裡不進行深入的討論。但是大部分的情況下,沒辦法達到如此的完美,那麼為了量化評價這種不一致現象的大小,就需要在運算權重之前進行一致性的檢驗。

回顧一下,為了更合理的得到層次分析法表格中的權重,我們引入了數值為1-9的標度體系,並且用兩兩比較的方法構建了一個判斷矩陣用於之後的權重計算,然而判斷矩陣存在不一致的問題,因此我們要從數值的角度評價不一致的大小,以此引出一致性的檢驗。

為了構建一個一致性的指標來驗證矩陣的一致性,學者們主要參考了線性代數中的兩個定理:

定理1:若A為一致性矩陣,則A的最大特徵值λ_max⁡ = n,其中n為矩陣A的階,A的其餘特徵值均為0。

定理2:n階正互反矩陣為一致性矩陣,若且唯若其最大特徵值λ_max⁡ = n,並且當正互反矩陣非一致時,必有λ_max⁡ > n。

從定理2的後半句中,我們可以看到,當一個正互反矩陣為非一致的矩陣的時候必有最大的特徵值大於矩陣的階,所以就想到可以使用最大特徵值和矩陣的階的差值來定義不一致性。這種想法看似複雜,其實超級樸素,比如時間不能倒流,所以出生後經過的年數就定義為你的年齡(年數-0)。

為此就定義了一致性指標CI,CI = (λ_max – n) / (n -1)。也就是說一致性指標CI越大,整個矩陣就越不一致,當CI是0的時候是完全理想的一直矩陣。

另外,為了得到計算出來的一致性指標到底是大還是小,我們又構建了平均隨機一致性指標RI,該指標的構建方法是隨機構建1000個正互反矩陣,並計算一致性指標的平均值。這裡的RI也就是說當矩陣的階數為n的時候隨機的平均一致性。這相當於一把尺子,告訴大家如果完全隨機的填寫這個判斷矩陣的結果的話,那麼你的一致性指標的期望就大概是這個RI的值。RI如何計算呢?查表就可以了。


當CI和RI的比值小於0.1的時候,我們認為這個矩陣是一致的,也就是說你矩陣的一致性指標,要比平均的瞎矇的一致性指標小一個數量級的時候,我們認為你就不是亂猜的了。這樣我們就構建了我們的一致性比例CR = CI/ RI。如果說一個正互反矩陣的一致性比例沒有小於0.1,那麼就需要調整矩陣以滿足要求。

舉個例子,我們以這個判斷矩陣為例,計算它是否滿足一致性的要求,第一步是計算其最大的特徵值,在matlab中,我們可以使用[x,y] = eig([1,3,1/5;1/3,1,1/6;5,6,1]);l_max = max(diag(y)); 計算得到,最後計算得到的最大特徵值為3.0940, 我們可以看到這個值滿足我們定理2中所說的要比矩陣的階數3大。CI = (l_max -3) / ( 3 -1 ); 計算CI值是0.0470。RI值通過查表得到是0.52,最後我們的RI值就是CI/RI = 0.0904 < 0.1 所以這個矩陣滿足一致性的要求。

回顧一下,這裡主要講如何驗證矩陣的一致性,為了驗證一致性構造了一致性比例CR,滿足CR小於0.1的就認為該判斷矩陣合理,不滿足的就要對判斷矩陣進行調整,得到合理的判斷矩陣,得到合理的判斷矩陣之後,就可以進行最初的,層次分析法的計算了。

得到了合理的判斷矩陣我們這裡就要計算每個影響因素所佔的權重,這裡主要有三種方法,算數平均法,幾何平均法,和特徵值法求權重

1.算數平均法求權重:(列歸一化,行平均值)

對每列進行歸一化處理,並且按照行求平均值就得到了我們最終的權重,這是最簡單的計算方法,具體的方法如下:step1:列歸一化,

最左上角的元素歸一化就是1/(1+1/3+5)=0.18;
第一行第二個元素的計算方法就是3/(3+1+6)=0.30以此類推;


口味
價格
健康
口味
0.18
0.30
0.17價格0.06
0.100.14‍‍健康
0.88
0.600.83


Step2:行平均值:
口味:(0.18+0.30+0.17)/3 = 0.22;
價格:(0.06+0.10+0.14)/3 = 0.10;
健康:(0.88+0.60+0.83)/3 = 0.77;
正常權重的加和是1,這裡因為四捨五入的原因有一定的偏差。得到了權重之後,我們就可以寫入最開始的表格了

 2.幾何平均法求權重:(行相乘開n次方,列歸一化)

這裡的計算方法就是將行的元素都相乘,然後再開對應的n次方,並對得到的n個數字進行歸一化即可。

 3.特徵值法求權重:(最大特徵值的特徵向量歸一化)

特徵值法其實是應用最多的一個方法,就是求最大特徵值所對應的特徵向量並進行歸一化處理,matlab的計算方法如下:[x,y] = eig([1,3,1/5;1/3,1,1/6;5,6,1]);vec_max = x(:,1);得到的vec_max就是最大特徵值對應的特徵向量了。在本例中是0.26,0.12,0.96在對其進行歸一化的處理,得到0.19,0.09,0.72 這樣我們就用另一種方法求得了權重。

回顧一下這裡介紹了三種不同的方法對判斷矩陣的權重進行計算。除了這三個影響因素的判斷矩陣以外,具體的表格中可樂,雪碧和匯源果汁的判斷矩陣構造方法也是一樣的。只需要列出以下的表格,檢驗一致性並最終計算即可。


以上就是層次分析法的全部過程,有幾個小的問題需要進一步的講解,當判斷矩陣不滿足一致性的時候我們調整的方法就是重新梳理整個矩陣的各個元素,可以利用理想狀態下,行和列的元素成比例的性質進行微調。另外,層次分析法考慮的因素不能過多,不論是候選的種類,還是評價的指標都不能太多。除此之外,層次分析法主要是在主觀的評價體系中進行決策,或者滿意度的評價,當在一個問題中,已經有很多已知的數據的時候,這種方法就顯得不太好了。

相關焦點

  • AHP層次分析法
    一、層次分析法(AHP)簡介  層次分析法(The analytichierarchy process
  • 【工具】層次分析法(AHP)
    引言 層次分析法(Analytic Hierarchy Process
  • 白話AHP層次分析法
    第一部分:層次分析法(Analytic Hierarchy Process ,簡稱 AHP )是對一些較為複雜、較為模糊的問題作出決策的簡易方法,它特別適用於那些難於完全定量分析的問題。它是美國運籌學家T. L. Saaty 教授於上世紀 70 年代初期提出的一種簡便、靈活而又實用的多準則決策方法。
  • 歷年考試真題解析 | 層次分析法(AHP)
    請根據以上條件回答問題:使用層次分析法,對影響安全生產能力的9個因素進行排序(30分)層次分析法之所以在一級安全考試中出現,個人認為不外乎以下幾個原因:層次分析法屬於一種新型的安全評價方法,比較適用於對系統的整體安全風險評估、評價;一級評級師的能力之一是區域危險有害因素辨識與分析評估,如化工園區、工業生產集中區域的安全風險評價、評估,用層次分析法
  • AHP層次分析法(Excel實踐版)
    AHP層次分析法是美國運籌學家、匹茲堡大學由Thomas L. Saaty教授在20世紀70年代初期提出的。
  • 層次分析法( Analytic hierarchy process,AHP)的步驟
    運用層次分析法分析解決問題,一般經歷以下幾個步驟:構建層次結構模型。
  • 零基礎的同學如何用Yaahp做層次分析法(AHP)?
    答案是:通過層次分析法(AHP)將所有與決策相關的元素分別分解成目標、準則、方案等層次,在此基礎之上進行定性和定量分析。本專欄將通過軟體實操,帶領大家感受層次分析法(AHP)的魅力,並儘可能地幫助大家學會這個方法。
  • 層次分析法(AHP)研究方法與步驟分解,及案例詳解
    層次分析法(AHP),一言蔽之就是通過構建一套多層次的評價指標體系,完成對定性指標的定量化分析。層次分析法(AnalyticHierarchy Process,AHP)由美國運籌學家、匹茲堡大學教授SattyT.L.於二十世紀70年代提出,是一種將與決策有關的元素分解成目標、準則、方案等層次,在此基礎上進行定性和定量分析的決策方法。
  • 如何用AHP層次分析法,確定門店選址?
    本文將為大家介紹AHP層次分析法究竟是什麼,並以門店選址為例,展示了如何用AHP層次分析法實現的步驟。一、什麼是AHP層次分析法AHP定義:AHP是對定性問題進行定量分析的一種多準則決策方法。二、AHP層次分析實現步驟2.1 建立階梯層次模型按目標層、準則層、方案層進行劃分:目標層:即需解決的目標問題是什麼? 例如本次的目標是:幫助企業開發選址人員選址合適的門店地址;準則層:影響目標的因素是什麼?
  • 【科研心得】使用AHP層次分析法來選擇相親對象
    層次分析法(Analytic Hierarchy Process,AHP)這是一種定性和定量相結合的、系統的、層次化的分析方法。
  • 【工具】層次分析法(AHP)——選擇恐懼症?不是因為窮,而是因為沒有學會AHP!
    層次分析法(Analytic Hierarchy Process,簡稱AHP)是美國運籌學家T. L. Saaty教授在20世紀70年代初期提出的一種多準則決策方法。當一個決策受到多個要素的影響,且各要素間存在層次關係,或者有明顯的類別劃分,同時各指標對最終評價的影響程度無法直接通過足夠的數據進行量化計算的時候,就可以選擇使用層次分析法。
  • 建模必備算法——層次分析法(AHP)
    回復關鍵字直接領取AHP相關學習資料層次分析法(Analytic Hierarchy Process)AHP(層次分析法)是對一些較為複雜的,較為模糊的問題作出決策的簡易方法,它特別運用層次分析法建模,大體上可按下面四個步驟進行: ✔ 建立遞階層次結構模型; ✔ 構造出各層次中的所有判斷矩陣; ✔ 層次單排序及一致性檢驗; ✔ 層次總排序及一致性檢驗。
  • 通過層次分析法(AHP),建立電商用戶綜合評分模型
    文章主要介紹了如何利用層次分析法建立電商用戶綜合評分模型,希望能夠對你有所幫助。層次分析法(Analytic Hierarchy Process,簡稱AHP)定義:是將與決策總是有關的元素分解成目標、準則、方案等層次,在此基礎之上進行定性和定量分析的決策方法。關於層次分析法的具體解釋大家可以使用搜尋引擎搜索,篇幅有限,我們暫不展開。一.
  • 方法評介 | 層次分析法
    在實際運用中,為了解決AHP的一些缺陷,學者們對層次分析法也進行了一些衍生。包括:模糊層次分析法,改進層次分析法,區間層次分析法,改進模糊層次分析法,灰色層次分析法。1、模糊層次分析法模糊層次分析法是將層次分析法和模糊綜合評價結合起來,使用層次分析法確定評價指標體系中各指標的權重,用模糊綜合評價方法對模糊指標進行評定。AHP中的關鍵環節是建立判斷矩陣,從而將決策者對複雜系統的決策思維實行數量化。
  • 【乾貨】綜合評價法——層次分析法、模糊綜合評價法
    現代綜合評價方法包括主成分分析法、數據包絡分析法(DEA)、層次分析法、模糊綜合評價法等。    1.層次分析法    AHP 是美國運籌學家 Thomas L.Saaty 在 20 世紀 70 年代初提出的一種用於解決複雜問題排序和傳統主觀定權缺陷的方法。
  • 層次分析法AHP是什麼? 決策評價大法
    層次分析法的基本思路與人對一個複雜的決策問題的思維、判斷過程大體上是一樣的。不妨用假期旅遊為例:假如有3個旅遊勝地A、B、C供你選擇,你會根據諸如景色、費用和居住、飲食、旅途條件等一些準則去反覆比較這3個候選地點。
  • 層次分析法的局限
    層次分析理論觀點的建立,極大地推進了語言研究,也對其他學科產生了積極的影響。但正如前面已經指出過的,任何理論方法都有它的局限性。局限性不能理解為缺點。所謂局限性,是說任何一種理論方法都有一定的適用範固,越出了它所能解決的範圍,就無能為力了。層次分析法也不例外。 那麼層次分析法的局限性表現在哪裡呢?
  • 德爾菲法與層次分析法的使用
    層次分析法「把複雜的問題分解為各個組成要素, 將這些因素按支配關係分組形成有序的遞進層次結構, 通過兩兩比較的方式確定層次中諸因素的相對重要性, 然後綜合人的判斷以決定決策諸因素相對重要性總的順序。」[8]利用層次分析法計算中國教育智庫評價指標的權重, 更加客觀且有效。
  • 層次分析法建立層次結構模型分為哪些層次?
    層次分析法建立層次結構模型分為哪些層次? 2019-03-19 12:11  來源:  字體:大小  列印 【試題】 層次分析法建立層次結構模型分為哪些層次?
  • 2019年諮詢工程師方法與實務第一章考點:層次分析法
    下面是2019年諮詢工程師考試《現代諮詢方法與實務》科目的第一章考點:層次分析法,希望對大家的備考有所幫助!查看更多:2019年諮詢工程師方法與實務第一章考點匯總  層次分析法  層次分析法可以將無法量化的因素、行動、方案、項目指標等排出大小順序,將其區別開來。