文章目录
前言
评价类问题一、层次分析法
1.评价的目标
2.达到目标有几种可选方案
3.评价的指标
判断矩阵( a i j a_{ij} aij)
a~ij~表示,与j相比,i的重要程度
a~ij~*a~ji~=1
a~ij~>0
判断矩阵+a~ij~*a~jk~=a~ik~ ->一致矩阵
进行一致性检验
一致矩阵,只有一个特征值=n,秩=1
非一致矩阵,特征值>n
一致性指标CI 平均一致性指标RI
一致性比例CR=CI/RI <0.1 可接受
一致性检验
CI = (Max_eig - n) / (n-1);
RI=[0 0.0001 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]; %注意哦,这里的RI最多支持 n = 15
% 这里n=2时,一定是一致矩阵,所以CI = 0,我们为了避免分母为0,将这里的第二个元素改为了很接近0的正数
CR=CI/RI(n);
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<0.10
disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');
else
disp('注意:CR >= 0.10,因此该判断矩阵A需要进行修改!');
end
计算权重
算术平均值法
归一化处理
指标 | 1 | 2 | 3 |
---|---|---|---|
1 | a11 | a12 | a13 |
2 | a21 | a22 | a23 |
3 | a31 | a32 | a33 |
权重1= a 11 a 11 + a 21 + a 31 \frac{a_{11}}{a_{11}+a_{21}+a_{31}} a11+a21+a31a11
判断矩阵求权重
1.按列求权重,按行求算术平均值
2.对特征向量进行归一化
disp('请输入判断矩阵A')
A=input('A=');
[n,n] = size(A);
Sum_A = sum(A);
SUM_A = repmat(Sum_A,n,1);
Stand_A = A ./ SUM_A;
disp('算术平均法求权重的结果为:');
disp(sum(Stand_A,2)./n)
几何平均值法
Prduct_A = prod(A,2);
Prduct_n_A = Prduct_A .^ (1/n);
disp('几何平均法求权重的结果为:');
disp(Prduct_n_A ./ sum(Prduct_n_A))
特征值法
[V,D] = eig(A);
Max_eig = max(max(D));
[r,c]=find(D == Max_eig , 1);
disp('特征值法求权重的结果为:');
disp( V(:,c) ./ sum(V(:,c)) )
层次结构图!Smartart or 亿图图示 or Process on
局限性
(1)决策层不能太多,n<=15
(2)若决策层中指标的数据是已知的,则用TOPSIS