1.层次分析法(The analytic hierarchy process, AHP)

1.1 层次分析法模型部分

建模比赛最基础模型之一,主要解决评价类问题(eg.选择哪种方案好、哪位运动员或者员工表现得更优秀)

1.1.1 层次分析法中的数学问题

①Web for searching theses:

https://search.chongbuluo.com/

②层次分析法中的判断矩阵

又称为正互反矩阵

Definition:
记填写的表格为A,表中每一项元素记为aij,该方阵有如下特点:
(1)aij表示的意义是,与指标j相比,i的重要程度;
(2)当i=j时,两指标相同,因此同等重要,记为1,这也就解释了主对角线元素为1;
(3)aij>0且满足aij*aji=1。
则称该方阵为判断矩阵

上述所说的判断两项之间关系的表格:

关系表格 第一项 第二项 第三项 第四项
第一项 1 a12 a13 a14
第二项 a21 1 a23 a24
第三项 a31 a32 1 a34
第四项 a41 a42 a43 1

ATTENTION:在使用判断矩阵求权重前,必须对其进行一致性检验

③一致矩阵

Definition:
若矩阵中每个元素aij>0,且满足aij*aji=1,则我们称该矩阵为正互反矩阵
在层次分析法中,我们构造的判断矩阵是正互反矩阵
若正互反矩阵满足aij*ajk=aik,则我们称其为一直矩阵

一致矩阵的特点:每行(列)都是成比例的

④一致性检验

检验构造的判断矩阵与一致矩阵之间是否有太大的差别

方阵A为一致矩阵的充要条件:(1)aij>0;(2)a11=a22=…=ann=1;(3)[ai1,ai2,…,ain]=ki[a11,a12,…,a1n]

引理:A为n阶方阵,且r(A)=1,则A有一个特征值为tr(A),其余特征值均为0

因为一致矩阵的各行成比例,所以一致矩阵的秩为1
由引理可知:一致矩阵有一个特征值为n,其余特征值均为0

另外,当特征值为n时,对应的特征向量刚好为 k [ 1 a 11 , 1 a 12 , . . . , 1 a 1 n ] T ( k ≠ 0 ) k[\frac{1}{a_{11}},\frac{1}{a_{12}},...,\frac{1}{a_{1n}}]^T(k\not=0) k[a11​1​,a12​1​,...,a1n​1​]T(k=0)

若正互反矩阵(判断矩阵)满足aij*ajk=aik,则我们称其为一致矩阵

引理:n阶正互反矩阵A为一致矩阵时当且仅当最大特征值 λ m a x = n \lambda_{max}=n λmax​=n;且当正互反矩阵A非一致时,一定满足 λ m a x < n \lambda_{max}<n λmax​<n

判断矩阵越不一致时,最大特征值与n相差越大


一致性检验的步骤:

Step1:计算一致性指标CI

C I = λ m a x − n n − 1 CI=\frac{\lambda_{max}-n}{n-1} CI=n−1λmax​−n​

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

n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
RI 0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59

Step3:计算一致性比例CR

C R = C I R I CR=\frac{CI}{RI} CR=RICI​

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

CR>1的修正:往一致矩阵上调整,即各行成倍数关系

⑤计算权重

判断矩阵:

关系表格 第一项 第二项 第三项 第四项
第一项 1 a12 a13 a14
第二项 a21 1 a23 a24
第三项 a31 a32 1 a34
第四项 a41 a42 a43 1

用第一列数据计算权重:

第一项: 1 ( 1 + a 21 + a 31 + a 41 ) \frac{1}{(1+a_{21}+a_{31}+a_{41})} (1+a21​+a31​+a41​)1​

第二项: a 21 ( 1 + a 21 + a 31 + a 41 ) \frac{a_{21}}{(1+a_{21}+a_{31}+a_{41})} (1+a21​+a31​+a41​)a21​​

第三项: a 31 ( 1 + a 21 + a 31 + a 41 ) \frac{a_{31}}{(1+a_{21}+a_{31}+a_{41})} (1+a21​+a31​+a41​)a31​​

第四项: a 41 ( 1 + a 21 + a 31 + a 41 ) \frac{a_{41}}{(1+a_{21}+a_{31}+a_{41})} (1+a21​+a31​+a41​)a41​​

同理用第二列、第三列、第四列可以分别算出各项的权重


Plan1:算术平均法求权重

由上述四列分别为四个项求出了四个权重,将四个权重进行算术平均得到最后的权重数值

Step1:将判断矩阵按照列归一化(每一个元素除以其所在列的和

Step2:将归一化的各列相加(按行求和)

Step3:将相加后得到的向量中每个元素除以n即可得到权重向量

假设判断矩阵 A = a i j A=a_{ij} A=aij​,

权重向量 ω i = 1 n ∑ j = 1 n a i j ∑ k = 1 n a k j ( i = 1 , 2 , . . . , n ) \omega_{i}= \frac{1}{n}\sum_{j=1}^{n}\frac{a_{ij}}{\sum_{k=1}^{n}a_{kj}}(i=1,2,...,n) ωi​=n1​∑j=1n​∑k=1n​akj​aij​​(i=1,2,...,n)


Plan2:几何平均求权重

Step1:将A的元素按照行相乘得到一个新的列向量

Step2:将显得向量的每个分量开n次方

Step3:对该列向量进行归一化即可得到权重向量

假设判断矩阵 A = a i j A=a_{ij} A=aij​,

权重向量 ω i = ( ∏ j = 1 n a i j ) 1 n ∑ k = 1 n ( ∏ j = 1 n a k j ) 1 n , ( i = 1 , 2 , . . . , n ) \omega_{i}=\frac{(\prod_{j=1}^{n}a_{ij})^{\frac{1}{n}}}{\sum_{k=1}^{n}(\prod_{j=1}^{n}a_{kj})^{\frac{1}{n}}},(i=1,2,...,n) ωi​=∑k=1n​(∏j=1n​akj​)n1​(∏j=1n​aij​)n1​​,(i=1,2,...,n)


Plan3:特征值法求权重

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

另外,当特征值为n时,对应的特征向量刚好为 k [ 1 a 11 , 1 a 12 , . . . , 1 a 1 n ] T ( k ≠ 0 ) k[\frac{1}{a_{11}},\frac{1}{a_{12}},...,\frac{1}{a_{1n}}]^T(k \not= 0) k[a11​1​,a12​1​,...,a1n​1​]T(k=0)

这一特征向量刚好就是一致矩阵的第一列

Step1:求出矩阵A的最大特征值以及其对应的特征向量

Step2:对求出的特征向量进行归一化即可得到我们的权重


将计算结果填入权重表

权重表 算术平均法 几何平均法 特征值法
第一项
第二项
第三项
第四项

ATTENTION:一般只保留特征值法的权重,但是比赛最好都写上

⑥计算得分

可以使用Excel表格计算加权平均数

Excel中F4可以锁定单元格,计算多个得分是较为方便

1.1.2 层次分析法的思想

解决评价类问题提出的三个问题:

1.我们评价的目标是什么
2.我们为了达到这个目标有哪几种可选的方案
3.评价的标准或者说指标是什么

1.1.3 层次分析法的步骤

Step1 分析系统中各因素之间的关系,建立系统的递阶层次结构(即1.1.2中提到的三个问题)

层次结构图:目标层(Objective)、准则层(Criterion)、方案层(Plan)

层次结构图的制作:

①文档自带软件(SmartArt)生成:

开始 -> 提高列表等级 -> 全部选中 -> 右键点击”转换为SmartArt(M)“

②专业软件(以亿图图示为例)生成

ATTENTION:这个层次结构图非常重要,要放到建模论文中

Step2 构造判断矩阵

O-C判断矩阵:判断目标和各个准则之间的关系

O C1 C2 C3
C1
C2
C3

C-P判断矩阵:用来填写O-C判断矩阵

C P1 P2 P3
P1
P2
P3

Step3 由判断矩阵计算被比较元素对于该准则的相对权重,并进行一致性检验

ATTENTION:比赛中推荐三种计算权重的方法都要使用,并在论文中注明

eg.为保证结果的稳健性,本文采用了三种方法分别求出了权重,再根据得到的权重矩阵计算个方案的得分。并进行排序和综合分析,这样避免了采用单一方法所产生的偏差,得出的结论将更全面、更有效

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

权重矩阵 指标权重 方案1 方案2
指标1
指标2

1.1.4层次分析法的局限性

①评价的决策层不能太多,太多则n很大,判断矩阵和一致矩阵的差异可能很大

平均随机一致性指标RI的表格中n最多是15

②当决策层的数据已知,则判断矩阵一定,因此该情况不能使用AHP

1.2 层析分析法代码讲解

1 层次分析法(The analytic hierarchy process, AHP)相关推荐

  1. AHP层次分析法(Analytic Hierarchy Process)——个人学习笔记

    目录 一.相关知识与例子 二.代码实现 一.相关知识与例子 层次分析法是数学建模过程中最基础的模型之一,主要应用于评价问题.层次分析法是对一些较为复杂.较为模糊的问题作出决策的简易方法,其适用于那些难 ...

  2. 层次分析法(Analytic Hierarchy Process,AHP)

    层次分析法AHP 1. 基本原理 2. 基本思路 2.1 建立层次结构模型 2.2 构造判断矩阵 2.3 判断矩阵的一致性检验 3.权重赋值 最近参加的两个建模比赛中都用到了AHP(层次分析法,运筹学 ...

  3. 层次分析法原理及实例(AHP)

    层次分析法(AHP) 一.层次分析法概述 层次分析法(analytic hierarchy process),简称AHP,是指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之上进行定性和 ...

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

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

  5. MATLAB实现层次分析法AHP及案例分析

    层次分析法(Analytic Hierarchy Process, AHP) 1 模型背景 美国运筹学家匹兹堡大学教授Saaty在20世纪70年代初提出的一种层次权重决策分析方法. 层次分析法(Ana ...

  6. 层次分析法的一些理解

    何为层次分析法? 大名鼎鼎的层次分析法(Analytic Hierarchy Process, AHP)是将与决策相关的细分元素进行拆解,在此基础上做层次权重的方法,这是一种将定性与定量分析相结合的方 ...

  7. 层次分析法及matlab代码

    数学建模算法(一) 层次分析法 The analytic hierarchy process(AHP) [清风数学建模课程笔记] 文章目录 数学建模算法(一) 层次分析法 The analytic h ...

  8. 层次分析法(Analytic Hierarchy Process)

    层次分析法(Analytic Hierarchy Process ,简称 AHP ) AHP (Analytic Hierarchy Process)层次分析法是美国运筹学家Saaty教授于二十世纪8 ...

  9. 排队论,对策论,层次分析法

    排队论模型 排队论(Queuing Theory)也称随机服务系统理论,就是为解决服务的数量超过服务机构(服务台.服务员等)的容量.也就是说,到达的顾客不能立即得到服务,因而出现了排队现而发展的一门学 ...

最新文章

  1. ubuntu20.04编译openjdk8
  2. android纯白背景加灰,Android背景颜色设置为灰色而不是@android:颜色/白色
  3. 100%由清洁能源供电的数据中心什么样?苹果丹麦维堡数据中心投入使用
  4. 推荐搜索炼丹笔记:向量召回 MIND多兴趣双塔模型
  5. VTK:PolyData之ExternalContour
  6. Java(ArrayList和LinkedList)、(HashTable与HashMap)、(HashMap、Hashtable、LinkedHashMap和TreeMap比较)
  7. Vue「六」前端路由、vue-router
  8. php中,多维数组是什么意思,在PHP中回显多维数组
  9. 归并排序的java语言_归并排序 java语言
  10. js随机获取数组中的值
  11. Tableau Online免费注册试用
  12. jQuery入门基础
  13. 简单了解机器学习(Machine Learning)
  14. Elasticsearch和Spring Data Elasticsearch版本对应
  15. Minecraft Java版1.11_Editing Java版1.11-pre1
  16. 优秀!研二实习生“阿里+字节+拼多多+美团”四杀offer
  17. html5自动吸附,基于HTML5Canvas的3D渲染引擎界面以及吸附等效果的运用-
  18. 微信小程序运营系列(一)
  19. 小白学前端——让新手头疼的num++和++num问题
  20. 笔记:FPGA与VHDL语言学习1

热门文章

  1. 2022,上榜的实时操作系统有哪些?
  2. 查找元素在数组中的位置
  3. 北斗三号频点_全球首颗北斗三号芯片正式发布
  4. 2018.7.26第二次课及预习
  5. transform 神经网络(1)
  6. Java程序设计复习笔记 | 超详细
  7. 超简单的数据分析模板
  8. 免费的微软认证考试券又双叒叕来了 Microsoft Build 2022
  9. r语言平均值显著性检验_R语言:常用统计检验方法
  10. R语言分析(二)——薛毅R语言第二章后面习题解析