层次分析法(附实例)

层次分析法-AHP

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

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

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

显然,步骤 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

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

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

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

  1. 计算一致性指标 C I CI CI
    C I = λ max ⁡ − n n − 1 CI=\frac{\lambda_{\max}-n}{n-1} CI=n1λmaxn
    这里 λ 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. 计算一致性比例 C R CR CR
    C R = C I R I CR=\frac{CI}{RI} CR=RICI
    如果 C R < 0.1 CR < 0.1 CR<0.1, 则可认为比较矩阵的一致性可以接受;否则需要对比较矩阵进行修正。

对于我们这个题,比较矩阵为:
[ 1 1 / 5 1 / 9 5 1 3 9 1 / 3 1 ] \begin{bmatrix} 1&1/5&1/9\\ 5&1&3\\ 9&1/3&1\end{bmatrix} 1591/511/31/931
特征值为:
λ 1 = 3.3244 + 0.0000 i , λ 2 = − 0.1622 + 1.0257 i , λ 3 = − 0.1622 − 1.0257 i \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.16221.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
C I = λ max ⁡ − n n − 1 = 3.3244 − 3 3 − 1 = 0.1622 CI=\frac{\lambda_{\max}-n}{n-1}=\frac{3.3244-3}{3-1}= 0.1622 CI=n1λmaxn=313.32443=0.1622
查表得到
R I = 0.52 RI=0.52 RI=0.52
于是
C R = C I R I = 0.3119 > 0.1 CR=\frac{CI}{RI}=0.3119>0.1 CR=RICI=0.3119>0.1
没有通过一致性检验,需要重新对比较矩阵进行调整。

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

[ 1 1 / 5 1 / 9 5 1 1 / 3 9 3 1 ] \begin{bmatrix} 1&1/5&1/9\\ 5&1&1/3\\ 9&3&1\end{bmatrix} 1591/5131/91/31

重新计算得到:
λ max ⁡ = 3.0391 \lambda_{\max}=3.0391 λmax=3.0391
C I = λ max ⁡ − n n − 1 = 3.0291 − 3 3 − 1 = 0.0146 CI=\frac{\lambda_{\max}-n}{n-1}=\frac{3.0291-3}{3-1}= 0.0146 CI=n1λmaxn=313.02913=0.0146
C R = C I R I = 0.0281 < 0.1 CR=\frac{CI}{RI}=0.0281<0.1 CR=RICI=0.0281<0.1
通过一致性检验。

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

[ 1 1 / 5 1 / 9 5 1 1 / 3 9 3 1 ] \begin{bmatrix} 1&1/5&1/9\\ 5&1&1/3\\ 9&3&1\end{bmatrix} 1591/5131/91/31

得分向量

归一化处理

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

[ 0.0667 0.0476 0.0769 0.3333 0.2381 0.2308 0.6000 0.7143 0.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.60000.04760.23810.71430.07690.23080.6923

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

求解得分向量

对归一化后的矩阵的每一行做算数平均即可得到得分向量
[ 0.0637 0.2674 0.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

你可能感兴趣的:(数学建模)