层次分析法(Analytic Hierarchy Process ,简称 AHP )

AHP (Analytic Hierarchy Process)层次分析法是美国运筹学家Saaty教授于二十世纪80年代提出的一种实用的多方案或多目标的决策方法。其主要特征是,它合理地将定性与定量的决策结合起来,按照思维、心理的规律把决策过程层次化、数量化。
该方法自1982年被介绍到我国以来,以其定性与定量相结合地处理各种决策因素的特点,以及其系统灵活简洁的优点,迅速地在我国社会经济各个领域内,如能源系统分析、城市规划、经济管理、科研评价等,得到了广泛的重视和应用。


层次分析法的基本思路:先分解后综合

首先将所要分析的问题层次化,根据问题的性质和要达到的总目标,将问题分解成不同的组成因素,按照因素间的相互关系及隶属关系,将因素按不同层次聚集组合,形成一个多层分析结构模型,最终归结为最低层(方案、措施、指标等)相对于最高层(总目标)相对重要程度的权值或相对优劣次序的问题。
运用层次分析法建模,大体上可按下面四个步骤进行:
1. 建立递阶层次结构模型;
2. 构造出各层次中的所有判断矩阵;
3. 层次单排序及一致性检验;
4. 层次总排序及一致性检验。

实例

人们在日常生活中经常会碰到多目标决策问题,例如假期某人想要出去旅游,现有三个目的地(方案):风光绮丽的杭州(P1)、迷人的北戴河(P2)和山水甲天下的桂林(P3)。假如选择的标准和依据(行动方案准则)有5个:景色,费用,饮食,居住和旅途。

则常规思维的方式如下:

常规思维过程=⎧⎩⎨⎪⎪确定这些准则在你心目中各占的比重多大就每一准则将三个地点进行对比将这两个层次的比较判断进行综合,作出选择∗∗∗

常规思维过程=\left\{ \begin{aligned} 确定这些准则在你心目中各占的比重多大\\就每一准则将三个地点进行对比\\将这两个层次的比较判断进行综合,作出选择\end{aligned} *** \right.

(1)建立层次结构模型

(2)构造判断矩阵

通过相互比较确定各准则对于目标的权重,即构造判断矩阵。在层次分析法中,为使矩阵中的各要素的重要性能够进行定量显示,引进了矩阵判断标度(1~9标度法) :

标度 含义
1 表示两个元素相比,具有同样的重要性
3 表示两个元素相比,前者比后者稍重要
5 表示两个元素相比,前者比后者明显重要
7 表示两个元素相比,前者比后者极其重要
9 表示两个元素相比,前者比后者强烈重要
2,4,6,8 表示上述相邻判断的中间值
倒数:若元素i和元素j的重要性之比为aij,那么元素j与元素i的重要性之比为 aji=1aij a_{ji}=\frac{1}{a_{ij}}

对于要比较的因子而言,你认为一样重要就是1:1,强烈重要就是9:1,也可以取中间数值6:1等,两两比较,把数值填入,并排列成判断矩阵(判断矩阵是对角线积是1的正反矩阵即可)]


设准则层包含5个准则,景色: C1 C_1,费用: C2 C_2,居住: C3 C_3,饮食: C4 C_4,旅途: C5 C_5。相对于目标层:选择旅游地,进行两两比较打分。


构造所有相对于不同准则的方案层判断矩阵

(3)层次单排序

所谓层次单排序是指,对于上一层某因素而言,本层次各因素的重要性的排序。
具体计算是:对于判断矩阵B,计算满足 BW=λmaxW BW = \lambda_{max}W的特征根与特征向量。
式中 λmax \lambda_{max}为矩阵B的最大特征根, W W为对应于λmax\lambda_{max}的正规化的特征向量, W W的分量ωi\omega_i即是相应元素单排序的权值。

利用判断矩阵计算各因素C对目标层Z的权重(权系数)

  1. 将A的每一列向量归一化得: ω˘ij=aij∑ni=1aij \breve{\omega}_{ij}=\frac{a_{ij}}{\sum_{i=1}^n {a_{ij}}}
  2. 对 ω˘ij \breve{\omega}_{ij}按行求和得 ω˘i=∑nj=1ω˘ij \breve{\omega}_i=\sum_{j=1}^n {\breve{\omega}_{ij}}
  3. 将 ω˘j \breve{\omega}_j归一化 ωi=ω˘i∑ni=1ω˘i,ω=(ω1,ω2,…,ωn)T \omega_i=\frac{\breve{\omega}_i}{\sum_{i=1}^n {\breve{\omega}_i}},\omega=(\omega_1,\omega_2,\ldots,\omega_n)^T,即为近似特征根(权向量)
  4. 计算 λ=1n∑ni=1(Aω)iωi \lambda=\frac{1}{n}\sum_{i=1}^n\frac{(A\omega)_i}{\omega_i},作为最大特征根的近似值。


得到排序结果: ω=(0.588,0.322,0.090)T,λmax=3.009 \omega=(0.588,0.322,0.090)^T,\lambda_{max}=3.009
矩阵与向量的乘积计算

判断矩阵的一致性检验

判断矩阵通常是不一致的,但是为了能用它的对应于特征根的特征向量作为被比较因素的权向量,其不一致程度应在容许的范围内.如何确定这个范围?
1. 一致性指标: CI=λ−nn−1 CI=\frac{\lambda-n}{n-1}, CI=0 CI=0时A一致, CI CI越大,A的不一致性程度越严重
2. 随机一致性指标 RI RI:

n 1 2 3 4 5 6 7 8 9 10 11
RI 0.00 0.00 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51

3. 一致性比率(用于确定A的不一致性的容许范围)

CR=CIRI

CR=\frac{CI}{RI}
当 CR<0.1 CR时,A的不一致性程度在容许范围内,此时可用A的特征向量作为权向量。


例题 解:

第一步:自上而下,先求判断矩阵A的最大特征根与特征向量。

A=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1214131312117151547123351211351311⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

A=\begin{bmatrix}1 & \frac{1}{2} & 4 & 3 & 3 \\2 & 1 & 7 & 5 & 5 \\\frac{1}{4} & \frac{1}{7} & 1 & \frac{1}{2} & \frac{1}{3} \\\frac{1}{3} & \frac{1}{5} & 2 & 1 & 1\\\frac{1}{3} & \frac{1}{5} & 3 & 1 & 1\\ \end{bmatrix}
λmax=5.073 \lambda_{max}=5.073对应于 λmax \lambda_{max}的正规化的特征向量为:

ω(2)=(0.263,0.475,0.055,0.099,0.110)T

\omega^{(2)}=(0.263,0.475,0.055,0.099,0.110)^T

第二步:计算与准则层各准则相关的判断矩阵最大特征跟及权向量:

第三步,算出 B2,B3,B4,B5 B_2,B_3,B_4,B_5的最大特征值分别为:

λmax(2)=3.002,λmax(3)=3,λmax(4)=3.009,λmax(5)=3

\lambda_{max(2)}=3.002,\lambda_{max(3)}=3,\lambda_{max(4)}=3.009,\lambda_{max(5)}=3
所对应的特征向量分别为:

第四步,一致性检验

A=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1214131312117151547123351211351311⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥a14=3,a43=2⇒a13=a14a43=3×2=6

A=\begin{bmatrix}1 & \frac{1}{2} & 4 & 3 & 3 \\2 & 1 & 7 & 5 & 5 \\\frac{1}{4} & \frac{1}{7} & 1 & \frac{1}{2} & \frac{1}{3} \\\frac{1}{3} & \frac{1}{5} & 2 & 1 & 1\\\frac{1}{3} & \frac{1}{5} & 3 & 1 & 1\\ \end{bmatrix} \\ a_{14}=3,a_{43}=2 \Rightarrow \\ a_{13}=a_{14}a_{43}=3 \times 2 = 6前述计算得到了最大特征根: λmax=5.073 \lambda_{max}=5.073
CI=λmax−nn−1=5.073−55−1=0.01825 CI=\frac{\lambda_{max}-n}{n-1}=\frac{5.073-5}{5-1}=0.01825
经过查表可以得到平均随机一致性指标 RI RI,从而可检验矩阵一致性:
CR=CIRI=0.018251.12=0.016295<0.1 CR=\frac{CI}{RI}=\frac{0.01825}{1.12}=0.016295
同理,对于第二层的景色、费用、居住、饮食、旅途五个判断矩阵的一致性检测均通过。

以 W(3)k W_k^{(3)}为列向量构成矩阵:

ps:这一次就不附赠代码啦~

层次分析法(Analytic Hierarchy Process)相关推荐

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

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

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

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

  3. 数学建模之层次分析法AHP

    层次分析法(Analytic Hierarchy Process,AHP)这是一种定性和定量相结合的.系统的.层次化的分析方法.这种方法的特点就是在对复杂决策问题的本质.影响因素及其内在关系等进行深入 ...

  4. 基于层次分析法的信息安全风险评估量化法研究报告

    信息安全管理课的作业,最后弄了一篇完整的论文和做出来的模型,还有写点一点java代码,嫌麻烦后面就没完成. 这篇就简单讲一下层次分析法(Analytic Hierarchy Process,简称 AH ...

  5. 层次分析法、数据包络分析及模糊综合评价法各自的优点,缺点,应用范围

    层次分析法(Analytic Hierarchy Process, AHP)是一种多层次决策分析方法,它将决策问题分解成多个层次,每个层次之间是独立的. 优点: 可以将复杂的决策问题分解成若干个子问题 ...

  6. 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...

    两类层次分析法的转换及在应用中的比较-计算机工程与应用 114 2012 ,48 (9) Computer Engineering and Applications 计算机工程与应用 两类层次分析法的 ...

  7. AHP层次分析法—特征权重初始化

    最近在做电商知识图谱,涉及一些商品评分,店铺GMV的计算.这些结果是由一些特征加权计算得到,因此如何初始化特征的权重就显得尤为重要.如果一味的按照经验去进行初始化权重,然后不停的A/B测试,权重调整, ...

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

    1.层次分析法(The analytic hierarchy process, AHP) 1.1 层次分析法模型部分 建模比赛最基础模型之一,主要解决评价类问题(eg.选择哪种方案好.哪位运动员或者员 ...

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

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

最新文章

  1. 【Python】向函数传递任意数量的实参
  2. 如何使用dmidecode命令查看硬件信息
  3. linux 用户权限详解,03_04_Linux用户及权限详解
  4. wifi定位算法android,WIFI定位算法
  5. 关于ListView的作业
  6. PHP_正则_获取图片所有属性
  7. maven没有resource文件夹_maven项目中没有resource文件夹的问题
  8. Ext.ClassManager源码
  9. python 堆栈溢出_内存 - 如何发生“堆栈溢出”,如何防止它?
  10. .NET的托管堆中是否可能出现内存泄漏现象
  11. 手机之家签名工具_IOS签名工具:魔力签
  12. 论文写作 之 Introduction
  13. Quantopian 入门系列一
  14. 系统文件host的作用
  15. 图像处理工具-Stirmark使用方法
  16. 怎么保存网页为html格式,怎样保存网页部分内容为html格式?
  17. 【JavaScript 】for 循环
  18. Remember Me 功能实现
  19. 传感器技术—霍尔传感器(学习笔记九 补充)
  20. mac os x 文件权限管理

热门文章

  1. 中文期刊模板的页面格式,以《电力系统自动化》为例
  2. 单机安装Hive和Zepplin
  3. 开源我的基于字节的数据补丁算法库HDiffPatch
  4. BP神经网络解决什么问题
  5. SplitSR: An End-to-End Approach to Super-Resolution on Mobile Devices
  6. SAP ABAP 小数转分数\约分
  7. IOS开发入门之二——第一个App
  8. Linux下的terminal多窗口开启及切换
  9. 【融职培训】Web前端学习 第7章 Vue基础教程4 组件传值
  10. linux关闭硬盘检测,关闭Linux开机强制检测硬盘