评价类算法之AHP层次分析法

AHP是最基础的评价类算法:

解决评价类问题,大家首先要想到以下三个问题:
(1) 我们评价的目标是什么?答:为小明同学选择最佳的旅游景点。
(2) 我们为了达到这个目标有哪几种可选的方案?答:三种,分别是去苏杭、去北戴河和去桂林。
(3) 评价的准则或者说指标是什么?(我们根据什么东西来评价好坏)答:景色、花费、居住、饮食、交通。

下面简述其算法步骤:

第一步:分析系统中各因素之间的关系,建立系统的递阶层次结构。

注意:如果你用到了层次分析法,那么这个层次结构图要放在你的建模论文中哦。

第二步:对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)

⭐⭐⭐判断矩阵怎么自己填

第三步:由判断矩阵计算被比较元素对于该准则的相对权重,并进行一致性检验(检验通过权重才能用)三种方法计算权重:(1)算术平均法(2)几何平均法(3)特征值法,一般三种方法都去计算,保证结果的稳健性。

⭐⭐⭐一致性检验步骤
第一步:计算一致性指标CI

第二步:查找对应的平均随机一致性指标RI

注:在实际运用中,n很少超过10,如果指标的个数大于10,则可考虑建立二级指标体系,或使用我们以后要学习的模糊综合评价模型。

第三步:计算一致性比例CR

如果CR<0.1,则可认为判断矩阵的一致性可以接受;否则需要对判断矩阵进行修正。

⭐⭐⭐Python算法实现:

import numpy as np
class AHP:
    """
    相关信息的传入和准备
    """

    def __init__(self, array):
        ## 记录矩阵相关信息
        self.array = array
        ## 记录矩阵大小
        self.n = array.shape[0]
        # 初始化RI值,用于一致性检验
        self.RI_list = [0, 0, 0.52, 0.89, 1.12, 1.26, 1.36, 1.41, 1.46, 1.49, 1.52, 1.54, 1.56, 1.58,
                        
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值