当前位置 > CPDA数据分析师 > “数”业专攻 > 为什么层次分析法中要求解"特征值"与"特征向量"

为什么层次分析法中要求解"特征值"与"特征向量"

来源:数据分析师 CPDA | 时间:2017-01-06 | 作者:admin

几年前在一个项目中为了给一个客户制定一套评估方案,我研习了层次分析法。当时留下个小小的遗憾或者困惑没能解决:即为什么计算一个方案的各个影响因素的权重的时候,非得拿那个比较矩阵的“特征值”对应的“特征向量”中的元素归一化来计算?!不这么做换另一个矩阵行不行……?我相信这个问题很多人像我一样都困惑过。到底层次分析法里面的机理是什么,一直是我几年来心中未解开的疑团。不过最近在研究“特征值”的时候,我收集到了很多论文,也找到了Saaty教授关于层次分析法的原作,将其中的逻辑线条逐一排序、梳理过后,终于搞明白了这个困扰我几年的难题。因为这不是一篇悬疑小说,按照阅读的习惯,首先先说结论,然后再讲背后的证明逻辑。

 

主要的逻辑主要有如下4个环节:

 

1.     在层次分析法中,人脑构造的“比较矩阵”其实并不太理想,存在着各个因素比较后“不一致”的情况。例如,A的重要性是B的2倍,B的重要性是C的2倍,结果轮到A和C比较时,A的重要性又是C的3倍(理想或严格的推导,结果应该是4倍)。

 

2.     所以,要研究“理想”的比较矩阵,看它有哪些特质可以用于计算各个影响因素的权重;同时,如果这个“不太理想”的矩阵和“理想”的矩阵之间的差异可以容忍,那么我们就可以在这个“不太理想”的矩阵里,参照“理想”矩阵特质,近似的求解得到我们想要的结果。

 

3.     那“理想”的矩阵有哪些特质呢?这个“理想”的矩阵学名是正互反矩阵,而且是“一致矩阵”:它的各个元素保持了比较过程中应该有的逻辑顺序。例如A:B=2,B:C=2,那么A:C=4. 而且可以证明这个矩阵只有一个非零特征值(也就是最大特征值),这个特征值对应的“特征向量”的各个元素,就是各个影响因素的权值。由于我们习惯将权重之和设定为100%,因此我们需要将这些权值进行归一化,归一化后,可以得到各个影响因素的权重了。所以啊说白了,求特征值只是一个中间步骤,真正要求的,是这个特征值对应的特征向量!

 

4.     通过“理想”矩阵的特质求解权重的方法后,我们于是可以照葫芦画瓢,像第2步中所说的那样,利用“不太理想”但差异可以容忍的矩阵,近似的求解得到我们想知道的权重了。

 

这样,通过以上的逻辑梳理,我终于算是搞明白为什么层次分析法要让我们去求解它的比较矩阵的最大特征值了。

 

PS: 这里补充说一下权值和权重的区别。举个例子,一个石头重2KG,被敲成了4个碎块,分别为0.8KG,0.6KG,0.4KG和0.2KG。这些就是4个碎块的称重就是权值,而它们的称重分别占比40%、30%、20%、10%就是权重。

 

以上的文字表述,都属于逻辑上的梳理,但是方法论毕竟是方法论,还得有严格的数学证明。以下是证明“理想”的矩阵的特质的数学过程,有兴趣的小伙伴可以接着往下看。

 

1.     首先证明“理想的比较矩阵”只有一个非零特征值(也就是最大特征值)。

 

假设各个影响因素的权值是Wi,虽然我们暂时不知道它具体是多少,但是因素的权值之间的比例是固定的,也即是Wi/Wj是一个固定的值。这一点很容易理解,比方说A的重要性是B的2倍,那么无论表示“重要性”的量纲是值多少钱,是跑的速度,是温度高低……还是啥,A比B重要2倍确是确定的,而且这个比例值我们通过重要性量表的打分就可以知道。那么,有了这些比值之后,我们就可以构建出一个“理想的”矩阵。

 

接下来,就要证明这个“理想”矩阵只有一个非零特征值(也就是最大特征值)。为了证明这一点,我们得先证明这个矩阵的rank=1,接着要证明这个rank=1的矩阵它只有一个非零特征值,其他的都是零值特征值,这样这个特征值才是最大特征值。

 

2.     其次证明,最大特征值的特征向量,它的各个元素恰好就是各个影响因素的权值

 

其实得到了权值之后,并非层次分析法的终点,最后的事情是将其各个权值进行归一化,变成我们常见的权重。

 

好,下面我们开始证明的旅程,我们通过6个步骤来完成证明和求解。

 

第一步,先搞清楚“理想”的矩阵的本质,它是一个正互反矩阵

 

矩阵本质

 

第二步,这个正互反矩阵又包含了元素之间的逻辑比较一致性,也就是说它还是一致矩阵。那么一个矩阵为一致矩阵的充分必要条件,是如下:

 

矩阵的充分必要条件

第三步,一致矩阵的秩也即是rank=1

 

rank

第四步,若已知矩阵rank=1,那么它只有一个非零特征值,其他特征值都是0。在这里,通过证明矩阵rank的一般性,即证明当rank(A)=r时,矩阵A至多有r个非零特征值。

 

非零特征值

 

将A的特征行列式的第j行(j=1,2,3,…r)分别乘以-kij后,加到第i行(i=r+1,r+2,…n)上得

代入值

 

所以,根据矩阵的特征多项式的结构可以知道,矩阵A至少有n-r个零特征值,也就是说矩阵A至多有r个非零特征值,因此当矩阵rank=1时,那么它只有一个非零特征值,其他特征值都是0,那个非零特征值因此也就是最大特征值了。

第五步,这个特征值对应的特征向量中的每个元素,就是各个影响因素的权值。

 

权值

 

第六步,如何归纳这些权值。
归纳权值

以上的数学推导和逻辑梳理,参考了以下的文献:

1.     R.W.SAATY 《THE ANALYTIC HIERARCHYPROCESS-WHAT IT IS AND HOW IT IS USED》

2.     胡端平,唐超 《一致矩阵的特征性质》

3.     张景晓 《矩阵的秩和非零特征值数量的关系》

 

本文来自CPDA深圳学员--署名“statist3927”,这位学员的专研精神,小编不禁感慨,我想这也许就是“大数据精神”。PS:想学习数据分析,想一起玩转数据的小伙伴希望加入CPDA这个大家庭。