层次分析法-AHP

  • 问题:选择一部适合自己的手机
  • 一、确定评价对象与评价指标
    • 评价对象
    • 评价指标
  • 二、确定打分
    • 比较矩阵
      • 两两比较得到比较矩阵
      • 判断比较矩阵是否能通过一致性检验
    • 得分向量
      • 归一化处理
      • 求解得分向量
    • 打分矩阵
  • 模型评价
    • 优点
      • 系统性的分析方法
      • 简洁实用的决策方法
      • 所需定量数据信息较少
    • 缺点
      • 不能为决策提供新方案
      • 定量数据较少,定性成分多,不易令人信服
      • 指标过多时,数据统计量大,且权重难以确定
      • 特征值和特征向量的精确求法比较复杂
  • 参考文献

为了从备选方案中选择最佳方案,我们的主要思想是:

  1. 确定 nnn 个备选对象与 mmm 个评价指标
  2. 确定每个备选对象在每个指标下的打分情况,第 iii 个对象在第 jjj 个指标下的打分情况记为 cijc_{ij}cij​
  3. 确定每个指标的权重,第 jjj 个指标的权重记为 WjW_{j}Wj​
  4. 将权重与每个备选对象的打分情况相乘并求和,最终得到每个备选对象的总得分。第 iii 个对象的总得分为 Si=∑j=1j=mcijWjS_i=\sum_{j=1}^{j=m} c_{ij}W_{j}Si​=∑j=1j=m​cij​Wj​
  5. 通过比较所有对象的总得分 SiS_iSi​,最终确定选择哪一个对象

显然,步骤 1.4.5. 都是由简单的计算得到,那么问题的难点在于步骤2 .3.这里就要用到层次分析法。下面我们举例来说明权重向量与打分矩阵如何得到

问题:选择一部适合自己的手机

一、确定评价对象与评价指标

评价对象

确定几个备选对象,这里我们选择:苹果,三星,华为

评价指标

确定几个评价指标,这里我们选择:价格,用户评价,售后服务

二、确定打分

比较矩阵

两两比较得到比较矩阵

首先我们来确定三个备选对象在价格方面的打分。

对于三个及三个以上的情况,我们往往难以给出合理的打分方案。层次分析法的思想就是,把打分方案分解成两两比较,这样的话得到的结果往往会更合理

标度 含义
1 表示两个因素相比,具有同样重要性
3 表示两个因素相比,一个因素比另一个因素稍微重要
5 表示两个因素相比,一个因素比另一个因素明显重要
7 表示两个因素相比,一个因素比另一个因素强烈重要
9 表示两个因素相比,一个因素比另一个因素极端重要
2,4,6,8 上述两相邻判断的中值
倒数 A和B相比如果标度为3,那么B和A相比就是1/3

(有时重要性理解为满意度更合理)

我们依照上述表格来得到一个价格比较矩阵

价格 苹果 三星 华为
苹果 1 1/5 1/9
三星 5 1 3
华为 9 1/3 1

(以上数据都是本人随便填的不具有任何参考价值

显然,比较矩阵应为对称矩阵,且对角线元素为 1

上述矩阵含义为:相比较于苹果,三星的价格明显便宜(明显更令人满意);相比较于苹果,华为的价格极端便宜(极端令人满意);相比较于华为,三星的价格稍微便宜(稍微更令人满意)。

判断比较矩阵是否能通过一致性检验

所谓一致性,指的是你所得到的矩阵是否符合逻辑。比如说,
苹果三星=15,苹果华为=19\frac{\text{苹果}}{\text{三星}}=\frac{1}{5},\frac{\text{苹果}}{\text{华为}}=\frac{1}{9}三星苹果​=51​,华为苹果​=91​
那么
三星华为=19/15=59\frac{\text{三星}}{华为}=\frac{1}{9}/\frac{1}{5}=\frac{5}{9}华为三星​=91​/51​=95​
但是在我们的比较矩阵中,
三星华为=3\frac{\text{三星}}{华为}=3华为三星​=3
这就是说明我们的比较矩阵出现了逻辑错误。事实上,比较矩阵越大,出错的可能性就越大,因为人脑很难同时对多个指标做出合理的分析。因此,我们应当允许出现小错误。为了衡量错误的大小,我们建立了一致性指标。

  1. 计算一致性指标 CICICI
    CI=λmax⁡−nn−1CI=\frac{\lambda_{\max}-n}{n-1}CI=n−1λmax​−n​
    这里 λmax⁡\lambda_{\max}λmax​ 指的是比较矩阵的最大特征值
  2. 查找对应的平均随机一致性指标RI
n 1 2 3 4 5 6 7 8 9
RI 0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46
  1. 计算一致性比例 CRCRCR
    CR=CIRICR=\frac{CI}{RI}CR=RICI​
    如果 CR<0.1CR < 0.1CR<0.1, 则可认为比较矩阵的一致性可以接受;否则需要对比较矩阵进行修正。

对于我们这个题,比较矩阵为:
[11/51/951391/31]\begin{bmatrix} 1&1/5&1/9\\ 5&1&3\\ 9&1/3&1\end{bmatrix}⎣⎡​159​1/511/3​1/931​⎦⎤​
特征值为:
λ1=3.3244+0.0000i,λ2=−0.1622+1.0257i,λ3=−0.1622−1.0257i\lambda_1=3.3244 + 0.0000i,\lambda_2=-0.1622 + 1.0257i,\lambda_3=-0.1622 - 1.0257iλ1​=3.3244+0.0000i,λ2​=−0.1622+1.0257i,λ3​=−0.1622−1.0257i
对于虚数的情况,我们比较他们的模,则
∣λ1∣=3.3244,∣λ2∣=1.0385,∣λ3∣=1.0385|\lambda_1|=3.3244,|\lambda_2|=1.0385,|\lambda_3|=1.0385∣λ1​∣=3.3244,∣λ2​∣=1.0385,∣λ3​∣=1.0385
从而
λmax⁡=3.3244\lambda_{\max}=3.3244λmax​=3.3244
CI=λmax⁡−nn−1=3.3244−33−1=0.1622CI=\frac{\lambda_{\max}-n}{n-1}=\frac{3.3244-3}{3-1}= 0.1622CI=n−1λmax​−n​=3−13.3244−3​=0.1622
查表得到
RI=0.52RI=0.52RI=0.52
于是
CR=CIRI=0.3119>0.1CR=\frac{CI}{RI}=0.3119>0.1CR=RICI​=0.3119>0.1
没有通过一致性检验,需要重新对比较矩阵进行调整。

经调整后得到新的比较矩阵为:

[11/51/9511/3931]\begin{bmatrix} 1&1/5&1/9\\ 5&1&1/3\\ 9&3&1\end{bmatrix}⎣⎡​159​1/513​1/91/31​⎦⎤​

重新计算得到:
λmax⁡=3.0391\lambda_{\max}=3.0391λmax​=3.0391
CI=λmax⁡−nn−1=3.0291−33−1=0.0146CI=\frac{\lambda_{\max}-n}{n-1}=\frac{3.0291-3}{3-1}= 0.0146CI=n−1λmax​−n​=3−13.0291−3​=0.0146
CR=CIRI=0.0281<0.1CR=\frac{CI}{RI}=0.0281<0.1CR=RICI​=0.0281<0.1
通过一致性检验。

所以,我们最终得到了价格比较矩阵为

[11/51/9511/3931]\begin{bmatrix} 1&1/5&1/9\\ 5&1&1/3\\ 9&3&1\end{bmatrix}⎣⎡​159​1/513​1/91/31​⎦⎤​

得分向量

归一化处理

每个元素除以元素所在列的和,得到:

[0.06670.04760.07690.33330.23810.23080.60000.71430.6923]\begin{bmatrix} 0.0667 & 0.0476 & 0.0769\\ 0.3333 & 0.2381 & 0.2308\\ 0.6000 & 0.7143& 0.6923 \end{bmatrix}⎣⎡​0.06670.33330.6000​0.04760.23810.7143​0.07690.23080.6923​⎦⎤​

例:第一行第一列的元素可经下列计算得到
0.0667=11+5+90.0667=\frac{1}{1+5+9}0.0667=1+5+91​

求解得分向量

对归一化后的矩阵的每一行做算数平均即可得到得分向量
[0.06370.26740.6689]\begin{bmatrix} 0.0637\\ 0.2674\\ 0.6689 \end{bmatrix}⎣⎡​0.06370.26740.6689​⎦⎤​
所以最终打分为

价格 得分
苹果 0.0637
三星 0.2674
华为 0.6689

打分矩阵

利用同样的思想,我们可以分别得到备选对象们在用户评价和售后服务上的得分情况,最终我们得到打分矩阵与权重向量

打分矩阵 价格 用户评价 售后服务
苹果 0.0637 0.5 0.6
三星 0.2674 0.3 0.2
华为 0.6689 0.2 0.2
指标 价格 用户评价 售后服务
权重 0.6 0.1 0.3

于是我们得到每个对象的最终得分:

品牌 得分
苹果 0.2682
三星 0.2504
华为 0.4813

例:0.2682=0.0637 * 0.6+0.5 * 0.1+0.6 * 0.3

所以我们选择华为手机

模型评价

优点

系统性的分析方法

层次分析法把研究对象作为一个系统,按照分解、比较判断、综合的思维方式进行决策,成为继机理分析、统计分析之后发展起来的系统分析的重要工具。系统的思想在于不割断各个因素对结果的影响,而层次分析法中每一层的权重设置最后都会直接或间接影响到结果,而且在每个层次中的每个因素对结果的影响程度都是量化的,非常清晰明确。这种方法尤其可用于对无结构特性的系统评价以及多目标、多准则、多时期等的系统评价。

简洁实用的决策方法

这种方法既不单纯追求高深数学,又不片面地注重行为、逻辑、推理,而是把定性方法与定量方法有机地结合起来,使复杂的系统分解,能将人们的思维过程数学化、系统化,便于人们接受,且能把多目标、多准则又难以全部量化处理的决策问题化为多层次单目标问题,通过两两比较确定同一层次元素相对上一层次元素的数量关系后,最后进行简单的数学运算。计算简便,并且所得结果简单明确,容易为决策者了解和掌握。

所需定量数据信息较少

层次分析法主要是从评价者对评价问题的本质、要素的理解出发,比一般的定量方法更讲求定性的分析和判断。由于层次分析法是一种模拟人们决策过程的思维方式的一种方法,层次分析法把判断各要素的相对重要性的步骤留给了大脑,只保留人脑对要素的印象,化为简单的权重进行计算。这种思想能处理许多用传统的最优化技术无法着手的实际问题。 [2]

缺点

不能为决策提供新方案

层次分析法的作用是从备选方案中选择较优者。在应用层次分析法的时候,可能就会有这样一个情况,就是我们自身的创造能力不够,造成了我们尽管在我们想出来的众多方案里选了一个最好的出来,但其效果仍然不够企业所做出来的效果好。而对于大部分决策者来说,如果一种分析工具能替我分析出在我已知的方案里的最优者,然后指出已知方案的不足,又或者甚至再提出改进方案的话,这种分析工具才是比较完美的。但显然,层次分析法还没能做到这点。

定量数据较少,定性成分多,不易令人信服

在如今对科学的方法的评价中,一般都认为一门科学需要比较严格的数学论证和完善的定量方法。但现实世界的问题和人脑考虑问题的过程很多时候并不是能简单地用数字来说明一切的。层次分析法是一种带有模拟人脑的决策方式的方法,因此必然带有较多的定性色彩。

指标过多时,数据统计量大,且权重难以确定

当我们希望能解决较普遍的问题时,指标的选取数量很可能也就随之增加。指标的增加就意味着我们要构造层次更深、数量更多、规模更庞大的判断矩阵。那么我们就需要对许多的指标进行两两比较的工作。由于一般情况下我们对层次分析法的两两比较是用1至9来说明其相对重要性,如果有越来越多的指标,我们对每两个指标之间的重要程度的判断可能就出现困难了,甚至会对层次单排序和总排序的一致性产生影响,使一致性检验不能通过。不能通过,就需要调整,在指标数量多的时候比较难调整过来。 [2]

特征值和特征向量的精确求法比较复杂

在求判断矩阵的特征值和特征向量时,所用的方法和我们多元统计所用的方法是一样的。在二阶、三阶的时候,我们还比较容易处理,但随着指标的增加,阶数也随之增加,在计算上也变得越来越困难。不过幸运的是这个缺点比较好解决,我们有三种比较常用的近似计算方法。第一种就是和法,第二种是幂法,还有一种常用方法是根法。 [3]

参考文献

  • 知乎
  • bilibli
  • 百度百科

2021年1月28日11:45:28

层次分析法(附实例)相关推荐

  1. Python实现“层次分析法”及“自调节层次分析法”

    Python实现"层次分析法"及"自调节层次分析法" 假设我们遇到如下问题: ①对于M个方案,每个方案有N个属性,在已知各个方案每个属性值&&任 ...

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

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

  3. 层次分析法实例:选择旅游目的地

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

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

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

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

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

  6. 目标层准则层MATLAB,层次分析法-MATLAB

    层次分析法-MATLAB 第八章 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全 ...

  7. R语言应用实战-基于R语言的综合评价(层次分析法AHP为例)

    一.综合评价的基本概念 对一个事物的评价往往会涉及多个因素或者多个指标,评价是在多个因素相互作用下的一个综合判断.多指标综合评价方法具有以下的特点:包含若干个指标,分别说明被评价对象的不同方面,评价方 ...

  8. 层次分析法之python

    目录 1.简介 2.算法解析 3.实例分析 3.1 构造矩阵 3.2 查看行数和列数 3.3 求特征向量 3.4 找到最大特征值和最大特征向量 3.5 计算权重 3.6 一致性检验 3.7 计算评分 ...

  9. 层次分析法之matlab

    目录 1.简介 2.算法解析 3.实例分析 3.1 构造矩阵 3.2 查看行数和列数 3.3 求特征向量 3.4 找到最大特征值和最大特征向量 3.5 计算权重 3.6 一致性检验 3.7 计算评分 ...

  10. ahp层次分析法软件_层次分析法在历史街区研究中的应用简析

    摘要 AHP (Analytic Hierarchy Process)层次分析法通常被运用于解决多目标.多标准.多要素.多层次的非结构化的复杂决策性问题,特别是战略决策性问题,在建筑.规划.风景园林等 ...

最新文章

  1. 注册表收藏夹任你玩(4招)
  2. for命令不跳过空白行_饭店火夫说漏嘴:炒鸡肉时,很多人跳过这一步,难怪鸡肉不好吃...
  3. Ubuntu下安装make
  4. {转}maven+continuum安装与配置
  5. 注册、登陆、审核练习
  6. 入参对象有LocalDateTime类型的参数,swagger该如何传参
  7. 20. Feature分支
  8. 【进阶版】 机器学习之强化学习、蒙特卡罗、AlphaGo原理浅析(22)
  9. JSP购物车案例精简版-适合小白学习
  10. gis可达性分析步骤_干货来了!ArcGIS空间分析—空间聚类模式分析
  11. json格式转csv格式
  12. 在浏览器的标签页显示网站标志图标(或指定图标)的方法
  13. 鸿蒙 悟空遥控,悟空遥控器(com.wukongtv.wkremote.client) - 3.9.3.0 - 应用 - 酷安
  14. 一个简单的Hello World程序
  15. 2022.05.20-电脑切换全屏与非全屏(特别是谷歌浏览器)的时候会发生卡顿黑屏
  16. java 线程 组成_java多线程
  17. 一个简单的Arm开发板的制作过程
  18. 快手2017校园招聘_笔试_面试
  19. html页面添加优酷视频,通过jsoup解析页面html获取优酷页面视频列表
  20. 三员之三权分立BMB20-2007

热门文章

  1. FastAPI基础:Depends怎么用?
  2. 学生HTML个人网页作业作品:基于web在线汽车网站的设计与实现 (宝马轿车介绍)
  3. Go 开发关键技术指南 | 带着服务器编程金刚经走进 2020 年(内含超全知识大图)...
  4. THREE.JS 导入STL格式的模型
  5. JAVA从入门到放弃
  6. 基于JavaMail的Java邮件发送:简单邮件发送
  7. 解锁JMP 15 DOE新功能--组正交超饱和设计(GO SSD)
  8. linux ssh工具下载,ssh下载_ssh工具下载-太平洋下载中心
  9. 南昌大学大一C语言程序试卷,南昌大学C语言题库
  10. (离线)英语词典软件推荐