【建模算法】熵权法(Python实现)

这篇具有很好参考价值的文章主要介绍了【建模算法】熵权法(Python实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【建模算法】熵权法(Python实现)

熵权法是通过寻找数据本身的规律来赋权重的一种方法。

熵是热力学单位,在数学中,信息熵表示事件所包含的信息量的期望。根据定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其熵值越小,指标的离散程度越大,该指标对综合评价的影响(权重)越大。

熵本源于热力学,后由申农(C. E. Shannon)引入信息论,根据熵的定义与原理,当系统可能处于几种不同状态,每种状态出现的概率为 p i ( i = 1 , 2 , . . . , m ) p_i(i=1,2,...,m) pi(i=1,2,...,m),则该系统的熵就可定义
e = − 1 l n m ∑ i = 1 m p i l n p i . e=-\frac{1}{lnm}\sum^m_{i=1}p_ilnp_i. e=lnm1i=1mpilnpi.
熵权法是一种客观赋权方法。在具体使用过程中,熵权法根据各指标的变异程度,利用信息熵计算出各指标的熵权,从而得出较为客观的指标权重。

一、问题描述

请根据下表给出的10个学生8门课的成绩,给出这10个学生评奖学金的评分排序。

表1:学生成绩表
【建模算法】熵权法(Python实现)

二、熵权法的评价步骤

设有 n n n个评价对象, m m m个评价指标变量,第 i i i个评价对象关于第 j j j个指标变量的取值为 a i j ( i = 1 , 2 , . . , n ; j = 1 , 2 , . . , m ) a_{ij}(i=1,2,..,n;j=1,2,..,m) aij(i=1,2,..,n;j=1,2,..,m),构造数据矩阵 A = ( a i j ) n × m A=(a_{ij})_{n\times m} A=(aij)n×m

基于熵权法的评价方法步骤如下:

(1)利用原始数据矩阵 A = ( a i j ) n × m A=(a_{ij})_{n\times m} A=(aij)n×m计算 p i j ( i = 1 , 2 , . . . , n , j = 1 , 2 , . . . , m ) p_{ij}(i=1,2,...,n,j=1,2,...,m) pij(i=1,2,...,n,j=1,2,...,m),即第 i i i个评价对象关于第 j j j个指标值的比重
P i j = a i j ∑ i = 1 n a i j , i = 1 , 2 , . . . , n , j = 1 , 2 , . . . , m P_{ij}=\frac{a_{ij}}{\sum^n_{i=1}a_{ij}},i=1,2,...,n,j=1,2,...,m Pij=i=1naijaij,i=1,2,...,n,j=1,2,...,m
(2)计算第 j j j项指标的熵值
e j = − 1 l n n ∑ i = 1 1 P i j l n P i j , j = 1 , 2 , . . . , m e_j=-\frac{1}{lnn}\sum^{1}_{i=1}P_{ij}lnP_{ij},j=1,2,...,m ej=lnn1i=11PijlnPij,j=1,2,...,m
(3)计算第 j j j项指标的变异系数
g j = 1 − e j , j = 1 , 2 , . . . , m g_j=1-e_j,j=1,2,...,m gj=1ej,j=1,2,...,m
对于第 j j j项指标, e j e_j ej越大,指标值的变异程度就越小。

(4)计算第 j j j项指标的权重
w j = g j ∑ j = 1 m g j , j = 1 , 2 , . . . , m w_j=\frac{g_j}{\displaystyle \sum^m_{j=1}g_j},j=1,2,...,m wj=j=1mgjgj,j=1,2,...,m
(5)计算第 i i i个评价对象的综合评价值
F i = ∑ j = 1 m w j p i j F_i=\sum^m_{j=1}w_jp_{ij} Fi=j=1mwjpij
评价值越大越好。

三、求解结果

指标变量 x 1 、 x 2 、 . . . 、 x 8 x_1、x_2、...、x_8 x1x2...x8分别表示学生的语文、数学、物理、化学、英语、政治、生物、历史成绩。用 a i j a_{ij} aij表示第 i i i个学生关于指标变量 x j x_j xj的取值,构造数据矩阵 A = ( a i j ) 10 × 8 A=(a_{ij})_{10\times 8} A=(aij)10×8
利用Python程序,求得的各指标变量的权重值见表2,各个学生的综合评价值及排名次序见表3。各个学生评价值从高到低的次序为:
9 1 3 7 6 5 4 10 8 2.文章来源地址https://www.toymoban.com/news/detail-441703.html

表2:各指标的评价权重表3 :学生的综合评价值及排名次序 运行结果: 四、实现代码

#完整代码:
import numpy as np
import pandas as pd

data = pd.read_excel('stu_data.xlsx')  #读取原始数据
label_need=data.keys()[1:]
df=data[label_need]
a=np.array(df)
[n, m]=a.shape
cs=a.sum(axis=0)  #逐列求和
P=1/cs*a   #求特征比重矩阵
e=-(P*np.log(P)).sum(axis=0)/np.log(n)  #计算熵值
g=1-e   #计算差异系数
w = g / sum(g)  #计算权重
F = P @ w       #计算各对象的评价值
print("\nP={}\ne={}\ng={}\nw={}\nF={}".format(P,e,g,w,F))
print('各个学生评价值从高到低的次序为:')
print(np.argsort(-F)+1)

到了这里,关于【建模算法】熵权法(Python实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模:熵权法

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 构建原始矩阵 D a t a Data D a t a 形状为 m ∗ n m *n m ∗ n ,其中 m m m 为评价对象, n n n 为评价指标。 对 D a t a Data D a t a 矩阵的指标进行 正向化处理 ,得到矩阵 X X X . 计算每一个指标在每一个对象下的所占该指标的比重,然后

    2024年02月10日
    浏览(44)
  • 数学建模学习笔记||TOPSIS&&熵权法

    目录 评价类问题介绍 TOPSIS法 算法步骤 1.统一指标类型(指标正向化) 2.标准化处理 3.确定正理想解和负理想解 4.计算距离 5.计算相对接近度(S越大越接近理想解) 熵权法 概念 过程 python代码实现 作用         声明 评价类问题介绍 目的:得知一组方案的好坏,对数据评

    2024年01月16日
    浏览(40)
  • 《零基础数学建模》——TOPSIS+熵权法

    本文大部分是对于数学建模清风老师的课程学习总结归纳而来,我的理解可能有错误,大家发现错误可以在评论区批评指正,课程地址:《数学建模清风》   TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法

    2023年04月09日
    浏览(38)
  • 数学建模之熵权法(SPSSPRO与MATLAB)

    对于某项指标,可以用熵值来判断某个指标的离散程度,其 信息熵值越小 ,指标的离散程度越大(表明指标值得变异程度越大,提供的信息量越多),该指标对综合评价的影响(即 权重 )就 越大 ,如果某项指标的值全部相等,则该指标在综合评价中不起作用。因此,可 利用

    2024年02月02日
    浏览(40)
  • 12.9建模复盘——EXCEL批量处理数据、查找数据、熵权法、可视化

    以下是一些可以查询英国国家数据的网站: 1. 英国政府网站(www.gov.uk):提供各个政府部门的数据和统计信息,包括经济、人口、教育、健康、环境等领域。 2. 英国国家统计局(www.ons.gov.uk):英国的官方统计机构,提供广泛的统计数据和报告,涵盖经济、劳动力、人口、

    2024年02月05日
    浏览(45)
  • 评价模型(一) 层次分析法(AHP),熵权法,TOPSIS分析 及其对应 PYTHON 实现代码和例题解释

    数学建模系列文章: 以下是个人在准备数模国赛时候的一些模型算法和代码整理,有空会不断更新内容: 评价模型(一)层次分析法(AHP),熵权法,TOPSIS分析 及其对应 PYTHON 实现代码和例题解释 评价模型(二)主成分分析、因子分析、二者对比及其对应 PYTHON 实现代码和例

    2024年02月08日
    浏览(56)
  • topsis算法模型和熵权法使用原理详解

    topsis模型原理: 1.topsis模型介绍 TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution) 可翻译为逼近理想解排序法,国内常简称为优劣解距离法 TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息, 其结果能精确地反映各评价方案之间的差距。 2.适用范围

    2024年02月04日
    浏览(40)
  • Python综合评价模型(八)熵权法

    熵权法是根据评价指标的变异程度(差异系数)来分配权重,评价指标变异程度越大,所赋权重就越大,并以此对评价对象进行综合评价的方法 第一步 导入第三方库和案例数据 第二步 标准化数据(min-max标准化) 使用min-max标准化方法标准化数据后,各评价指标的最大值为

    2024年02月15日
    浏览(45)
  • 权重分析——熵权法

    权重分析是通过熵权法对问卷调查的指标的重要性进行权重输出,根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的离散程度越大, 该指标对综合评价的影响(即权重)就越大,如果某项指标的值全部相等,则该指标在综合

    2024年02月16日
    浏览(43)
  • 熵权法原理及应用

    熵权法原理及应用 熵 :起源于物理学,表示物质微观热运动时的混乱程度,在信息论中是衡量系统无序程度度量值。 熵权法 :根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的 离散程度越大 , 该指标对综合评价的 影响

    2024年02月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包