层次分析法

请注意,本文最后更新于2022.2.1,其中一些理解可能已被笔者推翻或废弃。

层次分析法(AHP)

层次分析法(Analytic Hierarchy Process,AHP)
这是一种定性和定量相结合的、系统的、层次化的分析方法。这种方法是在对复杂决策问题的本质上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的决策问题提供简便的决策方法。是对难以定量的复杂系统进行决策的模型

层次分析法的根本是打分法确定指标不同方案指标打分为指标确定权重。用于处理数据未知的评价。

层次分析法将问题分解为组成因素,并按照因素间关联、影响以及隶属关系将因素按不同的层次聚集组合,形成一个多层次的分析结构模型。从而最终使问题归结为最低层(供决策的方案、措施等)相对于最高层(总目标)的相对重要权值的确定或相对优劣次序的排定。

基本步骤

建立层次模型

思考以下问题:

  1. 我的的评价目标是什么?
  2. 达到目标有哪些方案?
  3. ★对方案的评价准则或指标是什么?(最好参考引用文献)

决策的目标决策准则(考虑的因素)和决策对象绘制为层次结构图。

  1. 最高层(目标层):决策的目的、要解决的问题;
  2. 中间层(准则层或指标层):考虑的因素、决策的准则;
  3. 最低层(方案层):决策时的备选方案;

或仅绘制评价体系(树状图或表格)如下 (要包含多级指标):

评价模型

构造判断矩阵

(成对比较矩阵)

在确定权重时,只给出定性的结果(就是我认为景色占80%,费用10%等等),常常不被别人接受,因此采用一致矩阵法,即:

  • 不把所有因素放在一起比较,而是两两比较
  • 对此时采用相对尺度,尽可能减少诸因素导致的相互比较的困难,提高准确性

成对比较矩阵是表示本层所有因素针对上一层某一个因素(准侧或目标)的相对重要性的比较。成对比较矩阵的元素 \(a_{ij}\) 表示的是第 \(i\) 个因素相对于第 \(j\) 个因素的比较结果,这个值使用的是Santy的1-9标度方法给出。

定义且满足

\[a_{ij}=i相对j的重要度=\frac{i的重要程度}{j的重要程度}=a_{ik}a_{kj}\]

一致性检验

\(\left[\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1 n} \\ a_{21} & a_{22} & \cdots & a_{2 n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n 1} & a_{n 2} & \cdots & a_{n n} \end{array}\right]\)为一致矩阵的充要条件\(\left\{\begin{array}{l} a_{i j}>0 \\ a_{11}=a_{22}=\cdots=a_{n n}=1 \\ {\left[a_{i 1},..., a_{i n}\right]=k_{i}\left[a_{11},..., a_{1 n}\right]} \end{array}\right.\)

对于

一致阵:则我们自然会取对应于最大特征根 \(n\) 的归一化特征向量 \(\{w_1,w_2,\cdots,w_n\}\) ,且 \(\sum_{i=1}^{n}{w_i=1}\)\(w_i\) 表示下层第 \(i\) 个因素对上层某个因素影响程度的权值。

非一致阵:用其最大特征根对应的归一化特征向量作为权向量 \(W=\{w_1,w_2,\cdots,w_n\}\) ,则 \(AW=\lambda W\) ,这样确定权向量的方法称为特征根法;

定理:

  1. \(n\) 阶一致阵的唯一非零特征根为 \(n\)
  2. \(n\) 阶互反阵 \(A\left(a_{i j}>0, a_{i j}=\frac{1}{a_{j i}}, a_{i i}=1\right)\) 最大特征根 \(\lambda \geq n\) ,当且仅当 \(\lambda=n\) 时, \(A\) 为一致矩阵。

\(\lambda\) 连续的依赖于 \(a_{ij}\) ,则 \(\lambda\)\(n\) 大的越多, \(A\) 的不一致性越严重。用最大特征值对应的特征向量作为影响程度的权向量,其不一致程度越大,引起的判断误差越大。

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

\[CI=\frac{\lambda -n}{n-1}\]

  1. \(CI=0\) ,有完全的一致性;
  2. \(CI\) 接近 \(0\) ,有满意的一致性
  3. \(CI\) 越大,不一致越严重;

第二步:查找对应的平均随机一致性指标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

\(RI\) 为统计结果,详细计算方法参考这里

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

\[CR=\frac{CI}{RI}\]

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

求得权重

  1. 算术平均法求权重 \[\omega_{i}=\frac{1}{n} \sum_{j=1}^{n} \frac{a_{i j}}{\sum_{k=1}^{n} a_{k j}}\]
  2. 几何平均法求权重 \[\omega_{i}=\frac{\left(\prod_{j=1}^{n} a_{i j}\right)^{\frac{1}{n}}}{\sum_{k=1}^{n}\left(\prod_{j=1}^{n} a_{k j}\right)^{\frac{1}{n}}}\]
  3. 特征值法求权

特别的:若特征值为n,对应特征向量为\(k\left[\frac{1}{a_{11}}, \frac{1}{a_{12}}, \cdots, \frac{1}{a_{1 n}}\right]^{T}\),且特征向量刚好为矩阵第一列。

假如我们的判断矩阵一致性可以接受,那么我们可以仿照一致矩阵权重的求法。

  1. 求出矩阵A的最大特征值以及其对应的特征向量
  2. 对求出的特征向量进行归一化即可得到我们的权重( \(\sum_{i=1}^{n}{w_i=1}\) )

填表得结果

表格

然后相应的加权计算得分即可得到结果。

一点补充

详细做法补充

  1. 对于评价指标:
    1. 单层评价指标:构造所有指标的两两判断矩阵,得到权值
    2. 多层评价指标:
      1. 构造一级指标的两两判断矩阵,得到权值
      2. 构造每个一级指标下的二级指标的两两判断矩阵(每个一级指标一个矩阵),得到权值
      3. 构造每个二级指标下……
        ……
  2. 对于方案:
    1. 对于每个最低级指标构造所有方案的两两判断矩阵,得到权值

示例:

\[ \left\{\begin{array}{l} 一级指标1\left\{\begin{array}{l} 二级指标1 :a_{11},a_{12},a_{13}\\ 二级指标2 :a_{21},a_{22},a_{23}\\ \end{array}\right.\\ \\ 一级指标2\left\{\begin{array}{l} 二级指标3 :a_{31},a_{32},a_{33}\\ 二级指标4 :a_{41},a_{42},a_{43}\\ 二级指标5 :a_{51},a_{52},a_{53}\\ \end{array}\right.\\ \\ 一级指标3 : a_{61},a_{62},a_{63} \end{array}\right.\\ \]

特征向量含义思考

对于矩阵 \(A=\left[\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1 n} \\ a_{21} & a_{22} & \cdots & a_{2 n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n 1} & a_{n 2} & \cdots & a_{n n} \end{array}\right]\)\(W=\left[\begin{array}{c} w_{1}\\ w_{2}\\ \vdots\\ w_{n} \end{array}\right]\) ,满足 \(AW=\lambda A\)

矩阵的本质是变换,把 \(A\) 看作对 \(m\) 纬空间单位球体进行 \(A\) 变换,取 \(\lambda\) 最大时的特征向量 \(W\) ,即表示为变换后的球体上与变换前方向相同的点中距离原点 \(O\) 最远的点(距离原点距离为 \(\lambda\) )所表示的方向向量 。记 \(W\) 为可以代表整个变换 \(A\) 的线性变换。

特别的对于对称矩阵 \(A\) ,变换 \(A\) 一定是将球变为椭球,这也是不同特征值对应特征向量一定正交的原因,相同特征值 \(\lambda\) 若有多个特征向量 \(e_1,e_2,...\),特征向量的张成空间都是该特征值 \(\lambda\) 的特征向量。\(\lambda\) 的特征向量。
但是,对于非特殊矩阵,几何意义不明确,另外对于正互反矩阵、一致性矩阵的变换性质,笔者并不清楚,所以也仅仅能近似的类比理解到这里了。 (22.1.18)

一些问题

  1. 评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异可能会很大。
  2. 平均随机一致性指标RI的表格中n最多是15。

所以当n过大可以分层归纳为多级指标再构造多个判断矩阵。

参考

  1. bilibili:数学建模学习交流 ↩︎
  2. https://zhuanlan.zhihu.com/p/38207837 ↩︎