通俗语言讲解层次分析法


参考资料:清风老师的数学建模课试听课程
中间夹杂了自己对知识点的理解

算法概述

此算法根据我们的目标和评价指标,通过对不同的方案打分,最终在备选方案中选择分高的那个方案。

算法导入

如果要科学严谨地评价兵长和魏无羡谁是我心目中的第一男神,我只需要列出一张表
(表格内数据纯属胡侃)
通俗语言讲解层次分析法
在这个表格中,颜色相同的部分之和均为1,所有数字均是指权重或比例
那么我们可以计算出两位男神的得分
兵长:0.4x0.4+0.3x0.5+0.2x0.3+0.1x0.7=0.44
魏无羡:0.4x0.6+0.3x0.5+0.2x0.7+0.1x0.3=0.56
恭喜我们的羡羡
通俗语言讲解层次分析法

导入总结

1.根据要研究的问题,先确定我们的目标(选出第一男神)和备选方案(兵长和魏无羡)
2.根据网上资料、对问题的理解来确定评价指标(颜值、身手、身高、声音)
3.权重表格的生成
4.计算权重

问题描述

在桂林、苏杭、北戴河选择一个最佳旅游景点。通过资料确定评价指标为:交通、景色、花费、居住、饮食。

权重表格的生成

我们需要填写好这张表:
通俗语言讲解层次分析法
直接填写因为很难同时兼顾众多指标而难度很大,所以我们两两为一组来讨论权重,最终再汇总。
注意:颜色相同的部分,其权重和为1,所以可将表分为6个部分,对其中每一个部分中的元素两两为一组讨论权重,所以最终会生成6个表格。
下面以上图表格中蓝色部分为例:
首先考虑景色和花费,如果你觉得花费比景色稍微重要一些,根据下表
通俗语言讲解层次分析法
选择数值2,理解为花费:景色=2:1,那么景色:花费=1:2,即1/2
通俗语言讲解层次分析法
同理,根据资料和你对问题的理解,确定相应的权重,将上述表格填写完整,就能生成层次分析法中的判断矩阵
通俗语言讲解层次分析法
我们观察这个矩阵:
1.是一个方阵
2.每个元素都大于0,且aij*aji=1,满足这两个条件的矩阵被称为正互反矩阵
同理我们生成:
通俗语言讲解层次分析法
在这个矩阵中我们能发现:
苏杭:北戴河=2:1,北戴河:桂林=2:1,那么苏杭:桂林应该等于4:1,然而在表格中,苏杭:桂林=1:1,此时出现了逻辑问题。
对数据稍微修改一下:
通俗语言讲解层次分析法
此时逻辑问题被解决,矩阵被称为一致性矩阵。
一致性矩阵的要求:aij=aik * akj
通俗语言讲解层次分析法

观察矩阵,会发现每一行(列)都是呈一定比例缩放的。
反证法证明:aij=aik * akj能推出矩阵每一行(列)都是呈一定比例缩放的
通俗语言讲解层次分析法
但是控制矩阵完全一致不太可能,所以要控制不一致的程度。所以需要一致性检验,当不一致性太大,判断矩阵就失效了。这时就需要重新构造判断矩阵。

一致性检验

我们知道一致矩阵各行呈比例,在线性代数中,此矩阵秩为1,仅有一个非零特征值,也是最大特征值,其数值为n
以下为推导:(这里没有写特征向量的推导)
通俗语言讲解层次分析法
通俗语言讲解层次分析法
有图有真相:(行:a的取值,列:最大特征值)
通俗语言讲解层次分析法
通俗语言讲解层次分析法
我们可以根据这个性质来定义一致性检验。
一致性检验的计算步骤:
通俗语言讲解层次分析法

权重的计算

如果我们的矩阵是一致矩阵:
通俗语言讲解层次分析法
首先在计算前,将数据进行归一化。
因为是一致矩阵,所以只需取一列(行)来计算权重即可。
这里我懒癌犯了,数据是没有归一化的数据。
苏杭:1/(1+0.5+0.25),北戴河、桂林同理,这样就算出了在景色指标下,三个景点的权重(也可理解为令人满意的程度)

若我们的矩阵不是一致矩阵:
计算前,将数据归一化
1.算术平均法求权重
通俗语言讲解层次分析法
2.几何平均法求权重
通俗语言讲解层次分析法
3.特征值法求权重
这是在建模,三个求法当中,运用次数最多的一个
通俗语言讲解层次分析法
通俗语言讲解层次分析法
将计算结果填入表:
通俗语言讲解层次分析法
同理重复上述步骤,可将整个表格填写完整。
通俗语言讲解层次分析法
最后计算景点的得分:
苏杭:指标权重列与苏杭对应列的元素相乘后求和,其余同理。
最终可得,得分最高的是桂林。所以最佳旅游景点是桂林。

层次结构图

通俗语言讲解层次分析法
扯个题外话 ,这个结构和神经网络结构机器相似,除了箭头的方向。但是小弟才疏学浅,就不继续深挖下去了。看来这两个算法在我这篇博客里是有缘无份咯。

层次分析法局限性

1.RI表格的n值的最多到15,所以n的值不能过大
2.若指标数据已知,则数据的运用也是问题。