天天看點

八分鐘了解層次分析法

作者:volcano99

可以說大大小小的決策問題包圍了我們的一生,小的決策如今天起床後穿什麼衣服,晚飯吃什麼菜;大的決策如該買哪裡的房子,假期該去哪裡旅遊,選擇升學志願等等。在我們做出決策以前,必須考慮很多方面的名額或者判斷準則,最終通過這些準則作出選擇。

這些名額是互相制約、互相影響的,而且很多名額是定性的、半定性、半定量的問題,多名額之間的比較往往無法用定量的方式描述。為了利用好計算機,實作人工智能,我們需要将影響決策的名額轉化為定量計算問題。層次分析法是解決這類問題的行之有效的方法。

層次分析法簡稱AHP,在20世紀70年代中期由美國運籌學家托馬斯·塞蒂正式提出。是一種定性和定量相結合,把研究對象作為一個系統,将決策問題按總目标、各層子目标、評價準則直至具體的備投方案的順序分解為不同的層次結構,通過逐層比較各種關聯因素的重要性來為分析以及最終的決策系統提供定量的依據。用構造并求解判斷矩陣特征向量,歸一化後,求得每一層次的各元素對上一層次某元素的優先權重,最後再權重和的方法遞階歸并各備擇方案對總目标的最終權重,此最終權重最大者即為最優方案。

上面說的過于抽象,下面我們用一個買房子的執行個體來一步步了解層次分析法。

第一步,建立評價模型。

首先确定目标層、準則層、方案層。如下圖,其中準則層可建構多層,将有關的各個名額按照不同屬性自上而下的分解成若幹層次,由于計算方法都是一樣,現在我們以兩層次為例。圖中方案層表示有B1、B2、B3三個小區可供我們選擇,而準則層暫分為兩層,第一層有價格、交通、周邊設施、裝修、戶型等名額,第二層表示周邊設施下含有教育、醫療、購物、環境等名額。同樣的,價格、交通等名額也可以建構第二層名額,在此省略了。目标層則是我們最終決定買的小區。

八分鐘了解層次分析法

第二步,構造成對比較矩陣

從最底層開始,确定同層名額重要性的比較分值。采用的方法為将名額兩兩對比,可以按照下面的原則賦予分值。

分值 含義
1 表示兩個名額相比,具有同樣重要性。
3 表示兩個名額相比,一個因素比另一個因素稍微重要。
5 表示兩個名額相比,一個因素比另一個因素明顯重要。
7 表示兩個名額相比,一個因素比另一個因素強烈重要。
9 表示兩個名額相比,一個因素比另一個因素極端重要。
2、4、6、8 上述兩相鄰判斷的中值。
倒數 名額i與j比較的判斷分值aij,則名額j與i比較的分值aji=1/aij。

由于每個人的認知和感受會有不同,是以每個人賦予的分值可能不完全一樣。一般做法可以多找一些人或多個專家共同打分,采用一個相對認知度比較高的方案,則最終的決策會有較好的一般性。由于本文隻是學習介紹,成對比較矩陣是我個人打的分值,是以最後的決策可能僅适合我自己。

教育 醫療 購物 環境
教育 1 1 9 5
醫療 1 1 9 5
購物 1/9 1/9 1 1/3
環境 1/5 1/5 3 1

表一 成對比較矩陣

成對比較矩陣的特點:aij>0;當i=j時,aij=0;aij=1/aji。

第三步:檢驗成對比較矩陣的一緻性。

從理論上分析,上述矩陣應該是完全一緻的。即:

aijajk=aik,1≤i,j,k≤n。

如a12表示教育/醫療的分值為1,a23表示醫療/購物的分值為9,則

a12a23=(教育/醫療)×(醫療/購物)=教育/購物=1×9=9。

但由于構造成對比較矩陣時具有評判者的主觀性,要全部滿足上述衆多等式是不可能的。

如a14表示教育/環境的分值為5,a43表示環境/購物的分值為3,則

a14a43=(教育/環境)×(環境/購物)=教育/購物=5×3=15≠9。

是以我們隻能退而求其次,可以允許成對比較矩陣存在一定程度的不一緻性,但必須在限度範圍内。是以構造了成對比較矩陣後還應進行一緻性檢驗。

理論推導可得:如果完全一緻的成對比較矩陣,其絕對值最大的特征值等于該矩陣的維數。成對比較矩陣的一緻性要求,轉化為要求成對比較矩陣的絕對值最大的特征值和該矩陣的維數相差不大。

檢驗成對比較矩陣一緻性的步驟如下:

1.計算成對比較矩陣的最大特征值。

在實踐中,可采用下述方法計算成對比較矩陣A=[aij]的最大特征值λmax(A)和相應特征向量的近似值。

八分鐘了解層次分析法

上式可以近似地看作A的對應于最大特征值的特征向量。

八分鐘了解層次分析法

可以近似看作A的最大特征值。實踐中可以由λ來判斷矩陣A的一緻性。

2.計算衡量一個成對比較矩陣A(n>1階方陣)不一緻程度的名額CI:

八分鐘了解層次分析法

3.計算平均随機一緻性名額RI:

對于固定的矩陣階數n,随機構造成對比較矩陣A,其中aij是從1,2,…,9,1/2,1/3,…,1/9中随機抽取的,這樣的A一般是不一緻的,取充分多的樣本得到A的最大特征值平均值。

八分鐘了解層次分析法

注:從上表可查出平均随機一緻性名額RI,它隻與矩陣階數n有關。

4.按下面公式計算成對比較矩陣A的随機一緻性比率CR:

八分鐘了解層次分析法

判斷方法如下:當CR<0.1時,判定成對比較矩陣A具有滿意的一緻性,或其不一緻程度是可以接受的;否則就調整成對比較矩陣A,直到達到滿意的一緻性為止。

例如對表一得矩陣:

八分鐘了解層次分析法

計算得特征向量,也就是權重向量:

八分鐘了解層次分析法

λ=4.061,CI=0.02;

查表得:n=4,RI=0.9,則

八分鐘了解層次分析法

則比較矩陣不是一緻陣,但具有滿意的一緻性。

第四步:名額值的量化

定量名額可直接應用其數值或上述方法具體指派。例如購物,我們可直接用其與最近的綜合商場的距離具體指派,或重複第一步至第三步得到比較矩陣,并計算得到權重向量即為名額值的量化數值。

假設三個小區分别與最近的綜合商場的距離為0.5公裡、1公裡、3公裡,則三個小區購物名額值為(0.5,1,3)。

定性名額應用第一步至第三步的方法指派。例如教育,我們得到比較矩陣,并計算得到特征向量(權重向量)即為名額值的量化數值。具體做法如下:

先成對比較三個小區的周邊得教育情況,例如小區周邊是否有幼稚園、國小、中學等因素,得成對比較矩陣

八分鐘了解層次分析法

計算得C1的特征向量為:(0.082,0.236,0.682)。則其名額值為(0.082,0.236,0.682)。

第五步:名額值的規範化

通常名額分為四類:一類是數值越大越好(稱為極大型名額),比如身高、工資等。一類是數值越小越好(稱為極小型名額),比如個人買房,則房價越低越好。一類是資料越居中越好(稱為居中型名額),比如某螺絲釘的直徑。另一類是資料是在一個區間範圍内就好(稱為區間型名額),比如人體的溫度。由于資料具有不同的類型及指派方法,是以不可以馬上進行比較,必須結合名額的類型分别設定轉換函數,将所有名額數值轉化為[0,1]之間的規範值。采用先計算名額值再規範化的處理方法,将不同性質的名額轉化為可以同度量的名額。

名額值規範化的相關方法有機會再詳細介紹!本文将直接計算有關結果。

例如上述三個小區購物名額為(0.5,1,3),且此名額為極小型名額。我們可用下面的方法進行名額值規範化。

八分鐘了解層次分析法

其中x*為規範化後的值。則購物名額(0.5,1,3)規範化後為(1,0.8,0)且變為極大型名額。

三個小區教育名額為(0.082,0.236,0.682), 此名額為極大型名額。用下面的方法進行名額值規範化。

八分鐘了解層次分析法

則教育名額(0.082,0.236,0.682)規範化後為(0,0.257,1)且仍為極大型名額。

同理,我們可計算出醫療名額規範化後為(1,0.288,0),為極大型名額。

交通名額為(0.658,1,0),為極大型名額。

環境名額為(0.558,0,1),為極大型名額。

第六步:上層名額值的量化

通過前面的計算,我們已經獲得了下表。

教育 醫療 購物 環境
權重 0.422 0.422 0.041 0.116
B1小區得分 1 1 0.588
B2小區得分 0.257 0.288 0.8
B3小區得分 1 1

周邊設施名額最後的總得分便是它下層名額的權重平均和:

B1小區周邊設施名額得分=0×0.422+1×0.422+1×0.041+0.658×0.116=0.531;

B2小區周邊設施名額得分=0.257×0.422+0.288×0.422+0.8×0.041+0×0.116=0.263;

B3小區周邊設施名額得分=1×0.422+0×0.422+0×0.041+1×0.116=0.538。

同理,重複第一步至第六步我們也可以計算出價格、交通、周邊設施、裝修、戶型等名額的權重和價格、交通、裝修、戶型等名額量化分值。就可以計算出B1、B2、B3小區的買房名額量化分值,最後分數最大的就是我們的選擇。

希望本文對大家有所幫助!