找回密码
 会员注册
查看: 21|回复: 0

python层次分析(AHP)

[复制链接]

12

主题

0

回帖

37

积分

新手上路

积分
37
发表于 2024-9-7 17:19:03 | 显示全部楼层 |阅读模式
文章目录一、算法原理二、案例分析2.1构建指标层判断矩阵2.2求各指标权重2.2.1算术平均法(和积法)2.2.2几何平均法(方根法)2.3一致性检验2.3.1求解最大特征根值2.3.2求解CI、RI、CR值2.3.3一致性判断2.4分别求解方案层权重向量及一致性检验2.4.1景色2.4.2吃住2.4.3价格2.4.4人文2.5计算各方案得分三、python代码3.1和积法计算权重3.2方根法计算权重3.3python库np.linalg.eig一、算法原理层次分析法(analytichierarchyprocess),简称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+4+1/2+3=8.51+4+1/2+3=8.51+4+1/2+3=8.5。将指标层判断矩阵按列归一化(即按列求占比),如:0.12=1/8.50.12=1/8.50.12=1/8.50.47=4/8.50.47=4/8.50.47=4/8.50.06=1/2/8.50.06=1/2/8.50.06=1/2/8.50.35=3/8.50.35=3/8.50.35=3/8.5将归一化后的矩阵按行求平均,得到权重向量w2.2.2几何平均法(方根法)每行各元素相乘(行乘积),如1∗1/4∗2∗1/3=0.16671*1/4*2*1/3=0.16671∗1/4∗2∗1/3=0.1667对乘积列每个元素开n次方(n为矩阵阶数,此处n=4),如0.16674=0.6389\sqrt[4]{0.1667}=0.638940.1667​=0.6389.然后对开方列求列占比,得到权重向量w,如0.1171=0.6389/5.45660.1171=0.6389/5.45660.1171=0.6389/5.4566.2.3一致性检验2.3.1求解最大特征根值得到权重向量后,可以计算出原判断矩阵的最大特征根值,公式为:λmax=1n∑i=1n(AWi)Wi\lambda_{max}=\dfrac{1}{n}\sum_{i=1}^{n}{\dfrac{(AW_{i})}{W_{i}}}λmax​=n1​i=1∑n​Wi​(AWi​)​其中,n为矩阵阶数,此处n=4。求解步骤(以和积法求解权重为例)求AWAWAW,其中0.4705=1∗0.1176+14∗0.5175+2∗0.0611+13∗0.30380.4705=1*0.1176+\dfrac{1}{4}*0.5175+2*0.0611+\dfrac{1}{3}*0.30380.4705=1∗0.1176+41​∗0.5175+2∗0.0611+31​∗0.3038求AWW\dfrac{AW}{W}WAW​,如4.0016=0.4705/0.11764.0016=0.4705/0.11764.0016=0.4705/0.1176求1nsum(AWW)\dfrac{1}{n}sum(\dfrac{AW}{W})n1​sum(WAW​),此处sum(AWW)=16.0621sum(\dfrac{AW}{W})=16.0621sum(WAW​)=16.0621综上求得λmax=14∗16.0621=4.0155\lambda_{max}=\dfrac{1}{4}*16.0621=4.0155λmax​=41​∗16.0621=4.0155。2.3.2求解CI、RI、CR值计算CICI=λ−nn−1=4.0155−44−1=0.0052CI=\dfrac{\lambda-n}{n-1}=\dfrac{4.0155-4}{4-1}=0.0052CI=n−1λ−n​=4−14.0155−4​=0.0052计算RI根据查表,得知RIRIRI为0.89计算CRCR=CIRI=0.00520.89=0.0058CR=\dfrac{CI}{RI}=\dfrac{0.0052}{0.89}=0.0058CR=RICI​=0.890.0052​=0.00582.3.3一致性判断CR=0.0058
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-11 05:37 , Processed in 0.917136 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表