MCM备赛笔记——熵权法

本文讲解了熵权法,涉及数据预处理(标准化),通过信息熵量化指标重要性,决定权重分配。
摘要由CSDN通过智能技术生成

Key Concept

熵权法是一种基于信息熵概念的权重确定方法,用于多指标决策分析中。信息熵是度量信息量的不确定性或混乱程度的指标,在熵权法中,它用来反映某个指标在评价过程中的分散程度,进而确定该指标的权重。指标的分散程度越高,信息熵越小,该指标的权重越大;反之,信息熵越大,权重越小。

建模思路

  1. 数据准备

    • 收集各个评价对象在不同指标下的原始数据。
  2. 数据标准化正向化

    • 由于不同指标的量纲和数量级可能不同,需要对数据进行标准化处理,使其可比性增强。
      #数据矩阵正向化
      #将极小型数据转化为极大型数据
      def minToMax(maxx,x):
          x=list(x)
          ans=[]
          for i in range(len(x)):
              ans.append(maxx-x[i])
          return ans
      
      #将中间型数据转化为极大型数据
      def midToMax(bestx,x):
          x=list(x)
          ans=[]
          h=[]
          #计算列表中每个元素与最优值的差的绝对值
          for i in range (len(x)):
              h.append(abs(bestx-x[i]))
          M=max(h)#计算最大值,用来归一化
          if M==0:
              M=1#防止除0错误
          #计算每个元素的极大型值
          for i in range(len(x)):
              ans.append(1-h[i]/M)
          return np.array(ans)
      
      #将区间型数据转化为极大型数据
      def intervalToMax(x,lowx,highx):
          x=list(x)
          ans=[]
          for i in range(len(x)):
              if x[i]>=lowx and x[i]<=highx:
                  ans.append(1)
              elif x[i]<lowx:
                  ans.append(1-(lowx-x[i])/(lowx-min(x)))
              elif x[i]>highx:
                  ans.append(1-(x[i]-highx)/max(x)-highx)
          return np.array(ans)
      
      #对数据矩阵进行标准化
      def normalize(data):
          data=np.array(data)
          X=data/np.sqrt(np.sum(data**2,axis=0))
          return X
      
      #对数据矩阵进行归一化
      def regularize(data):
          data=np.array(data)
          m,n = np.shape(data)
          for i in range(n):
              col_sum=np.sum(data[:,i])
              for j in range(m):
                  data[j,i]=data[j,i]/col_sum
          return data

  3. 计算指标的比重

    • 对于每个指标,计算每个评价对象在该指标下的比重,这通常是指标值除以该指标所有值的总和,这里其实就是进行归一化处理
  4. 计算信息熵

    • 使用信息熵公式计算每个指标的信息熵。
  5. 计算权值

  6. 计算得分

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我我我想出去玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值