层次分析法——确定指标权重、解决评价类问题

“评价类问题可以用打分解决。”

譬如我们想对A、B、C三个景点进行评分,若题目没给数据可查阅文献(显得专业)得到关于景点评分的几个指标,显然,不同指标对景点的评价高低影响程度不同,即需确定下表中的值:

指标权值 景点A 景点B 景点C
景色
花费
居住
饮食
交通

我们可用1-9表示重要程度,如下:

标度 含义
1 表示两个因素相比,具有同样重要性
3 表示两个因素相比,一个因素比另一个稍微重要
5 表示两个因素相比,一个因素比另一个稍明显要
7 表示两个因素相比,一个因素比另一个强烈重要
9 表示两个因素相比,一个因素比另一个极端重要
2,4,6,8 上述两相邻判断的中值
倒数 A和B相比如果标度为3,那么B和A相比就是1/3

(注:这里的重要性有时解释为满意度更方便理解)


首先解决第一个问题:确定各个指标的权值。我们用aij表示与指标j相比,i的重要程度。

景色 花费 居住 饮食 交通
景色 1 1/3 4 3 2
花费 3 1 6 5 5
居住 1/4 1/6 1 1/2 1/3
饮食 1/3 1/5 2 1 1
交通 1/2 1/5 3 1 1

 根据五个指标的重要程度我们可得到关于A、B两个景点的一个5×5的正互反矩阵(称满足_{^{}}aij>0且aij×aji = 1的矩阵为正互反矩阵)。实际上,上面这个矩阵就是层次分析法中的判断矩阵。

第二个问题:对于每个指标,如何给A、B、C三个景点打分?

举个栗子:

景色 景点A 景点B 景点C
景点A 1 2 5
景点B 1/2 1 3
景点C 1/5 1/3 1

但这样比较得出的结果主观性很强,完全正确吗?我们举个极端的例子:

如上,景点A比景点B景色稍微好些,景点A和景点C景色一样好,景点B比景点C景色稍微好些,显然出现了不一致现象,这就是主观判断可能导致的矛盾(如果把3换成更大的数那么不一致现象会更加严重),那怎么去判断是否出现了矛盾呢?

我们知道,aij = i的重要程度 / j的重要程度 , ajk = j的重要程度 / k的重要程度 , 如果一致,那么有aik = aij × ajk 。而上述例子不满足该条件,因此出现了矛盾。我们称满足该条件的矩阵为一致矩阵。

我们现在已经知道:若矩阵中每个元素aij>0且满足aij×aji = 1,则称该矩阵为正互反矩阵。若正互反矩阵满足aij×ajk = aik,则我们称其为一致矩阵。

因此,在层次分析法中,我们构造的判断矩阵均是正互反矩阵,在使用判断矩阵求权值前,必须对其进行一致性检验。

一致性矩阵:

(可发现各行各列成倍数关系)

引理:n阶正互反矩阵为一致矩阵时当且仅当最大特征值λ = n;当正互反矩阵非一致时,一定满足最大特征值λ > n,且判断矩阵越不一致时,最大特征值与n相差就越大.

实际中,得到的矩阵就是一致矩阵的情况很小,我们引入一致性指标CI.

CI = (λ_max - n) / (n-1)

然后查找对应的平均随机一致性指标RI,再计算一致性比例CR,CR = CI / RI。如果CR < 0.1,则可认为判断矩阵的一致性可以接受,否则需要对判断矩阵进行修正。


一致矩阵怎么计算得分(权值)?

注意,得分(权值)一定要进行归一化处理:景点A = 1/(1+0.5+0.25);景点B = 0.5/(1+0.5+0.25);景点C = 0.25/(1+0.5+0.25).

判断矩阵怎么计算得分(权值)?

1)算术平均法:仅使用第一列数据计算得到A1、B1、C1;仅使用第二列数据计算得到A2、B2、C2;仅使用第三列数据计算得到A3、B3、C3。最后求算术平均权重。

2)几何平均分求权重。

3)特征值法求权重(就是仿照一致矩阵的求法)。(使用较多)

总结:

层次分析法第一步:分析系统中各因素之间的关系,建立系统的递阶层次结构——目标层、准则层、方案层.(注意:如果用到了层次分析法,那么层次结构图一定要放在论文中);

层次分析法第二步:对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造判断矩阵.(注意:任何评价类模型都具有主观性,理想情况是专家群体判断,但现实情况都是自己填的),准则层——方案层的判断矩阵数值要结合实际来填写;

层次分析法第三步:由判断矩阵计算被比较元素对于该准则的相对权重(建议三种方法都用,再综合分析,使得出的结论更全面、更有效),并进行一致性检验,检验通过权重才能用。

层次分析法的局限性:1、评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异可能会很大。2、如果决策层中指标的数据是已知的,就不能再用层次分析法了。

你可能感兴趣的:(数学建模,数据分析,算法,线性代数,矩阵,集成学习)