V2.0(2023-07-26):进行代码的补充
V1.0(2023-07-25):缺少部分必要的公式,以及讲解的清晰程度不够
算法思想
引入:主观性打分问题
一般情况,在小样本数据下,进行使用。若是有其他选择的话,可以使用其他算法替代。
通过建立递阶层次结构,把主观的多个判断,变成客观的两两比较之上,把难于量化的定性判断,转化为可操作的要素比较。因此,常用来进行评价类问题的解决。
递阶层次结构
- 目标层
- 准则层
- 方案层
比如:
旅行目的地的选择(涵盖多个因素)
学校的选择(涵盖多个因素)
目标:解决评价类问题
利用打分思想进行解决
权重——>重要性思维
- 打分法实现问题实现的表格
评价类问题特点
确定评价指标,形成评价体系
思考的问题:
- 评价的目标是什么
- 我们为了达到这个目标有分社方案
- 评价的准则或者指标
评价类问题背景搜索引擎
谷歌——>bing——>百度——>知乎——>微信
指定指标权重
分而治之:两两比较
- 用1-9表示满意度
评价表格抽象化——判断矩阵
-
Aij表示的意义是,与指标j相比,i的重要程度
-
i=j的时候,指标相同,置为1
-
Aij且满足Aij*Aji =1(正互反矩阵)
-
一致矩阵 :满足Aij*Ajk=1
各行各列成倍数关系
一致性检验
层次分析法中构造的判断矩阵均是成倍数关系的一致矩阵
在判断矩阵求权重之前,必须进行一致性检验
一致矩阵有一个特征值是n,其余特征值均为0
结论:
n阶正互反矩阵A为一直矩阵时,当且仅当最大特征值λ=n,非一致的时候λ>n
1.计算一致性指标CI
其中λ是判断矩阵特征值的最大值
n是判断矩阵的阶数
2.查找对应的平均随机一致性指标RI
利用随机抽样的方法来构造的
3.计算一致性比例CR
CR=CI/RI
若CR<0.1则可以认为判断矩阵的一致性可以接受,否则需要对判断矩阵进行修正
权重需要将进行归一化处理
将比例计算算数占比
若是判断矩阵不是正互反矩阵,那么可以使用全部的数据
- 计算每一列的权重
- 进行算数平均
权重求解方法
算数平均法求权重
- 讲判断矩阵按照列进行归一化
- 讲归一化的各列相加
- 相加后得到的向量每个元素除以n得到权重向量
算数平均法得到的权重向量
几何平均法求权重
- 将A的元素按照行相乘得到一个新的列向量
- 将新的向量的每个分量开n次方
- 进行归一化
特征值法
tip:一般来讲,会选择使用特征值来求解权重
一致矩阵有一个特征值为n,其余特征值为0
步骤:
- 求出矩阵A的最大特征值以及其对应的特征向量
- 求出特征向量进行归一化即可得到我们的权重
通过权重矩阵得到评价结果
利用Excle来求解评价结果
-
利用F4锁定指标权重这一列
层次分析法步骤
第一步:层次结构图
目标层Objective
准则层Criterion
方案层Plan
利用SmartArt生成
PPT自带的方法
利用亿图图示生成
或者类似的专业软件
第二步:构造判断矩阵
构造判断矩阵O-C
C1-C2-C3-C4-C5可以生成五个判断矩阵
第三步:判断矩阵通过一致性检验
(检验通过权重才能用)
比赛中计算权重可以用特征值法比较多
突出点:为了保证结果的稳健性
本文采用了三种方法求出权重,再根据权重计算各个方案的得分,并进行排序和综合分析,避免采用一种方法所产生的偏差
第四步:计算各层元素对系统目标的合成权重,并进行排序
层次分析法的局限性
- 决策层不能太多,否则判断矩阵和一致矩阵的误差太大