写在前面:

层次分析法是一个很早的决策算法了,它能够处理多目标多准则的决策问题,思维方式却很简单。由于其系统性等优点,后续很多算法都有借鉴,所以这里写一写。

网上关于该方法的讲解很多也很详细,所以本篇都是在前辈的基础上进行整理加工。文章尽量详细,然后加上一些我自己的理解,希望后面看到的人能够读起来更轻松,更容易接受。

注意:文中说的判断矩阵,又称成对比较阵

目录:

1.层次分析法概论

1.1 什么是层次分析法

1.2什么是决策

1.3 决策分析法原理

2.层次分析法的基本步骤

2.1 层次分析法步骤

2.2 建立层次结构模型

2.3 构造判断矩阵

2.4 计算单层权向量并做一致性检验

2.5 计算组合权向量(层次总排序)并做一致性检验

2.6 层次分析法基本步骤归纳

3. 层次分析法的优缺点

3.1 层次分析法的优点

3.2 层次分析法的缺点

4.注意事项

5.可应用的领域

6. 完整例子分析

6.1 旅游问题

6.2 干部选择问题

如有专业问题或者需要仿真可以点下面付费咨询链接。

知乎用户​www.zhihu.com/consult/people/1051501052205080576?ab_signature=CiRBRUNuVjlMNVNBNUxCY3ByRjJ5RGVxbUxoVjBWTDI5U1h1QT0SIDczMmY5NTUxMmZiZTdjNTNhMGQ2NTY2NjY1OGVhMGFlGhAIARIGNi4zNS4wGgQxOTI5

1.层次分析法概论

1.1 什么是层次分析法

层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代初期由美国匹兹堡大学运筹学家托马斯·塞蒂(T.L. Saaty)在为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”的课题时提出。它是一种应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法

是在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法

是对社会、经济以及管理领域的问题进行系统分析时,面临的经常是一个由相互关联、相互制约的众多因素构成的复杂系统。层次分析法则为研究这类复杂的系统,提供了一种新的、简洁的、实用的决策方法

是一种解决多目标的复杂问题的定性与定量相结合的决策分析方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标能否实现的标准之间的相对重要程度,并合理地给出每个决策方案的每个标准的权数,利用权数求出各方案的优劣次序,比较有效地应用于那些难以用定量方法解决的课题。

层次分析法是社会、经济系统决策中的有效工具。其特征是合理地将定性与定量的决策结合起来,按照思维、心理的规律把决策过程层次化、数量化。是系统科学中常用的一种系统分析方法。

由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。

该方法自1982年被介绍到我国以来,以其定性与定量相结合地处理各种决策因素的特点,以及其系统灵活简洁的优点,迅速地在我国社会经济各个领域内,如工程计划、资源分配、方案排序、政策制定、冲突问题、性能评价、能源系统分析、城市规划、经济管理、科研评价等,得到了广泛的重视和应用。

1.2 什么是决策

决策是指在面临多种方案时需要依据一定的标准选择某一种方案。日常生活中有许多决策问题。

举例:

1.在海尔、新飞、容声和雪花四个牌号的电冰箱中选购一种。要考虑品牌的信誉、冰箱的功能、价格和耗电量。

2.在泰山、杭州和承德三处选择一个旅游点。要考虑景点的景色、居住的环境、饮食的特色、交通便利和旅游的费用。

3.在基础研究、应用研究和数学教育中选择一个领域申报科研课题。要考虑成果的贡献(实用价值、科学意义),可行性(难度、周期和经费)和人才培养。

1.3 决策分析法原理

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

2. 层次分析法的基本步骤

2.1 层次分析法步骤

运用层次分析法构造系统模型时,大体可以分为以下四个步骤:

1.建立层次结构模型

2.构造判断矩阵(也叫成对比较矩阵)

3.层次单排序及其一致性检验

4.层次总排序及其一致性检验

2.2 建立层次结构模型

简述:

将决策的目标、考虑的因素(决策准则)和决策方案,按它们之间的相互关系分为最高层中间层最低层,绘出层次结构图。

最高层:决策的目的、要解决的问题。

中间层:考虑的因素、决策的准则。

最低层:决策时的备选方案。

对于相邻的两层,称高层为目标层,低层为因素层。

解释:

在深入分析实际问题的基础上,将问题包含的因素自上而下地分解成若干层次:同一层的诸因素从属于上一层的因素或对上层因素有影响,同时又支配下一层的因素或受到下层因素的作用。最上层为目标层(解决问题的目的),通常只有1个因素。中间层可以有一个或几个,是选择为实现总目标而采取的各种措施、方案所必须遵循的准则(也可称策略层、约束层、准则层等),当准则过多时(譬如多于9个,所以一般不多于9个)应进一步分解出子准则层。最下层通常为方案或对象层(用于解决问题的各种措施、方案等)。

把各种所要考虑的因素放在适当的层次内。用层次结构图清晰地表达这些因素的关系。

示例:

旅游问题的层次分析模型

2.3 构造判断矩阵

从层次结构模型的第2层开始,对于从属于(或影响)上一层每个因素的同一层诸因素,构造判断矩阵,直到最下层。

在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,因而Saaty等人提出:一致矩阵法,即:

1.不把所有因素放在一起比较,而是两两相互比较。

2.对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,以提高准确度。

判断矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较。判断矩阵的元素用Saaty的1-9标度方法给出。

心理学家认为成对比较的因素不宜超过9个,即每层不要超过9个因素。

判断矩阵元素的标度方法

判断矩阵元素aij的标度方法

示例:

旅游地选择判断矩阵A

这个矩阵是不一致的,什么是不一致呢?后面讲。

什么是一致性?

2.4 计算单层权向量并做一致性检验

能否确认层次单排序,需要进行一致性检验,所谓一致性检验是指对A确定不一致的允许范围

2.4.1 什么是一致性

定理1:n阶一致阵的唯一非零特征根为n

定理2:n阶正互反阵A的最大特征根λ≥n,当且仅当λ=n时A为一致阵

由于λ连续的依赖于aij,则λ比n大的越多,A的不一致性越严重。用最大特征值对应的特征向量作为被比较因素对上层某因素影响程度的权向量,其不一致程度越大,引起的判断误差越大。因而可以用λ-n数值的大小来衡量A的不一致程度

从理论上分析得到:如果A是完全一致的判断矩阵,应该有

但实际上在构造成对比较矩阵时要求满足上述众多等式是不可能的。因此退而要求成对比较矩阵有一定的一致性,即可以允许成对比较矩阵存在一定程度的不一致性。

由分析可知,对完全一致的成对比较矩阵,其绝对值最大的特征值等于该矩阵的维数。对成对比较矩阵的一致性要求,转化为要求: 的绝对值最大的特征值和该矩阵的维数相差不大。

2.4.2 如何做一致性检验

定义一致性指标:

λ:最大特征根;n:唯一非零特征根

CI=0,有完全的一致性;

CI接近于0,有满意的一致性;

CI越大,不一致越严重

为衡量CI的大小,引入随机一致性指标RI。方法为:

随机构造500个判断矩阵:A1,A2,…,A500,则可得一致性指标: CI1,CI2,…,CI500。

由此可得随机一致性指标公式:

Saaty的随机一致性指标RI结果如下(因为这个是固定的,当作已知)

一致性指标RI表

定义一致性比率:

一般,当一致性比率CR<0.1时,认为A的不一致程度在容许范围内,有满意的一致性,通过一致性检验。

此时,用其归一化特征向量作为权向量,否则需要重新构造判断矩阵A,对进行调整。

一致性检验:利用一致性指标和一致性比率<0.1及随机一致性指标的数值表,对A进行检验的过程。

示例:

旅游问题判断矩阵一致性检验

对于上图图,权向量中有5个元素,那每一个元素代表的是每一个因素对上一层的因素的权重,比如说第一个值为0.263,那这代表的含义就是景色对于选择旅游地的重要性为0.263。

有时候影响因素太多时,计算量很大,可以用正互反阵最大特征根和特征向量的简化计算方法:

正互反阵最大特征根和特征向量的简化计算方法(几何平均法或规范列平均法)

2.5 计算组合权向量(层次总排序)并做一致性检验

2.5.1 多层判断矩阵的构造

2.4节讲述了怎么构造单层因素的权向量,但是通常一个模型有多层因素,每层对目标的影响权重都不一样,所以需要考虑最下层方案对目标的权重。

计算某一层次所有因素对于最高层(总目标)相对重要性的权值,称为层次总排序。

这一过程是从最高层次到最低层次依次进行的。

这一步是在已知单层因素对上一层的相对重要性排序的前提下进行。

下一层对上一层的相对重要性排序

理解:B层层次单排序为n x m的矩阵,表示的重要性。

2.5.2 层次总排序的一致性检验

设B层B1,B2,…,Bn对上层(A层)中因素Aj(j=1,2,…,m)的层次单排序一致性指标为CIj,随机一致性指标为RIj,则层次总排序一致性比率为:

当CR<0.1时,认为层次总排序通过一致性检验。层次总排序具有满意的一致性,否则需要重新调整那些一致性比率高的判断矩阵的元素取值。

2.5.3 层次总排序

可以得到B层的层次总排序为:

B层的层次总排序

理解:B1表示b1影响A层,再影响到目标层,也就是方案B1对目标层的重要性。

B层的层次总排序

到此,根据最下层(决策层)的层次总排序做出最后决策。

示例:

1.先计算下层对上层的判断矩阵及其特征向量和特征值,并进行一致性检验。

旅游问题 下层对上层的判断矩阵及其特征向量和特征值,并进行一致性检验

w的下标为A的序号。也就是将上一层的某一因素当做单一目标,分别构造下层因素对上一层某一因素的判断矩阵(因为对于不同的准则,下层各因素权重选择不一样,也就有不同的判断矩阵),并计算特征向量和特征值,并做一致性检验。

2.一致性检验与组合权向量计算

一致性检验与组合权向量

理解:方案P1对目标的影响也就是,P1对上一层(A层)每一因素的影响再累积到对目标层的影响,而P1在对每一个A层因素为目标时的相对重要性不一样,所以P1对目标层的影响也就是B矩阵的第一行,所以B的第一行分别乘A的重要性排序向量,也就得到了P1对目标的权重。

根据公式做组合一致性检验,若检验通过,则可按照组合权向量表示的结果进行决策,否则需要重新考虑模型或重新构造那些一致性比率较大的判断矩阵。在一致性满足后,最后得到每一个最低层因素对目标的相对重要性排序。

2.6 层次分析法基本步骤归纳

1.建立层次结构模型

该结构图包括目标层,准则层,方案层。

2.构造判断矩阵

从第二层开始用判断矩阵和1~9尺度。

3.计算单排序权向量并做一致性检验

对每个判断矩阵计算最大特征值及其对应的特征向量,利用一致性指标、随机一致性指标和一致性比率做一致性检验。若检验通过,特征向量(归一化后)即为权向量;若不通过,需要重新构造成对比较矩阵。

4.计算总排序权向量并做一致性检验

计算最下层对最上层总排序的权向量。利用总排序一致性比率:

利用CR<0.1进行检验。若通过,则可按照总排序权向量表示的结果进行决策,否则需要重新考虑模型或重新构造那些一致性比率CR较大的判断矩阵。

3. 层次分析法的优缺点

3.1 层次分析法的优点

系统性:将对象视作系统,按照分解、比较、判断、综合的思维方式进行决策。成为继机理分析、统计分析之后发展起来的系统分析的重要工具;

实用性:一定性与定量相结合,能处理许多用传统的最优化技术无法着手的实际问题,应用范围很广,同时,这种方法使得决策者与决策分析者能够相互沟通,决策者甚至可以直接应用它,这就增加了决策的有效性;

简洁性:计算简便,结果明确,具有中等文化程度的人即可以了解层次分析法的基本原理并掌握该法的基本步骤,容易被决策者了解和掌握。便于决策者直接了解和掌握。

3.2 层次分析法的缺点

囿旧:只能从原有的方案中优选一个出来,没有办法得出更好的新方案;

粗略:该法中的比较、判断以及结果的计算过程都是粗糙的,不适用于精度较高的问题;

主观:从建立层次结构模型到给出判断矩阵,人主观因素对整个过程的影响很大,这就使得结果难以让所有的决策者接受。当然采取专家群体判断的办法是克服这个缺点的一种途径。每一层因素的权重是主观给出,在某些场合会影响泛化性。

4. 注意事项

1.如果所选的要素不合理,其含义混淆不清,或要素间的关系不正确,都会降低AHP法的结果质量,甚至导致AHP法决策失败。

为保证递阶层次结构的合理性,需把握以下原则:

(1)分解简化问题时把握主要因素,不漏不多;

(2)注意相比较元素之间的强度关系,相差太悬殊的要素不能在同一层次比较。

2. 针对某一个标准,计算各下层因素的权重:

关于判断矩阵权重计算的方法有两种,即几何平均法(根法)和规范列平均法(和法)。

(1)几何平均法(根法)

计算判断矩阵A各行各个元素mi的乘积;

计算mi的n次方根;

对向量进行归一化处理;

该向量即为所求权重向量。

(2)规范列平均法(和法)

计算判断矩阵A各行各个元素mi的和;

将A的各行元素的和进行归一化;

该向量即为所求权重向量。

然后再计算出特征值。

3.一致性检验

构造好判断矩阵后,需要根据判断矩阵计算针对某一准则层各元素的相对权重,并进行一致性检验。虽然在构造判断矩阵A时并不要求判断具有一致性,但判断偏离一致性过大也是不允许的。因此需要对判断矩阵A进行一致性检验。

5. 可应用的领域

商品选购、干部选拔、学校评选(影响因素不太多等的都可用)

6. 完整例子分析

6.1 旅游问题

对关于文中提到的旅游问题进行完整的一个计算分析。

6.1.1 层次分析模型构建

建模

6.1.2 构造判断矩阵

构造判断矩阵

6.1.3 计算层次单排序的权向量和一致性检验

6.2 干部选择问题

层次分析法原理及计算过程详解 - 知乎 (zhihu.com)

层次分析法原理及计算过程详解相关推荐

  1. SQL注入攻击实现原理与攻击过程详解

    SQL注入攻击实现原理与攻击过程详解 结构化查询语言(SQL)是一种用来和数据库交互的文本语言,SQL Injection就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到 ...

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

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

  3. AHP | 层次分析法原理及Python实现

    层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家托马斯·塞蒂(T. L. Saaty)于20世纪70年代中期提出,用于确定评价模型中各评价因子/准则的权重,进一 ...

  4. 层次分析法原理分析及Python实现层析分析法

    目录 层次分析法概述 定义 步骤归纳 例子 应用实例 Python实现 程序如下: 运行结果截图 层次分析法概述 定义 本文所有图片均来自本人的OneNote笔记 步骤归纳 例子 建立层次结构模型 构 ...

  5. Spring源码分析之Bean的创建过程详解

    前文传送门: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 本文内容: 在 ...

  6. 编译原理学习笔记·语法分析(LL(1)分析法/算符优先分析法OPG)及例子详解

    语法分析(自顶向下/自底向上) 自顶向下 递归下降分析法 这种带回溯的自顶向下的分析方法实际上是一种穷举的不断试探的过程,分析效率极低,在实际的编译程序中极少使用. LL(1)分析法 又称预测分析法, ...

  7. TLS/SSL 工作原理及握手过程详解

    目录 前言 TLS/SSL 基础概念 密钥协商过程中存在的问题及解决办法 TLS/SSL 握手过程 前言 本文是对 HTTPS 安全基础.TLS/SSL 工作原理及握手过程的总结.第一部分介绍为 HT ...

  8. 卷积神经网络CNN(2)—— BN(Batch Normalization) 原理与使用过程详解

    前言 Batch Normalization是由google提出的一种训练优化方法.参考论文:Batch Normalization Accelerating Deep Network Trainin ...

  9. python层次分析法一致性检验+权重计算

    import numpy as np from numpy import linalg def s_s_a(n, C): """算术平均值求权重""& ...

  10. DNS原理及解析过程详解

    目录 1 域名系统概述 2 因特网的域名结构 3 域名服务器 4 域名的解析原理过程 4.1 DNS解析原理 4.2 域名解析过程 5 查询过程 5.1 演示整个查询过程 5.2 关于DNS解析的TT ...

最新文章

  1. 最新Java中Date类型详解
  2. 基于 OpenCV 的图像分割项目实战
  3. 树结构有什么好处_什么啊?面试官还在问HashMap了,老知识点了啊
  4. github总star超9K!一个超赞的 PyTorch 资源大列表,有人把它翻译成了中文版!
  5. docker-部署elk-6.1.3
  6. 架构设计之「 微服务入门 」
  7. Mac 10.12下安装python3环境
  8. 一个项目部署多个节点会导致锁失效么_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)...
  9. 【转】java线程池的原理和机制
  10. mysql linux 安装包下载_如何在官网上下载Linux版本的MySQL安装包
  11. Mtlab 二次规划及其例子
  12. 黑客炸弹弹窗假装自己是黑客
  13. 处理器管理及并发进程-多道程序设计
  14. html获取本机ip,获取本机IP地址的实例(JavaScript / Node.js)
  15. js将月份转换为英文简写的形式
  16. 如何通过初等行(列)变换求矩阵的单位矩阵(同时还能求逆)?
  17. ORA-39097:Data Pump job encountered unexpected error 06502
  18. 阿里云OSS定时备份文件并定时删除过时文件
  19. 双击放大图片 手指移动图片位置
  20. 淘宝号搜索标签查询,买家标签查询、人群标签查询、淘宝号搜索打标接口、买家标签查询接口、人群标签查询接口

热门文章

  1. android+nfc+助手,NFC助手app
  2. 国科大计算机算法与分析——陈玉福 马菲菲
  3. html实现百度换肤,百度换肤
  4. CSAPP第六章家庭作业参考答案
  5. 安装原生Win7-SP1重要补丁
  6. python的图导入origin_利用Origin软件做X射线倒易空间图(RSM)的办法
  7. 八人抢答器讲解_八人抢答器PLC控制系统设计(最终版)最新版
  8. 前端检查本机注册表文件,如果有打开程序,如果没有下载程序/注册表文件
  9. linux连win7打印机,如何在CentOS 6.5下安装Win7下的共享打印机服务
  10. webpower携手穷游,解析大数据、营销智能化与用户的关系