当前位置: 首页 > ai >正文

层次分析法

一.介绍

一种系统性的,多准则的分析方法,将复杂的问题分解为不同的层次结构,通过两两比较和判断,来确定各要素的相对重要性,并为最终决策提供定量依据

二.步骤

1.建立层次结构模型

将问题分解为目标层、准则层和方案层

  • 目标层:只有一个元素,是决策要解决的问题
  • 准则层:实现总目标所涉及的中间环节,可以是多个层级(子准则)。这些是衡量方案优劣的指标或标准
  • 方案层:为实现目标而可供选择的各种措施和方案

示例:选择最佳的旅游地

  • 目标层:选择最佳目的地
  • 准则层:景色、费用、饮食、住宿、交通
  • 方案层:目的地A、目的地B、目的地C

2.构建判断矩阵

从层次结构模型的第二层开始,对于从属于上一层每个因素的同一层诸因素,采用两两比较的方法,使用1-9标度法来构造判断矩阵。

1-9标度法中数值越高表示该因素比另外一个因素更重要(具体上网找)

对于准则层,比较各准则对于目标的重要性(比如最佳目的地,比较景色和费用等的相对重要性)

构造的判断矩阵可能如下:

景色费用饮食住宿交通
景色15342
费用1/511/21/21/3
饮食1/32121/2
住宿1/421/211/2
交通1/23221

同理,需要为每个准则下的方案层构建判断矩阵

比如:

风景目的地A目的地B

目的地C

目的地A152
目的地B1/511/7
目的地C1/271

注意判断矩阵一般都是行比列的,例如上表格中第2行第3列为5,表示在风景这个准则下,目的地A比目的地B的重要性为5,说明认为目的地A的风景比目的地B的风景更重要(在1-9标度法中为明显重要)

写到这里,笔者就干脆把1-9标度法也写出来了(哈哈哈)

1-9标度法
标度含义
1两个元素相比,具有同样的重要性
3两个因素相比,一个因素比另一个因素稍重要
5两个因素相比,一个因素比另一个因素明显重要
7两个因素相比,一个因素比另一个强烈重要
9两个因素相比,一个因素比另一个因素极端重要
2、4、6、8上述相邻判断的中间值,表示重要性介于周围两个奇数中间

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

这一步的目的是计算每一个判断矩阵的权重向量,并检验判断的逻辑一致性

1.计算权重向量

方法有几何平均法、算术平均法、特征向量法

  • 几何平均法:计算判断矩阵每一行元素的几何平均数M_{i} = \sqrt[n]{\prod_{j=1}^{n}a_{ij}},其中a_{ij}为判断矩阵的第i行第j列的值。然后对几何平均数向量M = (M_{1},M_{2},...,M_{n})^{T}进行归一化处理得到权重W_{i} = \frac{M_{i}}{\sum_{j=1}^{n}M_{j}},得到W =( W_{1},W_{2},...,W_{n})^{T}即为该矩阵的权重向量
2.一致性检验

由于判断矩阵是人为构造的,可能存在逻辑错误,比如A比B重要,B比C重要,C比A重要,但是按照逻辑应该是A比C重要

第一步计算该判断矩阵的最大特征值\lambda _{max}

第二步计算一致性指标CI = \frac{\lambda _{max} - n}{n-1}  ,其中n为判断矩阵的行数

第三步查询平均一致性指标RI,该值通过大量实验得到,是一个定值

第四步计算一致性比率CR = \frac{CI}{RI}  ,当CR<0.1时认为判断矩阵的一致性是可以接受的。反之说明判断矩阵的一致性偏差太大,要重新调整该判断矩阵中的标度值,直到满足一致性检验为止

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

计算各层元素对系统总目标的合成权重,并进行排序

  • 层次总排序: 从上到下逐层进行。

    • 假设准则层C包含m个因素 C₁, C₂, ..., C_m,其对于总目标A的权重分别为 a₁, a₂, ..., a_m

    • 方案层P包含n个方案 P₁, P₂, ..., P_n,它们对于准则C<sub>j</sub>的权重分别为 b_{1j}, b_{2j}, ..., b_{nj} (j=1,2,...,m)。

    • 则每个方案P<sub>i</sub>对总目标A的最终权重为:
      W_{P_i} = a₁ * b_{i1} + a₂ * b_{i2} + ... + a_m * b_{im}

    • 最终,权重最高的方案即为最优方案

  • 总排序一致性检验(通常可省略):
    这一般是学术上的严格要求。在实际应用中,如果每个单排序的一致性都已通过(CR<0.1),通常认为总排序也具有满意的一致性

http://www.xdnf.cn/news/19342.html

相关文章:

  • 现代C++特性 并发编程:线程管理库 <thread>(C++11)
  • dayjs 常用方法总结
  • MySQL—— 概述 SQL语句
  • MSVC---编译器工具链
  • 【CUDA入门·Lesson 1】Ubuntu实战:CUDA 概念、nvidia-smi 工具与 GPU 参数详解
  • Docker从零学习系列之Dockerfile
  • 蓓韵安禧活性叶酸独立包装防漏贴心设计
  • 策略模式:模拟八路军的抗日策略
  • 性能测试工具-Slow Query Log
  • React学习教程,从入门到精通, ReactJS - 架构(6)
  • Java GC 销毁机制 与 Redis 过期策略深度对比
  • AI+IP双驱动:效率提升的关键
  • 查漏补缺——与日期有关的字符串
  • SAP Business One的设计哲学
  • Linux 网络编程:深入理解套接字与通信机制
  • 在Windows系统Docker中使用wsl2、容器、windows文件路径三种不同挂载方式的区别和性能差异
  • 大话 IOT 技术(1) -- 架构篇
  • 【代码随想录day 22】 力扣 39. 组合总和
  • 视频理解与行为识别全景综述
  • Multi-Head RAG: Solving Multi-Aspect Problems with LLMs
  • linux 内核 - 常见的文件系统介绍
  • AIA中断控制器IPI的Linux内核实现
  • Qt-Advanced-Docking-System: 一个基于 Qt 框架的高级停靠窗口系统
  • Spring boot注解介绍
  • Python 2025:AI代理、Rust与异步编程的新时代
  • BigDecimal账户分布式原子操作
  • IOT安全学习之IoT_Sec_Tutorial
  • 历史数据分析——寒武纪
  • Wi-Fi技术——MAC特性
  • 【人工智能99问】Qwen3中的QK归一化是什么?(34/99)