【建模算法】层次分析法(Python实现)

本文介绍了层次分析法在多维度决策中的应用,如小美选择男友案例,通过构建判断矩阵、一致性检验和权重计算来确定关键指标的重要性。Python实现代码展示了整个过程。尽管主观性强,但其在某些场景下仍被广泛应用。
该文章已生成可运行项目,

【建模算法】层次分析法(Python实现)

01 算法用途

在很多情况下,我们对事物评价,应该要多维度评价。多维度评价之后我们要如何把它们合并成一个指标用于比较事物的好坏呢,这时候需要对各个指标赋权, 层次分析法就是用来赋权重的了。
这个方法主观性比较强,在数据集比较小,实在不好比较的时候可以用这个方法,如果有别的选择还是尽量不要用这个算法比较好。可以看下以往建模获奖论文,此算法的出现频率还是挺高的,所以存在即有它存在的道理。

02 建模案例

小美要选男朋友了,现有小明、小李两个人选,到底该选谁呢?现在小美要从四个指标去选择,分别是身高、颜值、学历、性格。小美对他们各个指标的评分如下:

图片

这也太难抉择了吧!!

03 原理解析

step1:小美查阅图书资料,选择依据如下:
在这里插入图片描述
step2:小美开始构造判断矩阵

小美的主观判断:

1.身高与颜值相比,身高稍重要

2.身高与学历相比,同样重要

3.身高和性格相比,性格稍重要

4.颜值和学历相比,学历介于相同重要和稍微重要之间

5.颜值和性格相比,性格明显重要

6.性格和学历相比,性格稍重

身高 颜值 学历 性格
身高 1 3 1 1/3
颜值 1/3 1 1/2 1/5
学历 1 2 1 1/3
性格 3 5 3 1

小美终于得到了判断矩阵。
在这里插入图片描述

step3:翻阅图书,小美找到检验标准

对判断矩阵的一致性检验的步骤如下:

  • 计算一致性指标CI
    在这里插入图片描述
    查找相应的平均随机一致性指标RI,对n=1,…,9,Satty给出了RI的值如下表所示:

图片

RI是通过随机方法构造500个样本矩阵,随机地从1~9及其例数中抽取数字构造正反矩阵,求最大特征根的平均值λmax\lambda_{max}λmax并定义
RI=λmax−nn−1 RI=\frac{\lambda_{max}-n}{n-1} RI=n1λmaxn

本文章已经生成可运行项目
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值