層次分析法 (AHP) 含代碼

摘要:

層次分析法主要應用在不確定情況下及具有多數個評估準則的決策問題上。 層次分析法發展的目的是將複雜的問題系統化,由不同層面給予層級分解,並透過量化的運算,找到脈絡後加以綜合評估。(維基百科)

1、方法介紹

層次分析法可以利用樹狀的層級結構,將複雜的決策問題在一個層級中區分爲數個簡單的子問題,並且每個子問題可以獨立進行分析,這個層級中的子問題可以包含是任何類型的子問題,無論是有形的還是無形的,仔細計算的或者粗略估計的,理解清晰或模糊的,只要是用於最終決策的子問題都可以包括於此。

一旦這個層級建立完畢,決策專家會有有系統地評估尺度針對每一個部分的相對重要性給予權重數值,其後建立成對比較矩陣,並求出特徵向量及特徵值,以該特徵向量代表每一層級中各部分的優先權,能提供決策者充分的決策資訊並組織有關決策的評選條件或標準(criteria)、權重(weight)和分析(analysis),且能減少決策錯誤的風險性。

AHP的評估尺度作爲每一層級指標因素間的成對比較,基本劃分包括五項,即等強(Equal Strong)、稍強(Weak Strong)、頗強(Strong)、極強(Very Strong)、絕強(Absolution),並賦予名目尺度1、3、5、7、9的衡量值,另設四個尺度介於五個基本尺度之間,並賦予2、4、6、8的衡量值,共計九個尺度,各尺度所代表之意義如下表所示——
在這裏插入圖片描述
在AHP層次分析法操作流程中,第一步驟首先問題描述,而後判別影響要素並建立層級結構,並設計問卷項目,而後依問卷收集的數據資料找出各層級間決策屬性的相對重要性,並依此建立成對比較矩陣用以計算矩陣特徵值與特徵向量,所得出的數據經由一致性檢定及層級結構一致性檢定的回饋修正後,便可計算出各指標之權重以協助選出最適決策方案。

手動劃重點(以下)
基本思路:先分解後綜合

首先將所要分析的問題層次化,根據問題的性質和要達到的總目標,將問題分解成不同的組成因素,按照因素間的相互關係及隸屬關係,將因素按不同層次聚集組合,形成一個多層分析結構模型,最終歸結爲最低層(方案、措施、指標等)相對於最高層(總目標)相對重要程度的權值或相對優劣次序的問題。

運用層次分析法建模,大體上可按下面四個步驟進行:

  1. 建立遞階層次結構模型;
  2. 構造出各層次中的所有判斷矩陣;
  3. 層次單排序及一致性檢驗;
  4. 層次總排序及一致性檢驗。

2、例題的建模分析

例題複習:複習直接看此鏈接,完美講解例題,不過代碼有誤別看了

★網上代碼很多都特麼跑不了,收藏一個能動的——
層次分析評價交通模型

clc
clear
a=[1 1/6 1/3 1/4;6 1 5 5;3 1/5 1 2;4 1/5 1/2 1]
b1=[1 2 6 4;1/2 1 6 4;1/6 1/6 1 1/3;1/4 1/4 3 1]
b2=[1 2 5 4;1/2 1 5 4;1/5 1/5 1 1/2;1/4 1/4 2 1]
b3=[1 5 3 5;1/5 1 2 2;1/3 1/2 1 1/2;1/5 1/2 2 1]
b4=[1 1/3 1/6 1/7;3 1 1/5 1/4;6 5 1 1/3;7 4 3 1] 
b=cat(3,b1,b2,b3,b4)
lammax_a=max(eig(a));%b爲a矩陣的最大特徵值
CI=(lammax_a-length(a))/(length(a)-1);
RI=[0 0 0.58 0.96 1.12 1.24 1.32 1.41 1.45];
CR=CI/RI(length(a))  
for i=1:4
    lammax_b(i)=max(eig(b(:,:,i)))
    CI_b(i)=(lammax_b(i)-4)/(4-1)
    CR_b(i)=CI_b(i)/RI(4)
end
for i=1:(length(a))
c=prod(a(i,:))^(1/length(a));%計算每一行的幾何平均值
d(i)=c;
end
for i=1:length(a)
    e=d(i)/sum(d);
    w(i)=e;
end
for j=1:4
    for i=1:4
c=prod(b(i,:,j))^(1/4)   %計算每一行的幾何平均值
d(i)=c;
end
for i=1:4
    e=d(i)/sum(d);
    wb(j,i)=e;
end
end
m=wb'
for i=1:4
 u=m*w'
zong(i)=sum(u(i,:))
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章