选择1~9 的标度方法是基于下述的一些事实和乘法根据:
1. 在估计事物质区别性时,人们常用五种判断来表示:即相等、较强、强、很强、绝对强,当需要更高精度时,还可以在相邻判断之间作出比较,这样,总共有九个数据,既保持了连贯性,又便于在实践中应用。
2. 心理学家认为,人们在同时比较若干对象时,能够区别差异的心理学极限为7±2 个对象,这样它们之间的差异正好可以用九个数字表示出来。
3. Saaty 还将1~9 的标度方法同另外26 种标度方法进行过比较,结果表明1~9 标度是可行的,并且能较好地将思维判断数量化。
%% 注意:在论文写作中,应该先对判断矩阵进行一致性检验,然后再计算权重,因为只有判断矩阵通过了一致性检验,其权重才是有意义的。
%% 在下面的代码中,我们先计算了权重,然后再进行了一致性检验,这是为了顺应计算过程,事实上在逻辑上是说不过去的。
%% 因此大家自己写论文中如果用到了层次分析法,一定要先对判断矩阵进行一致性检验。
%% 而且要说明的是,只有非一致矩阵的判断矩阵才需要进行一致性检验。
%% 如果你的判断矩阵本身就是一个一致矩阵,那么就没有必要进行一致性检验。
disp(‘请输入判断矩阵A’)
A=input(‘A=’);
[n,n] = size(A);
% % % % % % % % % % % % %方法1: 算术平均法求权重% % % % % % % % % % % % %
Sum_A = sum(A);
SUM_A = repmat(Sum_A,n,1);
Stand_A = A ./ SUM_A;
disp(‘算术平均法求权重的结果为:’);
disp(sum(Stand_A,2)./n)
% % % % % % % % % % % % %方法2: 几何平均法求权重% % % % % % % % % % % % %
Prduct_A = prod(A,2);
Prduct_n_A = Prduct_A .^ (1/n);
disp(‘几何平均法求权重的结果为:’);
disp(Prduct_n_A ./ sum(Prduct_n_A))
% % % % % % % % % % % % %方法3: 特征值法求权重% % % % % % % % % % % % %
[V,D] = eig(A);
Max_eig = max(max(D));
[r,c]=find(D == Max_eig , 1);
disp(‘特征值法求权重的结果为:’);
disp( V(:,c) ./ sum(V(:,c)) )
% % % % % % % % % % % % %下面是计算一致性比例CR的环节% % % % % % % % % % % % %
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) 最低层:它是为实现目标而供选择的各种措施、决策方案。但是,每层包含的因素
个数不要超过9 个,过多的话,可考虑再分出层次来。
判断矩阵元素的值反映了人们对因素关于目标的相对重要性的认识,在相邻的两个层次
中,高层次为目标,低层次为因素。
判断矩阵 A 的特征根 Aw w
max 将w 归一化,即为诸因素对于目标的相对重要性的排
序数值,计算出CI 值,当CR<0.1 时,则认为层次单排序的结果有满意的一致性,否则
需要调整判断矩阵的元素取值。
计算同一层次所有因素对于最高层(总目标)相对重要性的排序权值,称为层次总排序,
这一过程是最高层次到最低层次逐层进行的, 若上一层次A 包含m 个因素
1 2 , , , m A A A ,其层次总排序的权值分别为a1 , a2 ,, am ,下一层次 B 包含 n 个因素
B1 , B2 ,, Bn ,它们对于因素Aj 的层次单排序的权值分别为b1 j ,b2 j ,,bnj ,当(Bk与 Aj
无联系时,取bkj 0),此时 B 层次总排序的权值由表 3 给出。