层次分析法AHP

简介: 层次分析法是一种用于评价多指标权重的方法,可以解决多个层级或者多个指标的复杂问题。把定性和定量相结合进行决策分析,既有主观也有客观。AHP通过把定量分析和定性分析结合在一起,让决策在在权衡多个指标之间的重要度是可以更加科学合理的判断。

1.概述

   层次分析法是一种用于评价多指标权重的方法,可以解决多个层级或者多个指标的复杂问题。把定性和定量相结合进行决策分析,既有主观也有客观。AHP通过把定量分析和定性分析结合在一起,让决策在在权衡多个指标之间的重要度是可以更加科学合理的判断。

   比如说生活中我们遇到的多指标决策问题:买房时,要么要考虑价格、交通、户型、配套等因素,需要根据不同楼盘(目标)提供的不同指标,决策选择买那一个楼盘。假期旅游,我们又多个选择,苏州、上海、杭州,我们要依据景色、费用、距离等多方面的因素进行选择。

   层次分析法的特点是把复杂问题中的各个因素通过划分为相互联系的有序层次,使之条理化,根据对一定客观现实的主观判断结构,把专家的意见或者是决策者的客观判断据结果直接而有效结合在一起,将一层次元素两两比较的重要性进行定量描述。而后,数学方法计算反应每一层次元素的相对重要性次序的权重,通过所有层次之间的总排序计算所有元素的相对权重并进行排序。


2.原理

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


3.基本步骤

 1.建立递阶层次结构模型

   深入分析实际问题,将有关因素自下而上分为目标层,准则层,方案层。


  • 目标层:决策的总目标,要解决的问题。
  • 准则层:考虑元素,决策准则。
  • 方案层:决策时的备选方案。

 2.构造出各层次中的所有判断矩阵

3c69c3a600a0f9f4bb901013ebd18dac.png

b6ff7c63867ccdb7ab761622039b2392.png

   判断矩阵的元素aij表示的是第i个因素相对于第j个因素重要性比较结果,比如 a21=2,是指费用的重要性会比景色的重要性更大。

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

   1.列向量归一化

a913d6baba64fde4da7e89636e473dbc.png

   第一行的第一列数字为1归一化以后为0.6。它的计算过程为先把这一列的和求出来1+1/2+1/6,然后再用1来除以这一个值得出0.6。

   2.行和归一化


17289c8c551e85007184e13621ff61c3.png

   然后再进行行和归一化,就是把每一行加在一起然后除以他的个数。比如说第一行就是0.6+0.615+0.545,然后再把这个求和的数字除以3。

   3.求特征值

   计算判断矩阵最大特征根

427a8284890dac614750ac8a4b562e23.png

11834604a2c2f0762426be337f1c4bca.png

4.对判断矩阵的一致性进行检验

   CI 为度量判断矩阵偏离一致性指标,CI=(λ-n)/(n -1) ,CI 越大,判断矩阵 一致性越差,CI 为 0 时,判断矩阵具有完全一致性。

   CR 为一致性比率,公式为:CR=CI/RI ,其中 RI 为平均随机一致性指标, 当 CR<0.1 时可以认为判断矩阵的一致性可以接受。

3237901986a995c6262a37570e3e76e4.png

1773d90cc5676d54f7aec2d19624dfe4.png


4.最终结果

   如果在步骤二中的结果通过了最后的校验,则可以作为最终的结果,如果一致性效验不通过,还要对判断矩阵进行修改。通过一致性校验后的数据对,第二部中的求行和归一化(求算数平均)后的数据集为它的权重。最后使用加权求和的方式选择出最优的方案。

8338ad405d9015a071bbbd5dee6a76c2.png

目录
相关文章
|
存储 自然语言处理 运维
服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
这里就平时经常用到的服务发现的产品进行特性的对比,总的来看,目前Consul 自身功能,和 spring cloud 对其集成的支持都相对较为完善,而且运维的复杂度较为简单,Eureka 设计上比较符合场景,但还需持续的完善。
5842 0
|
8月前
|
druid Java 应用服务中间件
五大主流数据库连接池的深度剖析与对比
HikariCP通过优化concurrentBag和fastStatementList等集合,提升了并发的读写效率。它采用threadlocal缓存连接,并大量运用CAS机制,以最大程度地减少lock的使用。从字节码的维度进行代码优化,确保方法尽量控制在35个字节码以内,以提升JVM处理效率。HikariCP在此基础上的进一步优化措施包括:利用ping命令进行mysql连接,以及通过Sharding-JDBC的Driver、Server和Sidecar三个版本,构建灵活多样的生态系统,满足不同需求和环境。对于线上应用,Sharding-JDBC-Driver可提供直连数据库的最优性能,而Sha
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
286 2
|
负载均衡 算法 数据中心
网络中的链路聚合是什么意思?
【10月更文挑战第12天】
1907 0
网络中的链路聚合是什么意思?
|
机器学习/深度学习 传感器 自动驾驶
【机器学习】机器学习赋能交通出行:智能化实践与创新应用探索
【机器学习】机器学习赋能交通出行:智能化实践与创新应用探索
1325 0
|
文件存储 块存储 对象存储
对象存储、文件存储与块存储:了解基本差异
【6月更文挑战第3天】了解数据存储的“家”:对象存储如同杂物间,适合大量非结构化数据;文件存储像文件柜,便于管理结构化数据;块存储是积木箱,提供高性能、低延迟的存储空间。通过Python代码示例展示了三者使用场景。选择合适存储方式,让数据找到舒适“家”!
1663 4
|
算法 计算机视觉
【MATLAB】 CEEMDAN信号分解+FFT傅里叶频谱变换组合算法
【MATLAB】 CEEMDAN信号分解+FFT傅里叶频谱变换组合算法
769 0
|
搜索推荐 前端开发 小程序
计算机java项目|Springboot 智能菜谱推荐系统
计算机java项目|Springboot 智能菜谱推荐系统
575 0
|
机器学习/深度学习 算法 数据可视化
使用Python实现支持向量机算法
使用Python实现支持向量机算法
389 0
|
资源调度
pnpm : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。
pnpm : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。

热门文章

最新文章