层次分析法
一、简介
层次分析法(AHP)主要用于解决评价类问题,是一种实用的多方案或多目标,定性与定量相结合的决策分析方法。
是将决策问题按总目标、评价准则、备选方案的顺序分解为不同的层次结构,然后求得每一层次的各元素对上一层次某元素的优先权重,最后得出各备选方案对总目标的最终权重,最终权重最大者即为最优方案。
填写这个表格,只需将指标权重与相应方案的准则层对应相乘即可
指标权重 | 方案1 | 方案2 | 方案3 | … | |
准则1 | |||||
准则2 | |||||
准则3 | |||||
… |
二、步骤
1.建立结构模型,包括目标层、准则层、方案层。
2.构造判断矩阵
由于一次性考虑多个准则之间的关系,往往会考虑不周,所以可以两两进行比较最终根据两两比较的结果来推算出权重
aij 代表i对于j的重要程度,与aji成倒数关系
这个矩阵就是判断矩阵
方案层对于准则层各准则的判断矩阵如下
准则 | 方案1 | 方案2 | 方案3 | … |
方案1 | 1 | |||
方案2 | 1 | |||
方案3 | 1 | |||
… | aij | 1 |
- 一致矩阵
若矩阵中每个元素aij >0且满足aij × aji= 1 ,则称该矩阵为正互反矩阵。
在层次分析法中,我们构造的判断矩阵均是正互反矩阵。
若正互反矩阵满足aij× ajk = aik,则我们称其为一致矩阵。
注意:在使用判断矩阵求权重之前,必须对其进行一致性检验。
3.一致性检验
定义一致性指标,
CI=0,有完全的一致性;CI接近于0,有满意的一致性;CI越大,不一致越严重。为了衡量CI的大小,引入随机一致性指标RI表。
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
RI | 0 | 0 | 0.58 | 0.90 | 1.12 | 1.24 | 1.32 | 1.41 | 1.45 | 1.49 | 1.51 |
一致性比率:
当CR<0.1时,则认为通过一致性检验,否则要对判断矩阵加以调整
4.按列归一化计算权重
举个例子
景色 | 苏杭 | 北戴河 | 桂林 |
苏杭 | 1 | 2 | 5 |
北戴河 | 1/2 | 1 | 2 |
桂林 | 1/5 | 1/2 | 1 |
三种方法:
(1)算术平均法
仅使用第一列的数据,计算出来的权重:
苏杭=1/ (1+0.5+0.2)= 0.5882
北戴河=0.5/ (1+0.5+0.2)= 0.2941
桂林=0.2/ (1+0.5+0.2) =0.1177
使用第二列的数据,计算出来的权重:
苏杭=2/ (2+1+0.5) = 0.5714
北戴河=1/ (2+1+0.5) = 0.2857
桂林=0.5/ (2+1+0.5)= 0.1429
使用第三列的数据,计算出来的权重:
苏杭=5/ (5+2+1) =0.625
北戴河=2/ (5+2+1)= 0.25
桂林=1/ (5+2+1) =0.125
得到
景色 | 苏杭 | 北戴河 | 桂林 |
苏杭 | 0.5882 | 0.5714 | 0.625 |
北戴河 | 0.2941 | 0.2857 | 0.25 |
桂林 | 0.1177 | 0.1429 | 0.125 |
未归一化的权重 | |
苏杭 | 0.5882+0.5714+0.625=1.7846 |
北戴河 | 0.2941+0.2857+0.25=0.8298 |
桂林 | 0.1177+0.1429+0.125=0.3856 |
权重 | |
苏杭 | 1.7846/3=0.5949 |
北戴河 | 0.8298/3=0.2766 |
桂林 | 0.3856/3=0.1285 |
(2)几何平均法
1:将A的元素按照行相乘得到一个新的列向量
2:将新的向量的每个分量开n次方
3:对该列向量进行归一化即可得到权重向量
(3)特征值法
1:求出矩阵A的最大特征值以及其对应的特征向量
2:对求出的特征向量进行归一化即可得到我们的权重
将得出结果填入表格
(一致矩阵只需要算一列,因为成比例判断矩阵,不一致,每列都要算)
再根据这个矩阵计算指标权重,也是以上三种方法
最后得到
指标权重 | 苏杭 | 北戴河 | 桂林 | |
景色 | 0.2636 | 0.5949 | 0.2766 | 0.1285 |
花费 | 0.4758 | |||
居住 | 0.0538 | |||
饮食 | 0.0981 | |||
交通 | 0.1087 |
其余以此类推
注:
一般论文利用层次分析法解决实际问题时,都是采用其中某一种方法求权重,而不同的计算方法可能会导致结果有所偏差。为了保证结果的稳健性,最好采用了三种方法分别求出了权重,再根据得到的权重矩阵计算各方案的得分,并进行排序和综合分析,这样避免了采用单一方法所产生的偏差,得出的结论将更全面、更有效。
计算各方案得分,可使用excel减少工作量
有些缺点
1.不能为决策提供新方案,只能从备选方案中选择较优者。
2. 定量数据较少,定性成分多,不易令人信服
3. 指标过多时,数据统计量大,且权重难以确定
三、附上代码
%matlab
disp('请输入准则层判断矩阵A(n阶)');
A=input('A=');
[n,n]=size(A);
[V,D]=eig(A);%求得特征向量和特征值
%求出最大特征值和它所对应的特征向量
tempNum=D(1,1);
pos=1;
for h=1:n
if D(h,h)>tempNum
tempNum=D(h,h);
pos=h;
end
end
w=abs(V(:,pos));
w=w/sum(w);
t=D(pos,pos);
disp('准则层特征向量w=');disp(w);disp('准则层最大特征根t=');disp(t);
%以下是一致性检验
CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59 1.60 1.61 1.615 1.62 1.63];
CR=CI/RI(n);
if CR<0.10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
else disp('此矩阵的一致性验证失败,请重新进行评分!');
end