python 层次分析(AHP)

层次分析法(AHP) 层次分析法 阅读详情
AI摘要

本文详细介绍了层次分析法(AHP)用于城市旅游选择的案例,包括构建判断矩阵、求解各指标权重(算术平均法和几何平均法)、一致性检验以及使用Python编程语言中的numpy和pandas库进行计算。通过这种方法,对南京、桂林、三亚的旅游方案进行了量化评估。,

一、算法原理

  • 层次分析法(analytic hierarchy process),简称AHP,是指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初,在为美国国防部研究"根据各个工业部门对国家福利的贡献大小而进行电力分配"课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。

  • 传统定性分析方法类似专家打分、专家判断等,仅能将指标简单地划分为几个层级(类似非常重要、比较重要、一般、比较不重要、非常不重要),这样导致部分存在差别但是不大的指标得到了同样的权重,受主观因素影响,无法对最终决策做出更好的帮助。层次分析法将不同指标间一一比对,主观与客观相结合,很好地解决了以上问题。

  • 判断矩阵量化值参照表:

因素i比因素j 量化值
同等重要 1
稍微重要 3
较强重要 5
强烈重要 7
极端重要 9
两相邻判断的中间值 2,4,6,8
倒数 假设因素i相比因素j重要程度量化值为3,相反就是1/3

二、案例分析

目的:选择某个城市旅游

方案:南京、桂林、三亚

考虑因素:景色、吃住、价格、人文
在这里插入图片描述

2.1 构建指标层判断矩阵

在这里插入图片描述
构建判断矩阵,理论上需要专家打分。

2.2 求各指标权重

2.2.1 算术平均法(和积法)

  1. 按列求和:如 1 + 4 + 1 / 2 + 3 = 8.5 1+4+1/2+3 = 8.5 1+4+1/2+3=8.5。
    在这里插入图片描述

  2. 将指标层判断矩阵按列归一化(即按列求占比),如:
    0.12 = 1 / 8.5 0.12 = 1 / 8.5 0.12=1/8.5
    0.47 = 4 / 8.5 0.47 = 4 / 8.5 0.47=4/8.5
    0.06 = 1 / 2 / 8.5 0.06 = 1/2 / 8.5 0.06=1/2/8.5
    0.35 = 3 / 8.5 0.35 = 3 / 8.5 0.35=3/8.5
    在这里插入图片描述

  3. 将归一化后的矩阵按行求平均,得到权重向量w
    在这里插入图片描述

2.2.2 几何平均法(方根法)

  1. 每行各元素相乘(行乘积),如 1 ∗ 1 / 4 ∗ 2 ∗ 1 / 3 = 0.1667 1*1/4*2*1/3 = 0.1667 1∗1/4∗2∗1/3=0.1667
    在这里插入图片描述

  2. 对乘积列每个元素开n次方(n为矩阵阶数,此处n=4),如 0.1667 4 = 0.6389 \sqrt[4]{0.1667}=0.6389 40.1667 ​=0.6389.
    在这里插入图片描述

  3. 然后对开方列求列占比,得到权重向量w,如 0.1171 = 0.6389 / 5.4566 0.1171=0.6389 / 5.4566 0.1171=0.6389/5.4566.
    在这里插入图片描述

2.3 一致性检验

2.3.1 求解最大特征根值

得到权重向量后,可以计算出原判断矩阵的最大特征根值,公式为:

λ m a x = 1 n ∑ i = 1 n ( A W i ) W i \lambda_{max}=\dfrac{1}{n}\sum_{i=1}^{n}{\dfrac{(AW_{i})}{W_{i}}} λmax​=n1​i

一、数学建模层次分析法(AHP)【清风数学建模个人笔记】 层次分析法: 层次分析法主要用于解决评价类问题(例如:选择哪种方案更好、哪位员工、运动员等表现得更优秀) 评价类问题: 分析问题得出评判问题的子标,分别给不同子标赋予权重(权重和要为1) ... 阅读详情

相关推荐

层次分析法——python

原理 层次分析法根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成–个多层次的分析结构模型,从而最终使问题归结为最低层(供决策的方案、措施等)相对于最高层(总目标)的相对重要权值的确定或相对优劣次序的排定。 步骤和方法 Step1.建立层次结构模型 !注意:准则层的因素间应相互独立 例:旅游地选择层次结构模型 Step2.构造成对比较矩阵 ...

bb_sy_w的博客 5842

Python实现AHP(层次分析法)

import csv import numpy as np import tensorflow as tf from sklearn.preprocessing import MinMaxScaler from numpy import * class AHP: def __init__(self, array): self.row = len(array) ...

pwtd_huran的博客 2万+

AHP(层次分析法)学习笔记及多层权重Python实践

层次分析法(The analytic hierarchy process)简称AHP,它是将与决策有关的因素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。 本文为简明AHP学习笔记,并通过Python实践构建多层权重。

肖永威的专栏 2万+

层次分析法AHP - 代码注释多 - ( 数据建模 Python代码)

实际生活中,往往有一些很复杂的系统,我们没办法直观草率的确定权重,比如甲、乙、丙三人竞选总统,严谨的说,需要从三人的社交能力、管理能力、经济能力等方面来考虑,在每个方面,三位候选人的得分也不同,那么到底怎么来判断这三个人的综合得分呢?AHP可以帮助你。(请忽略现在的选举都是投票这个现实) 层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、...

黄饱饱 1万+

层次分析法AHP及Python实现

AHP (Analytic Hierarchy Process)层次分析法是一种实用的多方案或多目标的决策方法。 层次分析法是一种主客观结合的多指标综合评价方法;即定性分析与定量分析有机结合,实现定量化决策。 有两次定权过程,即准则层定权和方案层定权。 思路 层次分析法的思路是: 将所要分析的问题层次化,根据问题的性质和要达到的总目标,将问题分解成不同的组成因素,按照因素间的相互关系及...

积一时之步,臻千里之遥程 1万+

一文速学数模-项目实战(一)AHP层次分析法Python代码:让AHP帮你选一个最符合你的礼物

520了,不管是男码,女码友,都应该收到一份示爱,也希望各位单身码友今年脱单,不单身的码友和另一半感情越来越好,不管在什么地方都有人爱你,我爱你们~

master_hunter的博客 1522

层次分析法

用于数学建模运用,对于学生建模具有良好的指导作用,可以使不懂算法的小白也可以轻松阅读程序。

UE5实战技巧:TextRender高效集成中文字体与材质优化

本文针对UE5中TextRender组件显示中文的常见问题,提供了一套完整的实战解决方案。详细讲解了如何通过手动创建字体资产、精准控制字符集来优化性能,并重点介绍了通过调整材质中的Lerp节点参数(如设为-85, 92)来解决中文字体显示残缺和边缘模糊等核心难题,帮助开发者实现高效且美观的中文文本渲染。

weixin_28040125的博客 381

基于Matlab与Bladed联合仿真的交互软件设计

基于Matlab与Bladed的交互软件设计

weixin_45014222的博客 816

开源PACS系统Orthanc(DICOM服务器)配置

PACS(Picture Archiving and Communication System)是医学影像的数字化存储、检索和传输系统,用于管理和存储医学图像和相关信息,如放射学、核医学、超声、病理学等各种医学影像。PACS系统通过数字化技术取代了传统的胶片方式,使医疗机构能够更高效地存储、传输和查看医学图像,从而提高了医疗图像的管理和工作流程。

qq_42231043的博客 6251

华为P30/pro (ELE-AL00) 鸿蒙4.2降级 EMUI 9

分享

m0_52356707的博客 1万+

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9030

黑猫带你学UFS协议第23篇:UFS固件升级操作详解(FFU)

摘要:本文介绍了UFS固件更新(FFU)的实现方法与注意事项。根据UFS3.1 JEDEC协议,FFU通过write buffer命令(MODE=0Eh)下载FW固件,随后必须进行power cycle或硬件复位生效。文章详细阐述了FFU操作的10条规则,包括数据分片传输要求、寄存器访问限制等,同时指出协议未明确的厂商实现差异。关键寄存器包括bFFUTimeout、bDeviceFFUStatus和fPermanentlyDisableFwUpdate。

黑猫奥利奥的博客 1万+

30、模态组合规则在振动分析中的应用

本文详细介绍了模态组合规则在振动分析中的应用,重点讨论了绝对峰值叠加法(SRSS)和完全二次组合(CQC)的理论基础、应用场景及优缺点。通过具体工程实例,展示了模态组合规则在地震载荷下结构响应分析中的实际效果,并提供了应用步骤和注意事项,为结构设计和安全评估提供了科学依据。

nice1的博客 222

音频——DAC 性能测试

codec DAC 性能测试方法

tyustli 2235

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: python 扩展数据(补全缺失日期)
下一篇: FineBI学习:K线图
数据分析小鹏友
博客等级 码龄9年 157粉丝 54原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值