【建模算法】层次分析法(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=n−1λmax−n

本文介绍了层次分析法在多维度决策中的应用,如小美选择男友案例,通过构建判断矩阵、一致性检验和权重计算来确定关键指标的重要性。Python实现代码展示了整个过程。尽管主观性强,但其在某些场景下仍被广泛应用。
&spm=1001.2101.3001.5002&articleId=125050963&d=1&t=3&u=53fd35d40e8b4a5e9b7e041953df0724)
5810

被折叠的 条评论
为什么被折叠?



