模型01:层次分析法
模型01:层次分析法
层次分析法(Analytic Hierarchy Process, AHP)是最基础的模型之一,其主要用于解决评价类问题。其解决的核心思路是给各个待评价方案**“打分”**,AHP给出了如何尽可能科学地给出各个对比项目的分数的方法。
AHP三要素
- 评价目标
- 可选方案
- 评价判断准则/指标
通常要素①②题目已给出;而要素③要我们根据题目中的背景材料、常识以及网上搜集到的参考资料进行结合,从中筛选出最合适的指标。
评价指标获取方式
常见搜索关键字:XX选择因素、XX评价指标
建议优先选择知网/万方/百度学术/谷歌学术等学术平台搜索相关的文献。假如没找到相关的文献,就只能和小组成员讨论或是在网络上搜索别人或者专家的看法了。
推荐搜索引擎:虫部落‐快搜
搜索引擎优先级:
- 谷歌搜索/百度搜索
- 微信搜索
- 知乎搜索
模型求解
| 指标权重 | 方案A | 方案B | …… | |
|---|---|---|---|---|
| 指标1 | ||||
| 指标2 | ||||
| 指标3 | ||||
| …… |
注:
- 表格中的权重指标一列数据求和后应为1;
- 每一个指标(一行)中各个方案的数据求和后也应为1。
重要概念:判断矩阵
在AHP中,打分表格中各个指标的权重,以及同一指标各个方案的打分,都不是随行而定的,我们将确定指标权重时的各个指标,或是确定打分时的各个方案,称为元素。各个元素间的权重需要通过填写如下矩阵(称为判断矩阵)来确定:
| 元素1 | 元素2 | 元素3 | …… | |
|---|---|---|---|---|
| 元素1 | ||||
| 元素2 | ||||
| 元素3 | ||||
| …… |
判断矩阵中的元素表示相对于列元素,行元素的标度/相对重要性,具体数值信息如下表所示:
| 标度/相对重要性 | 含义 |
|---|---|
| 1 | 行元素与列元素同样重要 |
| 3 | 行元素比列元素稍微重要 |
| 5 | 行元素比列元素明显重要 |
| 7 | 行元素比列元素强烈重要 |
| 9 | 行元素比列元素极端重要 |
| 2,4,6,8 | 上述两相邻判断的中值 |
| 上述值的倒数 | 若A元素比B元素的标度为$c$,则B元素比A元素的标度为$\frac{1}$ |
注:
- 重要性有时候也可以解释为满意度;
- 判断矩阵的填写主要是通过专家经验或查阅相关文献来完成的。
判断矩阵的一些数学特征
设判断矩阵为$D$,其中第$i$行第$j$列的元素为$d_$,那么有:
- 元素$d_>0$恒成立,
- 在AHP中,元素$d_$的取值只能是整数1~9以及对应的倒数
- $D$的主对角线元素应恒为1;
- 当$i=j$时,行元素与列元素为同一元素,视为同等重要,故此时标度总是为1
- 根据标度倒数的含义,\(d_{ij} \times d_{ji} = 1\)。
满足上述三条性质的矩阵,称为为正互反矩阵。显然AHP中的判断矩阵总是正互反矩阵。
判断矩阵的一致性
为了保证打分数据的一致性(即A比B的相对重要度为$x$,B比C的相对重要度为$y$,则一致性可以保证A比C的相对重要度为$x\cdot y$),我们做如下讨论:
由判断矩阵矩阵中元素的定义可知:
\(d_{ij} = \frac{ i的标度 }{j的标度 }, d_{jk} = \frac{ j的标度 }{ k的标度 }.\)
因此,
\(d_{ik} = \frac{ i的标度 }{ k的标度 } = d_{ij}\times d_{jk}.\)
故如果正互反矩阵满足上式,则可以称其为一致矩阵。
可以证明:一致矩阵各行(各列)之间成倍数关系。
判断矩阵的一致性检验
按照一致性的定义验证过于复杂,且实际上在元素较多时完全一致的矩阵是比较少的,因此我们只需要检验我们构造的判断矩阵和一致矩阵是否有太大的差别即可。
由一致矩阵的定义可知,判定一致矩阵的充要条件是:
$$\begind_>0\
d_{11}=d_{22}=\cdots =d_=1\
\left[ d_,d_,\dots ,d_ \right] =k_i\left[ d_{11},d_{12},\dots ,d_{1n} \right] ^*\
\end$$
*注:这里是各列之间成倍数关系的情况,也可以替换为各行之间成倍数。
由于各行(各列)之间成倍数,可知:\(\text{rank}\left( D \right) =1\)
可以证明如下引理:
若$A$为$n$阶方阵,且$\text\left( A \right) =1$, 则$A$有一个特征值,为$A$的迹$\text\left( A \right) =\sum_^n{a_}$,其余特征值均为0.
注意到一致矩阵主对角线元素总是为1,因此一致矩阵的唯一非零特征值为$n$。
可以计算出:该特征值对应的特征向量为$k\left[ \frac{1}{a_{11}},\frac{1}{a_{12}},\dots ,\frac{1}{a_{1n}} \right] ^{\text}\left( k\ne 0 \right) $。
对于非完全一致的矩阵,可以证明如下引理:
引理:$n$阶正互反矩阵$A$为一致矩阵时当且仅当最大特征值$\lambda _{\max}=n$;当正互反矩阵A非一致时,一定满足$\lambda _{\max}>n$。
可以认为:判断矩阵越“不一致”时,最大特征值与$n$相差就越大。
检验步骤
- 计算一致性指标\(CI=\frac{\lambda _{\max}-n}{n-1}\)
- 查找对应的平均随机一致性指标\(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 |
注:在实际运用中,n很少超过10,如果指标的个数大于10,则可考虑建立
二级指标体系,或使用模糊综合评价模型。 - 计算一致性比例\(CR= \frac{CI}{RI}\)
如果$CR < 0.1$, 则可认为判断矩阵的一致性可以接受;否则需要对
判断矩阵进行修正。
使用(相对)一致的判断矩阵计算权重/分数
此时有多种方法可以计算权重/分数,常用的方法有算术平均法、几何平均法、特征值法。实际应用时可以三种同时使用,并求其平均值作为参考。
算术平均法求权重
- 将判断矩阵按照列归一化(每一个矩阵元素除以其所在列的和)
- 将归一化的各列相加(按行求和)
- 将相加后得到的向量中每个元素除以$n$即可得到权重向量
公式:假设判断矩阵$D=\left( d_ \right) _{n\times n}$,则算术平均法求得的权重向量为
\(\omega _i=\frac{1}{n}\sum_{j=1}^n{\frac{a_{ij}}{\sum_{k=1}^n{a_{kj}}}}\left( i=1,2,\dots ,n \right)\)
几何平均法求权重
- 将判断矩阵的矩阵元素按照行相乘得到一个新的列向量
- 将新的向量的每个分量开$n$次方
- 对该列向量进行归一化即可得到权重向量
公式:假设判断矩阵$D=\left( d_ \right) _{n\times n}$,则算术平均法求得的权重向量为
$$\omega i=\frac{\sqrt[n]{\prod^n{a_}}}{\sum_^n{\sqrt[n]{\prod_^n{a_}}}}\left( i=1,2,\dots ,n \right) $$
特征值法权重
一致矩阵有一个特征值为n,其余特征值均为0。可以计算出:该特征值对应的特征向量为
$$k\left[ \frac{1}{a_{11}},\frac{1}{a_{12}},\dots ,\frac{1}{a_{1n}} \right] ^{\text}\left( k\ne 0 \right), $$
当$k=1$时,这一特征向量刚好就是一致矩阵的第一列。
假如我们的判断矩阵一致性可以接受,那么我们可以仿照一致矩阵权重的求法:
- 求出判断矩阵的最大特征值以及其对应的特征向量
- 对求出的特征向量进行归一化即可得到我们的权重
由权重/各项分数计算总得分
第j个方案的总得分$S_j=\sum_^n{\omega i\cdot s}$。
其中表示第i个指标的权重,$s_$表示第j个方案在第i个指标下的得分。
总结求解步骤
- 分析系统中各因素之间的关系,建立系统的递阶层次结构

注意:如果用到了AHP,建模论文中要出现这个层次结构图。层次结构图可以用亿图图示、在线工具ProcessOn或PPT中的SmartArt绘制。 - 对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造判断矩阵
- 由判断矩阵计算被比较元素对于该准则的相对权重,并进行一致性检验(检验通过权重才能用)
- 一致矩阵不需要进行一致性检验,只有非一致矩阵的判断矩阵才需要进行一致性检验
- 在论文写作中,应该先进行一致性检验,通过检验后再计算权重,视频中讲解的只是为了顺应计算过程
- 检验不通过需要修正判断矩阵,即利用一致矩阵各行(各列)之间成倍数的特点,向一致矩阵靠近。
- 根据权重矩阵计算得分,并进行排序。
论文片段
AHP的模型优点
在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。
——司守奎[kuí]《数学建模算法与应用》
因此,利用AHP方法,通过两个两个指标进行比较来推算出权重是更为科学而准确的做法。
AHP的主要特点是通过建立递阶层次结构,把人类的判断转化到若干因素两两之间重要度的比较上,从而把难于量化的定性判断转化为可操作的重要度的比较上面。在许多情况下,决策者可以直接使用AHP进行决策,极大地提高了决策的有效性、可靠性和可行性,但其本质是一种思维方式,它把复杂问题分解成多个组成因素,又将这些因素按支配关系分别形成递阶层次结构,通过两两比较的方法确定决策方案相对重要度的总排序。整个过程体现了人类决策思维的基本特征,即分解、判断、综合,克服了其他方法回避决策者主观判断的缺点。
以往的论文利用层次分析法解决实际问题时,都是采用其中某一种方法求权重,而不同的计算方法可能会导致结果有所偏差。为了保证结果的稳健性,本文采用了三种方法分别求出了权重后计算平均值,再根据得到的权重矩阵计算各方案的得分,并进行排序和综合分析,这样避免了采用单一方法所产生的偏差,得出的结论将更全面、更有效。
层次分析法的一些局限性
评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异可能会很大。
如果决策层中指标的数据是已知的,需要采用TOPSIS法使得评价的更加准确。

浙公网安备 33010602011771号