综合评价---熵值法

文章介绍了熵值法的基本原理,这是一种用于衡量数据指标离散程度和确定权重的方法。通过计算熵值和信息效用值,可以对指标进行标准化处理并分配权重。在样例分析中,展示了如何使用熵值法对特定数据集进行处理并计算权重。该方法的优点在于其客观性和简单实现,但缺点是未考虑指标间的相互影响和对样本的依赖。
摘要由CSDN通过智能技术生成

一、基本原理

在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,该事件的发生概率也就更加明确,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,我们可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。熵值法是指用来判断某个指标的离散程度的数学方法。离散程度越大,该指标对综合评价的影响越大。可以用熵值判断某个指标的离散程度。

二、计算方法及步骤

1、指标归一化
为避免量纲造成的影响,首先要对指标进行标准化处理。根据指标含义,可将指标分为正向指标(取值越大越好)和逆向指标(取值越小越好),分别通过如下方法进行标准化:
在这里插入图片描述
2、计算第 j 项指标(特征)下第 i 年(项目)指标值的比重。
在这里插入图片描述
3、计算第 j 项指标的熵值。
在这里插入图片描述
k=1/ln(n),其中n为样本个数
4、计算第 j 项指标的信息效用值d。
某项指标的信息效用值取决于该指标的信息熵与1之间的差值,它的值直接影响权重的大小。信息效用值越大,对评价的重要性就越大,权重也就越大。
在这里插入图片描述
5、计算评价指标权重。
在这里插入图片描述
6、计算各样本的综合评价值。
在这里插入图片描述

三、样例分析

import pandas as pd
import numpy as np

class shangzhifa:
    def __init__(self):
        pass
    def fit(self,data_df):
        data_df[['人数']] = (data_df[['人数']] - data_df[['人数']].min())/(data_df[['人数']].max()- data_df[['人数']].min())#标准化数据,越大越好
        data_df[["税利合计","已交税金"]] = (data_df[["税利合计","已交税金"]].max() - data_df[["税利合计","已交税金"]])/(data_df[["税利合计","已交税金"]].max()-data_df[["税利合计"]].min())#标准化数据,越小越好
        #data_df = (data_df - data_df.min())/(data_df.max()- data_df.min()) #不区分大小值
        self.data = data_df.apply(lambda x:x/x.sum())        
        self.data = self.data.applymap(lambda x:np.log(x)*x)
        self.data_sfsj_ej = - (1/np.log(self.data.shape[0]))* self.data.sum()    
        self.data_sfsj_dj = 1 - self.data_sfsj_ej        
        self.data_sfsj_qz = self.data_sfsj_dj / self.data_sfsj_dj.sum()
    def predict(self,data_df):
        return (data_df * self.data_sfsj_qz).sum(axis=1)

cs_sb1 = pd.read_excel('2020.xlsx')
cc1 = ['人数','税利合计','已交税金']
shang_model = shangzhifa()
shang_model.fit(cs_sb1[cc1])
qz=shang_model.data_sfsj_qz

print(qz) #输出权重
cc=shang_model.predict(cs_sb1[cc1])
print(shang_model.predict(cs_sb1[cc1]))#输出得分

四、优缺点

优点
1、能深刻反映出指标的区分能力,进而确定权重
2、是一种客观赋权法,相对主观赋权具有较高的可信度和精确度
3、算法简单,实现容易
缺点
1、不够智能,没有考虑指标与指标之间的影响,如:相关性、层级关系等
2、若无业务经验指导,权重可能失真,需要自行判断
3、对样本的依赖性较大,随着建模样本不断变化,权重会发生一定波动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值