层次分析法
适用场景
主要用于解决评价类问题(例如:选择哪种方案最好、哪位运动员或者员工表现最好)
基本知识
例题:假如有三个地方分别是苏杭、北戴河、桂林,我们现在要运用层次分析法选出那个地方最值得去?
这时候就需要知道评判标准和指标
指标
其中指标可以通过在网上查找(百度,大众点评,知网等)得知,就此题而言,指标可以是景色、花费、居住、饮食、交通。
根据指标就可以得出下图:
标准
具体标准可以按如图表示
这些标准在不同问题中代表的含义不同,就本题而言,此中代表满意度
指标权重
指标权重就该指标在此评判系统中的重要程度
那怎么计算呢?请看下一小段----判断矩阵
判断矩阵
为了减小人为主观因素对决策的影响,我们将运用判断矩阵,又叫做正互反矩阵(虽然还是存在主观因素_)
我们根据上面介绍的评判标准,
以第一行为例,其中[1,1]的位置表示,景色对于景色谁更重要,这肯定是一样重要的-;那看[1,2]位置,景色对于花费来说重要程度是多少,这里是1/2,那对应的[2,1]位置就是它的倒数2。依照这个方法可以填完这个判断矩阵(这个判断矩阵的数值一般是根据网上查到的资料填写的,当然了也可以自己得到,但得到模型可能不太准确,但只要后面的一致性检验能过也行。)
一致性矩阵
首先我来说非一致性矩阵
看如下图:
假如我们设:苏杭=A 北戴河=B 桂林=C
那么我们可以看到从[1,3]可以看到A=C
从[1,2]我们可以看出A>B 从[2,3]我们可以看到B>C
由此我们可以看到A,B,C之间存在矛盾,此时就称它不一致
由此我们可以推出一个一致性矩阵最重要的性质是:
\[A[i,j]=A[i,k]*A[k ,j] \]根据这个性质我们又可以推出:各行(各列)之间成比例。
如下就是一个一致性矩阵:
注意:一致性矩阵的前提是判断矩阵(正互反矩阵)
一致性检验
背景知识
原理:检验我们构造的判断矩阵和一致矩阵是否有太大的差别。
下面为一致性矩阵的条件
根据线性代数知识易得:该n阶方阵A的秩R(A)=1,则便可知:
一致矩阵有一个特征值为n,其余特征值为0;
重要引理:n阶正互反矩阵A为一致性矩阵时,它的最大特征值
\[\lambda(max)=n \]当正互反矩阵A非一致时,一定满足:
\[\lambda(max)>n \]步骤
第一步:计算一致性指标CI
第二步:查找对应的平均随机一致性指标RI
这个不用我们计算,一般是查表得出:
第三步:计算一致性比例CR
如果CR < 0.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)/3=0.5949
北戴河=(0.2941+0.2857+0.25)/3=0.2766
桂林=(0.1177+0.1429+0.125)/3=0.1285
将上述步骤公式化就是
w代表权值
几何平均法
几何平均法的计算公式如下:
根据公式可得
苏杭=0.5954 北戴河=0.2764 桂林=0.1283
特征值求权重法
前提条件是,判断矩阵的一致性比例CR<0.1,我们才能使用特征值法
第一步:求出矩阵A的最大特征值以及其对应的特征向量
我们可以利用matlab中的eig()函数来直接求得特征向量V,特征值列向量D
然后再在D中筛选出最大的特征值,并找到对应的特征向量。
最大特征值:3.0055 对应的特征向量为:[-0.8902,-0.4132,-0.1918]
第二步:一致性检验
由公式得:CR=0.0053<0.1,所以该一致性可以接受
第三步:对求出的特征向量进行归一化即可得到我们的权重
得:
苏杭=0.5954
北戴河=0.2764
桂林=0.1283
汇总: