层次分析法

一、简介

层次分析法(AHP)主要用于解决评价类问题,是一种实用的多方案或多目标,定性与定量相结合的决策分析方法。
是将决策问题按总目标、评价准则、备选方案的顺序分解为不同的层次结构,然后求得每一层次的各元素对上一层次某元素的优先权重,最后得出各备选方案对总目标的最终权重,最终权重最大者即为最优方案。
填写这个表格,只需将指标权重与相应方案的准则层对应相乘即可

指标权重

方案1

方案2

方案3


准则1

准则2

准则3


二、步骤

1.建立结构模型,包括目标层、准则层、方案层。
2.构造判断矩阵
由于一次性考虑多个准则之间的关系,往往会考虑不周,所以可以两两进行比较最终根据两两比较的结果来推算出权重

aij 代表i对于j的重要程度,与aji成倒数关系

层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_层次分析法几何平均值计算权重的公式

层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_特征向量_02

层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_数学建模_03


这个矩阵就是判断矩阵

方案层对于准则层各准则的判断矩阵如下

准则

方案1

方案2

方案3


方案1

1

方案2

1

方案3

1


aij

1

  • 一致矩阵
    若矩阵中每个元素aij >0且满足aij × aji= 1 ,则称该矩阵为正互反矩阵。
    在层次分析法中,我们构造的判断矩阵均是正互反矩阵。
    若正互反矩阵满足aij× ajk = aik,则我们称其为一致矩阵。

注意:在使用判断矩阵求权重之前,必须对其进行一致性检验。

3.一致性检验

定义一致性指标,层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_特征向量_04
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

一致性比率层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_层次分析法几何平均值计算权重的公式_05

当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:对求出的特征向量进行归一化即可得到我们的权重

将得出结果填入表格

(一致矩阵只需要算一列,因为成比例判断矩阵,不一致,每列都要算)

再根据这个矩阵计算指标权重,也是以上三种方法

层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_层次分析法几何平均值计算权重的公式_06


最后得到

指标权重

苏杭

北戴河

桂林

景色

0.2636

0.5949

0.2766

0.1285

花费

0.4758

居住

0.0538

饮食

0.0981

交通

0.1087

其余以此类推

层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_权重_07

注:
一般论文利用层次分析法解决实际问题时,都是采用其中某一种方法求权重,而不同的计算方法可能会导致结果有所偏差。为了保证结果的稳健性,最好采用了三种方法分别求出了权重,再根据得到的权重矩阵计算各方案的得分,并进行排序和综合分析,这样避免了采用单一方法所产生的偏差,得出的结论将更全面、更有效。

计算各方案得分,可使用excel减少工作量

层次分析法几何平均值计算权重的公式 层次分析法怎么求权重_一致性检验_08

有些缺点
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