用Python解决综合评价问题_熵权法模板

熵权法是一种客观赋权方法,通常用于多属性决策分析中确定各属性的权重。其基本思想是根据各属性的变异程度,利用信息熵的概念来计算各属性的权重。

这里,我将简单介绍熵权法中的数学原理, 熵权法的数学原理包括以下几个关键步骤:
1. 数据归一化:
   为了消除不同量纲的影响,首先需要对数据进行归一化处理。常用的归一化方法有线性归一化和非线性归一化。
2. 计算熵值:
    熵是信息论中衡量信息量的概念。在熵权法中,熵值用于衡量属性的变异程度。对于第 j 个属性,其熵值  e(j)  可以通过以下公式计算:


    其中, p_{ij}  是第  i  个样本在第 j 个属性上的归一化值, n  是样本数量。


3. 计算权重:
    属性的权重  w(j) 可以通过熵值来计算,公式如下:

    变异系数g_{j}等于1-e_{j}


    


其中, m  是属性的数量。

4:求综合评分


数学原理的解释:
1:熵值与信息量:
    熵值越大,表示属性值的变异程度越小,提供的信息量越少;反之,熵值越小,表示属性值的变异程度越大,提供的信息量越多。当熵值为1,变异系数为0时,提供的信息量最少,这个衡量指标可忽略不计。
2:权重分配:
    熵权法通过熵值来反映各属性的相对重要性。熵值小的属性权重较大,熵值大的属性权重较小。
3:客观性:
   熵权法是一种客观赋权方法,其权重完全由数据决定,不受主观因素的影响。这个方法特别适用于决策问题中,当缺乏足够的先验信息或者需要减少主观判断的影响时。

这里我们可以通过一个简单的例子来说明如何用Python实现熵权法。

假设我们有以下数据集,包含5个选项和3个属性(指标):

选项属性1属性2属性3
10.20.30.4
20.30.40.5
30.40.50.6
40.50.60.7
50.60.70.8

一:数据归一化处理

import numpy as np

# 数据集
data = np.array([
    [0.2, 0.3, 0.4],
    [0.3, 0.4, 0.5],
    [0.4, 0.5, 0.6],
    [0.5, 0.6, 0.7],
    [0.6, 0.7, 0.8]
])

# 数据归一化处理
data_normalized = data / np.sum(data, axis=0)
data_normalized

数据已经成功归一化。需要注意的是数据中可能不只有正向指标,就是指标值越大越好,如果还有负向指标,需要进行正向指标标准化和负向指标标准化,使得接下来所有的评分都在(0,1)之间,且都是数值越大,现实意义越好,在此不进行详细说明了。接下来,我们将计算每个属性的熵。

二:计算熵值

# 计算每个属性的熵
n = data.shape[0]  # 样本数量
k = 1 / np.log(n)

# 计算每个属性的熵
entropy = -k * np.sum(data_normalized * np.log(data_normalized), axis=0)
entropy

每个属性的熵已经计算出来了。接下来,我们将计算每个属性的权重。

三: 计算权重

# 计算每个属性的权重
weights = (1 - entropy) / np.sum(1 - entropy)
weights

在熵权法中,一旦我们得到了各属性的权重,我们就可以计算每个样本的综合评分。

四:求综合评分

# 计算每个样本的综合评分
composite_scores = np.sum(data_normalized * weights, axis=1)
composite_scores

每个样本的综合评分已经计算出来了。在这个例子中,五个样本的综合评分分别是:

  • 样本1:约 0.113
  • 样本2:约 0.157
  • 样本3:约 0.200
  • 样本4:约 0.243
  • 样本5:约 0.287

这些评分反映了每个样本在考虑所有属性后的综合表现,其中样本5的评分最高,表明其综合表现最好。

以上就是用Python实现熵权法来解决综合评价问题的实例模板。

点下关注,分享更多有关AI,数据分析和量化金融的实用教程和实战项目。

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值