数学建模之层次分析法(复习/速通简略版)

V2.0(2023-07-26):进行代码的补充

V1.0(2023-07-25):缺少部分必要的公式,以及讲解的清晰程度不够

算法思想

引入:主观性打分问题

一般情况,在小样本数据下,进行使用。若是有其他选择的话,可以使用其他算法替代。

通过建立递阶层次结构,把主观的多个判断,变成客观的两两比较之上,把难于量化的定性判断,转化为可操作的要素比较。因此,常用来进行评价类问题的解决。

递阶层次结构

  • 目标层
  • 准则层
  • 方案层

比如:

旅行目的地的选择(涵盖多个因素)

学校的选择(涵盖多个因素)

目标:解决评价类问题

利用打分思想进行解决

权重——>重要性思维

  • 打分法实现问题实现的表格

Untitled

Untitled

评价类问题特点

确定评价指标,形成评价体系

思考的问题:

  • 评价的目标是什么
  • 我们为了达到这个目标有分社方案
  • 评价的准则或者指标

评价类问题背景搜索引擎

谷歌——>bing——>百度——>知乎——>微信

指定指标权重

分而治之:两两比较

  • 用1-9表示满意度

Untitled

评价表格抽象化——判断矩阵

  • Aij表示的意义是,与指标j相比,i的重要程度

  • i=j的时候,指标相同,置为1

  • Aij且满足Aij*Aji =1(正互反矩阵)

  • 一致矩阵 :满足Aij*Ajk=1

    各行各列成倍数关系

一致性检验

层次分析法中构造的判断矩阵均是成倍数关系的一致矩阵

在判断矩阵求权重之前,必须进行一致性检验

一致矩阵有一个特征值是n,其余特征值均为0

结论:

n阶正互反矩阵A为一直矩阵时,当且仅当最大特征值λ=n,非一致的时候λ>n

1.计算一致性指标CI

其中λ是判断矩阵特征值的最大值

n是判断矩阵的阶数 

Untitled

2.查找对应的平均随机一致性指标RI

利用随机抽样的方法来构造的

RI表

3.计算一致性比例CR

CR=CI/RI

若CR<0.1则可以认为判断矩阵的一致性可以接受,否则需要对判断矩阵进行修正

权重需要将进行归一化处理

将比例计算算数占比

若是判断矩阵不是正互反矩阵,那么可以使用全部的数据

  • 计算每一列的权重
  • 进行算数平均

权重求解方法

算数平均法求权重

  1. 讲判断矩阵按照列进行归一化
  2. 讲归一化的各列相加
  3. 相加后得到的向量每个元素除以n得到权重向量

算数平均法得到的权重向量

几何平均法求权重

  1. 将A的元素按照行相乘得到一个新的列向量
  2. 将新的向量的每个分量开n次方
  3. 进行归一化

特征值法

tip:一般来讲,会选择使用特征值来求解权重

一致矩阵有一个特征值为n,其余特征值为0

步骤:

  1. 求出矩阵A的最大特征值以及其对应的特征向量
  2. 求出特征向量进行归一化即可得到我们的权重

 

Untitled

Untitled

通过权重矩阵得到评价结果

利用Excle来求解评价结果

  • 利用F4锁定指标权重这一列

层次分析法步骤

第一步:层次结构图

目标层Objective

准则层Criterion

方案层Plan

利用SmartArt生成

PPT自带的方法

利用亿图图示生成

或者类似的专业软件

第二步:构造判断矩阵

构造判断矩阵O-C

Untitled

C1-C2-C3-C4-C5可以生成五个判断矩阵

第三步:判断矩阵通过一致性检验

(检验通过权重才能用)

比赛中计算权重可以用特征值法比较多

突出点:为了保证结果的稳健性

本文采用了三种方法求出权重,再根据权重计算各个方案的得分,并进行排序和综合分析,避免采用一种方法所产生的偏差

第四步:计算各层元素对系统目标的合成权重,并进行排序

层次分析法的局限性

  • 决策层不能太多,否则判断矩阵和一致矩阵的误差太大

层次分析法的代码实现

这篇博客写的很清晰

猜你喜欢

转载自blog.csdn.net/It_Ray/article/details/131907519