yaahp层次分析法步骤_综合评价方法之层次分析法,选择再也难不倒你!
在日常生活中,
我們常常面臨著各種各樣的選擇。
比如你想去北京、上海、廣州旅游,
但是由于種種原因,
你只能選擇一個地點去旅游,
那么哪一種選擇是最優的呢?
有沒有較為科學的方法幫助我們更好地選擇呢?
今天,小創君就帶領大家認識一下
——層次分析法。
層次分析法的簡述
???? ?層次分析法簡稱AHP,在20世紀70年代中期由美國運籌學家托馬斯·塞蒂正式提出。它是指將與決策有關的元素分解成目標、準則、方案等層次,在此基礎之上進行定性和定量分析的決策方法。
? ? ? 層次分析法是對一些復雜、多元化的問題作出決策的簡易方法,它特別適用于那些難于定量分析的問題。簡單的說就是那些沒有多少數據依據,基本憑個人的主觀意識讓你去選擇一個最佳的目標或者計算出對于一個目標而言,各個因素所占的權重。
層次分析法的實施步驟
01
建立遞階層次結構模型
? ? ??將決策的目標、準則和對象依次分成目標層、準則層和最低層,并繪制層次結構圖。
1)目標層:分析問題的預定目標或理想結果。
2)準則層:解決問題的準則。
3)措施層:為實現目標可供選擇的各種措施、決策方案等。
02
構造出各層次中的所有判斷矩陣
??????準則層中的各準則在目標衡量中所占的比重并不一定相同,在決策者的心目中,它們各占有一定的比例。為了更好地推算出各準則在目標衡量中所占的比例,我們提出了成對比較判斷矩陣。
? ? ? 成對比較判斷矩陣(簡稱判斷矩陣)是表示本層所有因素針對上一層某一個因素(準則或目標)的相對重要性的比較。即不把所有因素放在一起比較,而是兩兩相互比較(同一層次),盡可能減少性質不同的諸因素相互比較的困難,以提高準確度。
? ? ? 進行兩兩相互比較,并按其重要性程度評定等級,一般采用1-9標度。
圖? ? ?如下舉例為準則層對目標層判斷矩陣。
? ? ? ?如下舉例為措施層對準則層判斷矩陣。(其他4個判斷矩陣以此類推)
? ? ? ?通過要素之間兩兩比對,會使判斷更加清晰。
03
層次單排序及一致性檢驗
一致性檢驗步驟? ? ?判斷矩陣寫出來之后會存在一個問題,那就是按理來說如果i對j的重要程度是a,j對k的重要程度是b,那么i對k的重要程度應該為a*b。但事實上并不是如此。所以需要進行一致性檢驗,如果在一定的合理范圍之內,則判斷矩陣不需要修改,如果不在一定的合理范圍之內,則需要修改判斷矩陣。
????1.計算一致性指標
????2.查找對應的平均隨機一致性指標RI
????3.計算一致性比例CR
? ?
????若CR<0.1,則判斷矩陣的一致性可接受。
????若CR>0.1,則需要對判斷矩陣進行修正。
層次單排序步驟? ? ? 通過數據計算的方法得到單獨某一層對上一層因素的相對重要性權值,這一過程稱為層次單排序,那能否確認層次單排序,需要提前進行一致性檢驗,即檢查判斷矩陣是否存在邏輯性的錯誤。
????1.歸一化處理
若為一致性矩陣(即aij*ajk=aik的判斷矩陣):
一致矩陣各列對應成比例,則只需對一列進行歸一化處理。
若為判斷矩陣:
由于各列不對應成比例,所以每列都需要進行歸一化處理。
? ? 2.求權重
即算術平均法、幾何平均法、特征值法。(由于篇幅的關系只舉一個例子)
例如算術平均法:
??? 1)將判斷矩陣按列歸一化(每列元素除以其所在列的和)。
??? 2)將歸一化的各列相加。(按行求和)
??? 3)將相加后得到的向量中每個元素除以n 即可得到權重向量。
????由此可知景色分配給北京、上海、廣州的權重為01638、0.2973、0.5372。
? ? ??經過層次單排序及一致性檢驗即可計算出措施層對準則層各因素的相對重要性權值以及準則層對目標層的相對重要性權值。
04
層次總排序及一致性檢驗
計算某一層次所有因素對于最高層(總目標)相對重要性的權值,稱為層次總排序。? ? ? 這一過程是從最高層到最低層次依次進行的。同樣需要進行一致性檢驗,若檢驗通過就可以得到各底層方案對于目標的權重,從而做出優質的選擇。
??????例如準則層的6個元素對目標層的權值序列為a1、a2、a3、a4、a5、a6。措施層的3個元素對準則層的某一因素Aj的權值隊列為b1j,b2j,b3j。則措施層某一因素Bi對目標層的權值為
設措施層三個元素對準則層某一因素Aj的一致性指標為CIj,隨機性指標為RIj,則層次總排序的一致性比率為
CR=(a1*CI1+......+a6*CI6)/(a1*RI1+......+a6*RI6)
若CR<0.1,則層次總排序的一致性檢驗通過。
計算權重及一致性檢驗的matlab代碼
????function?[Q]=AHP(B)
????%Q為權值,B為對比矩陣
????%導入判別矩陣B
????[n,m]=size(B);
????%判別矩陣具有完全一致性
????for?i=1:n
????for?j=1:n
????if?B(i,j)*B(j,i)~=1?
????????????????fprintf('i=%d,j=%d,B(i,j)=%d,B(j,i)=%d\n',i,j,B(i,j),B(j,i))
????????????????end?
????????????????end
????????????????end
????????????????%求特征值特征向量,找到最大特征值對應的特征向量
????????????????[V,D]=eig(B);
????????????????tz=max(D);
????????????????tzz=max(tz);
????????????????c1=find(D(1,:)==max(tz));
????????????????tzx=V(:,c1);%特征向量
????????????????%權
????????????????quan=zeros(n,1);
????????????????for?i=1:n
????????????????quan(i,1)=tzx(i,1)/sum(tzx);
????????????????end
????????????????Q=quan;
????????????????%一致性檢驗
????????????????CI=(tzz-n)/(n-1);
????????????????RI=[0,0,0.58,0.9,1.12,1.24,1.32,1.41,1.45,1.49,1.52,1.54,1.56,1.58,1.59];
????????????????%判斷是否通過一致性檢驗
????????????????CR=CI/RI(1,n);
????????????????if?CR>=0.1
????????????????fprintf('沒有通過一致性檢驗\n');
????????????????else
????????????????fprintf('通過一致性檢驗\n');
????????????????end
????????????????end
end
END
編? ? ? 輯:劉俊宇
責任編輯:鄒慧婷
通信電子創新基地
CHUANGXINJIDI總結
以上是生活随笔為你收集整理的yaahp层次分析法步骤_综合评价方法之层次分析法,选择再也难不倒你!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言文件分屏显示,通用子目录文件显示方
- 下一篇: 3D开源游戏引擎(遵循BSD和MIT)