层次分析法(Analytic Hierarchy Process,AHP)这是一种定性和定量相结合的、系统的、层次化的分析方法。这种方法的特点就是在对复杂决策问题的本质、影响因素及其内在关系等进行深入研究的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。是对难以完全定量的复杂系统做出决策的模型和方法。

层次分析法的用途

建模比赛的基础模型之一,其主要运用于解决评价类问题,例如:选择哪种方案最好,去哪里旅游最为经济实惠,等等。

举个栗子:韩梅梅高中毕业了,她想去清华和北大,在两所顶级的名校她会如何选择呢?

  1. 韩梅梅是个大学霸,所以她希望学习氛围要够好,学习氛围(0.4)
  2. 同时,她也希望未来能有个好工作,工作前景(0.3)
  3. 再者,她希望找个帅气的男朋友,男女比例(0.2)
  4. 最后,做过路过,不能错过的校园景色,校园景色(0.1)

括号里面代表的是韩梅梅心中对于选择学校的重要程度的标准(权重),其和为1。

作为一个高中生的韩梅梅并不知情,所以她选择网上冲浪一下,看看大家对于两所学校的评价。发现了下图:

然后暗暗给两所学校的学习氛围上打了评分,清华:0.6 北大:0.4
然后去看就业率,作为中国最好的两所学府,就业率自然不相上下,清华:0.5 北大:0.5
然后去看男女比例,由于清华的男女比例7:3,而北大的男女比例3:7,所以韩梅梅更向往清华大学,清华:0.7 北大:0.3
最后校园景色,北大和清华都是历史名校,景色自然不在话下,清华:0.5 北大:0.5

清华的最终得分:0.4 * 0.6 + 0.3 * 0.5 + 0.2 * 0.7 + 0.1 * 0.5 = 0.58
北大的最终得分:0.4 * 0.4 + 0.3 * 0.5 + 0.2 * 0.3 + 0.1 * 0.5 = 0.42
所以,最后韩梅梅去了清华

接下来我们再看个凡是讲AHP都会讲到的旅游问题,注意凡是题目中说请你确定评价指标,形成评价体系的问题都是评价类问题

凡是提到评价类问题,我们一定要从三个方面入手:

  1. 我们的评价目标是什么?
  2. 我们为了达到这个目标有几种可选的方案?
  3. 评价的标准或者准则是什么?(根据什么来评定好坏)

再举个栗子:韩梅梅在选好志愿之后,一家三口想出去旅游,目的地暂定为北戴河,桂林,苏杭等三地。确定了五个指标:

  1. 景色 2. 花费 3. 居住 4. 饮食 5. 交通

但是由于一次性确定五个指标,难免会因为考虑不周等因素影响导致顾此失彼,所以我们可以两个两个比较,比较十次得出最终权重结果。

通过此表韩梅梅对于五项权重做出如下图:

这个矩阵的意义在于:相比于列指标,行指标的重要性。
这个矩阵就是层次分析法中的:判断矩阵
同样我们也可以通过两两比较的方式,来比较在某一方面,两个地方的权重矩阵。

景色 苏杭 北戴河 桂林
苏杭 1 1/2 5
北戴河 2 1 2
桂林 1/5 1/2 1

同样我们可以得到其他四个矩阵

花费 苏杭 北戴河 桂林
苏杭 1 1/3 1/8
北戴河 3 1 1/3
桂林 8 3 1

…等等
当然矩阵也会出现矛盾的地方,比如:

景色 苏杭 北戴河 桂林
苏杭 1 1/2 1
北戴河 2 1 2
桂林 1 1/2 1

我们可以看出,苏杭的景色==桂林的景色,北戴河的景色稍有不如苏杭,但是在第三行我们发现,桂林景色稍有不如北戴河,所以矛盾就产生了,所以桂林到底是比北戴河大还是小?

如何确定一致矩阵?
各行各列之间呈倍数关系
但是在建模过程中建立完全一致的矩阵并不现实,所以我们尽量控制这个范围。

一致性检验

一致性的条件:
1.每一个元素都大于0;
2.对角线上的元素都为1;
3.行与行,列与列成比例,所以秩为一,r(A)=1,特征值为n,其余为0;
若判断矩阵(正互反矩阵)满足aija_ijai​j * ajka_jkaj​k = aika_ikai​k,此矩阵为一致矩阵。
引理:n阶正互反矩阵A为一致矩阵时当且仅当最大特征值 Λmax\Lambda_maxΛm​ax=n;
当正互反矩阵非一致时,一定有Λmax\Lambda_maxΛm​ax>n;
下图为正互反矩阵:

我们可以看到元素关于对角线互为倒数。
那么如何来看Λmax\Lambda_maxΛm​ax 与 n之间的关系呢?
下图是a的选值和Λ\LambdaΛ之间的变化图:

我们可以看到,当a等于4时,Λmax\Lambda_maxΛm​ax = n,这也就是引理中所说的正互反矩阵此时为一致矩阵,当a != 4时,Λ\LambdaΛ 皆大于 n.。
由图可知,当判断矩阵越不一致时,最大特征值与n的偏差越大。

一致性检验的步骤

第一步:计算一致性指标CI

第二步:查找对应的平均随机一致性指标RI:

第三步:计算一致性比例CR

如果CR小于0.1则认为判断矩阵的一致性可以接受;否则就要对矩阵进行整改。

一致矩阵如何计算权重

首先要进行归一化处理:

归一化函数是一种计算方式,将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。 把需要处理的数据经过处理后(通过某种算法)限制在需要的一定范围内。

从上述栗子中的一致矩阵来看:

景色 苏杭 北戴河 桂林
苏杭 1 2 4
北戴河 1/2 1 2
桂林 1/4 1/2 1

第一列进行归一化处理就是:
苏杭 = 1 / (1+0.5+0.25)
北戴河 = 0.5 / (1+0.5+0.25)
桂林 = 0.25 / (1+0.5+0.25)
由于第二列,第三列都是成比例的,所以进行归一化的结果是一样的。
但是如果使用判断矩阵进行归一化处理:

景色 苏杭 北戴河 桂林
苏杭 1 2 5
北戴河 1/2 1 2
桂林 1/5 1/2 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
各列之间不存在成比例关系了,所以相应的数值也发生了变化。所以也要根据第二列,第三列算出所有权重。

景色 苏杭 北戴河 桂林
苏杭 0.5882 0.5714 0.625
北戴河 0.2941 0.2857 0.25
桂林 0.1177 0.1429 0.125
未归一化权重
苏杭 0.5882 + 0.5714 + 0.625 = 1.7846
北戴河 0.2941 + 0.2857 + 0.25 = 0.8298
桂林 0.1177 + 0.1429 + 0.125 = 0.3856
权重
苏杭 1.7846/3 = 0.5949
北戴河 0.8298/3 = 0.2766
桂林 0.3856/3 = 0.1286

然后用三组权重进行加权平均,也称为算术平均法求权重
另外还有两种方法是几何平均法求权重特征值求权重(比赛中常用)。
特征值求权重方法:一致矩阵只有一个特征值为n,其余特征值为0.当特征值为n时,我们可以发现它所对应的特征向量是:

由于一致矩阵的特性,关于对角线对称的元素互为倒数,所以特征向量可以看作是k倍的第一列向量的转置。
同理我们可以先算出景色,花费,居住,饮食,交通的权重:


然后对其余四个指标对于三地的矩阵,计算相应的权重:

我们可以根据此图计算出:
苏杭的得分:0.5954 * 0.2636 + 0.4758 * 0.0819 + 0.0538 * 0.4286 + 0.0981 * 0.6337 + 0.1087 * 0.1667 = 0.299
同理北戴河得分0.245,桂林得分0.455,相比较而言韩梅梅选择去桂林旅游。

层次分析法

从上述栗子也可以看出,AHP层次分析法就是通过建立地界层次结构,把人类判断转化成若干因素中的两两比较重要性的比较上,从而把难以量化的定性判断转换成可操作的重要度的比较上面。它把复杂的问题分解为多个组成因素,又将这些因素按支配关系分别形成递阶层次关系结构,通过两两比较的方法确定决策方案相对重要度的总排序。

层次分析法步骤

第一步:分析系统中各元素之间的关系,建立系统的递阶层次结构

只要你在论文中用到了AHP层次分析法,那么层次结构图就一定要放在论文中。
第二步:构造判断矩阵,通过上一层次构造两两比较矩阵。
理论上一致矩阵需要有专家来帮你填写表格,实际上你就是专家,几乎都是自己填写。(所以在论文里不用说谁来填的表格)
如果题目中有相应数据,优先考虑这些数据进行计算,填写要符合实际。
第三步:有判断矩阵计算被比较元素相对于该准则的相对权重,并进行一致性检验。
三种方法计算权重:

  1. 算术平均法
  2. 几何平均法
  3. 特征值法
    建议在比赛中,三种方法一起用,三管齐下,进行比较,显得很专业。确保结果的稳健性

层次分析法局限性

  1. 评价的决策层不能过多,太多的话n会很大,判断矩阵和一致矩阵的差异会很大。而且平均随即一致性指标RI表格中n最大为15.
  2. 如果决策层的指标的数据都是已知的,不需要自己去编写的话,我们如何利用这些数据来使得评价的更加准确呢?(Topsis

相关数学建模学习视频请关注b站:数学建模学习交流:清风老师
上述图均来自该视频,老师视频制作不易,((/ω╲))最好三连。
哪里写的不对也请指教,告辞~

数学建模之层次分析法AHP相关推荐

  1. 【数学建模】层次分析法AHP(评价与决策)

    文章目录 一.算法介绍 二.适用问题 三.算法总结 1. 步骤 2. 如何构建层次结构模型 3. 如何构建成对比较矩阵 4. 如何进行一致性检验 四.应用场景举例(旅游问题) 1. 建模 2. 构造成 ...

  2. 【数学建模】层次分析法(AHP)-Python实现

    1 前言 本文主要讲解层次分析法(AHP)的python实现,后续会跟进实例分析 2 代码实现 导入包 import numpy as np 2.1 构造判断矩阵 判断矩阵一般采用专家意见法,也就是德 ...

  3. 【数学建模】—— 层次分析法(AHP)

    层次分析法 The analytic hierarchy process (AHP) 建模比赛中最基础的算法之一,主要用于解决评价类的 解决评价类问题,首先要想到以下三个问题: 我们评价的目标是什么? ...

  4. (一)【数学建模】层次分析法

    文章目录 1. 评价类问题可用打分解决 (1)确定权重的方法(分而治之的思想): 1) 确定判断矩阵 2)计算权重 <1>算术平均法求权重 <2>几何平均法求权重 <3& ...

  5. 【数学建模】层次分析法

    层次分析法 引例 层次分析法介绍 成对比较阵和一致性检验 组合权向量 层次分析法步骤 代码实现 RI 一致性检验 层次单排序 计算组合权向量(层次总排序) 经典案例 代码实现 练习训练 参考文献 引例 ...

  6. 数学建模之层次分析法模型

    目录 问题 问题实例 问题分析 建立层次分析法模型 分析权重的方法 ​编辑 填表指标的权重​编辑 一致性检验 一致性检验的引入 一致性检验的步骤 计算判断矩阵 归一化处理 算术平均法求权重 几何平均法 ...

  7. 数学建模之层次分析法详解(附个人论文)

    根据清风老师的课程学习,收获很大,https://www.bilibili.com/video/BV1DW411s7wi 1.该模型所解决的问题 评价类问题.(如哪个地方比较好,哪位员工优秀) 2. ...

  8. 熵权法EW与层次分析法AHP之数学原理及实例

    1.概述 对于多指标或多目标决策问题,由于涉及到多个指标或属性,在对实测数据进行评价时,需要确定这些指标之间的相互权重,各指标权重的客观性与合理性也会大大影响到最终的评价结果.目前对于指标权重确定的方 ...

  9. 病毒传播数学建模matlab分析,数学建模MATLAB之分析法(一)

    [toc] 本篇分别有主成分分析,层次分析,聚类分析,因子分析的简单介绍以及在MATLAB(2018a)上使用的简单介绍 ( 附源码 ) 主成分分析 主成分分析-百度百科 简单讲:主成分分析就是取出几 ...

最新文章

  1. 美军花大力推动人工智能研发
  2. umask及文件默认和原始权限说明
  3. linux(ubuntu)下C++访问mysql数据库
  4. Kubernetes 搭建 ES 集群(存储使用 cephfs)
  5. Spring Boot最核心的21个注解
  6. BURP安装Turbo Intruder插件报错问题
  7. CVS版本控制-冲突解决方法
  8. 斐讯k2虚拟服务器设置,斐讯K2调配设置
  9. 选择单页设计的理由是什么?
  10. 盘点百度 4 个牛逼哄哄的开源项目
  11. CodeForces - 1413C Perform Easily(双指针)
  12. python 爬虫http2
  13. 第一章 计算机体系结构(一)— 体系结构分类
  14. 开博啦!学如逆水行舟,不进则退
  15. 铜三铁四,京东裁员,offer毁约,对此我们真的没办法吗?
  16. Js如何实现收藏功能
  17. 【BUUCTF刷题记录】[极客大挑战 2019] Http
  18. 开源配置管理工具config-toolkit 使用心得
  19. 虚拟CANTool装置的四象限法分析
  20. 「直播回放」数仓如何落地

热门文章

  1. Android中的MVC详解
  2. 潮汕牛肉火锅,美味在你身边
  3. Codeforces: TMT Document
  4. 代码质量管理工具:SonarQube常见的问题及正确解决方案
  5. vue+canvas 小球连线——碰壁折返
  6. 从新生宿舍到浙江大学计算机学院,2020年浙江大学新生宿舍环境条件,大一新生男生女生宿舍内部图片【多图】...
  7. 使用AKLocationManager定位
  8. 高分子材料S阻燃剂的分类及参考配方
  9. 从万达体育和快手合作看后疫情时代体育赛事产业的变局
  10. 2021年第十二届蓝桥杯省赛B组(C/C++)第二场题解