層次分析法 LAF
評價體系的優劣影響,計算評價指標的權重的一種方法
主觀性較強,現在一般不用
關鍵在于一致性檢驗和求權值
權重的計算
注意權重之和為1,需要歸一化
-
算數平均法
-
特征值法
矩陣的一致性檢驗
- 為什么要檢驗?:簡單來說就是比例不匹配,存在矛盾事實,
-例如桂林:北戴河!=桂林:蘇杭 * 蘇杭:北戴河
- 定義如下:總結而言就是
aij*ajk=aik
矩陣的一致性檢驗
-
判斷矩陣的一致性檢驗:
-
判斷矩陣一致性的代碼
%% 獲取判斷矩陣
disp("請輸入判斷矩陣")
A=input('A=');%這里還有參數
[n,n]=size(A);
%% 1.算術平均法求權重
sum_ColA=sum(A);
sum_A=repmat(sum_ColA,n,1);%A一定是方陣
Weight_A=A./sum_A;disp("算數平均法所求權重為");
w1=sum(Weight_A,2)./n;
disp(w1);
%% 2.特征值法求權重
[X,D]=eig(A);
max_eig=max(max(D));%max函數也是默認先列后行求最大值
[r,c]=find(D==max_eig,1);%找到值等于max_eig的前n個元素disp("所求特征值為:");
disp(max_eig);w2=X(:,c)./sum(X(:,c));
disp("特征值所求權重為");
disp(w2);
%% 3.平均權重
disp("平均權重為");
w3=(w1+w2)/2;
disp(w3);
%% 計算一致性指標CI=lambda-n/n-1和一致性比例CR
CI=(max_eig-n)/(n-1);RI=[0,0,0.52,0.89,1.12,1.26,1.36,1.41,1.46,1.49];%1~10的RICR=CI/RI(n);disp("一致性指標CI為");disp(CI);
disp("一致性指標RI為");disp(RI(n));
disp("一致性指標CR為");disp(CR);if CR<0.10disp("CR<0.10,這個判斷矩陣一致性可以接受")
else disp("CR>=0.10,這個矩陣一致性不可以接受")
end %if和end搭配
%% 層次總排序
%代碼部分放在excel表格中
往往通過excel表格實現