(一)建模目的:

如何客观又合理地评价一部电影的受欢迎度呢?生活中有很多这样的场景,仅有个别人的看法,显然不能如实地反映这部电影的受欢迎度,通过抽样的方法,选取合理的指标建立评价模型,最终取得一个得分来相对评价电影的受欢迎度。

(二)熵权法的原理:

熵衡量着系统的混乱程度,可以拿来衡量信息的多少。指标的变异程度越小,所反映的现有信息量越少,其对应的权重也越低。也就是说,熵权法是使用指标内部所包含的信息量,来确定该指标在所有指标之中的地位。

(三)基本步骤:

1)数据标准化处理

对原始矩阵进行标准化:

2)信息熵的计算

(1)计算第项指标在第i年的数值占该指标比重():

(2)计算第j项指标熵值(),当时,,

3)权重的计算

计算第j项指标的变异系数()和权重():

4)计算TOPSIS中的优劣距离和综合评价得分

(1)由标准化矩阵和各指标权重可得加权标准化矩阵:

(2)计算正负理想解:

(3)计算正负理想解的欧式距离:

(4)计算综合评价值:

(三) 具体实际应用

(1)学习正向指标和负向指标在实际场合的应用。一般来说,从数学的角度,通过相关矩阵正相关关系为正向指标,负相关关系为负向指标,当然并不是绝对的;从实际生活的角度,一个变量的增大导致最终因变量的增大,如在现实生活中,我们通常认为,一个学生的期末成绩通常与作业的完成质量,期中成绩,课堂的出勤率及参与度有正相关,与缺勤率呈负相关。实际应用中,应具体结合数据和实际意义来确定正向指标和负向指标。

(2)理解字符串的筛选

i == str(f'X{j}负')

import pandas as pd
import numpy as np
data=pd.read_excel("data.xlsx", sheet_name=0,header=0,index_col=0) #读取数据
m,n=data.shape  #获取行数m和列数n
#熵权法计算
def Y_ij(data1):   #矩阵标准化(min-max标准化)for i in data1.columns:for j in range(n+1):if i == str(f'X{j}负'):  #负向指标data1[i]=(np.max(data1[i])-data1[i])/(np.max(data1[i])-np.min(data1[i]))else:   #正向指标data1[i]=(data1[i]-np.min(data1[i]))/(np.max(data1[i])-np.min(data1[i]))return data1
Y_ij=Y_ij(data)  #标准化矩阵
None_ij = [[None] * n for i in range(m)]  #新建空矩阵
def E_j(data3):  #计算熵值data3 = np.array(data3)E = np.array(None_ij)for i in range(m):for j in range(n):if data3[i][j] == 0:e_ij = 0.0else:P_ij = data3[i][j] / data3.sum(axis=0)[j]  #计算比重e_ij = (-1 / np.log(m)) * P_ij * np.log(P_ij)E[i][j] = e_ijE_j=E.sum(axis=0)return E_j
E_j = E_j(Y_ij)  #熵值
G_j = 1 - E_j    #计算差异系数
W_j = G_j / sum(G_j)   #计算权重
WW= pd.Series(W_j, index=data.columns, name='指标权重')
#print(WW)
Y_ij.to_excel("Y_ij.xls",sheet_name='Y_ij')
WW.to_excel("WW.xls",sheet_name='WW')#TOPSIS计算
Y_ij = np.array(Y_ij)  #Y_ij为标准化矩阵
Z_ij = np.array(None_ij)  #空矩阵
for i in range(m):for j in range(n):Z_ij[i][j]=Y_ij[i][j]*W_j[j]  #计算加权标准化矩阵Z_ij
Imax_j=Z_ij.max(axis=0)  #最优解
Imin_j=Z_ij.min(axis=0)  #最劣解
Dmax_ij = np.array(None_ij)
Dmin_ij = np.array(None_ij)
for i in range(m):for j in range(n):Dmax_ij[i][j] = (Imax_j[j] - Z_ij[i][j]) ** 2Dmin_ij[i][j] = (Imin_j[j] - Z_ij[i][j]) ** 2
Dmax_i=Dmax_ij.sum(axis=1)**0.5  #最优解欧氏距离
Dmin_i=Dmin_ij.sum(axis=1)**0.5  #最劣解欧氏距离
C_i=Dmin_i/(Dmax_i+Dmin_i)  #综合评价值
Dmax_i= pd.Series(Dmax_i, index=data.index, name='最优解')
Dmin_i= pd.Series(Dmin_i, index=data.index, name='最劣解')
C_i= pd.Series(C_i, index=data.index, name='综合评价值')
pd.concat([Dmax_i, Dmin_i, C_i]).to_excel("C_i.xls")

(四)与其他综合评价的区别:

层次分析法:与之相比,较强的主观性;判断矩阵基本由个人填写,往往最适用没有数据的情况。在确定各层次各因素之间的权重时,如果只是定性的结果,单个个体的想法(我认为有70%的可能),则常常不容易被别人接受,因此Santy等人提出了一致矩阵法,即:

  1. 不把所有因素放在一起比较,而是两两比较;
  2. 对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,以提高准确性;

成对比较矩阵是表示本层所有因素针对上一层某一个因素(准侧或目标)的相对重要性的比较。成对比较矩阵的元素   表示的是第 个因素相对于第  个因素的比较结果,这个值使用的是Santy的1-9标度方法给出。

标度 含义
1 表示两个因素相比,具有同样重要性
3 表示两个因素相比,一个因素比另一个因素稍微重要
5 表示两个因素相比,一个因素比另一个因素明显重要
7 表示两个因素相比,一个因素比另一个因素强烈重要
9 表示两个因素相比,一个因素比另一个因素极端重要
2,4,6,8 上述两相邻判断的中值
倒数 因素i与j相比的判断aij,则因素j与i比较的判断aji=1/aij

参考文档:数学建模笔记——评价类模型之熵权法 - 简书

层次分析法(AHP) - 知乎

Python学习笔记——熵权—TOPSIS - 知乎

综合评价体系之熵权法相关推荐

  1. 数据运营系列(三):熵权法如何确定指标权重构建评价体系

    1. 熵权法 信息论基本原理解释信息是系统有序性的度量单位,而熵可以度量系统的无序程度:如果某个指标的信息熵越小,该指标提供的信息量越大,指标变异程度(方差)高,因此在综合评价中所起作用理当越大,权重 ...

  2. 评价方法-熵权法确定指标权重

    评价方法根据确定权重的方法,大体上可分为主观赋权,客观赋权:主观赋权依赖于"专家"的权重或较多独立个体的评判偏好,如层次分析法,功效系数法,模糊综合评价法,综合指数法:客观赋权法根 ...

  3. 基于熵权法优劣解距离法_基于优劣解距离法的火电机组单辅机运行状态评估

    龙源期刊网 http://www.qikan.com.cn 基于优劣解距离法的火电机组单辅机运行状 态评估 作者:王瑾石 来源:<中国化工贸易 · 上旬刊> 2019 年第 01 期 摘要 ...

  4. 多目标决策问题1.1.1:线性加权法——熵权法确定权重

    多目标决策问题是目前数学建模中比较普遍的一类问题, 此类问题要求我们满足多个目标函数最优与决策变量的线性约束条件或非线性约束条件下进行求解, 多目标决策问题主要有主要目标法.线性加权法.分层序列法.步 ...

  5. TOPSIS和熵权法的应用(Matlab实现,包括数据预处理)

    TOPSIS法是一种组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距. ①基本过程为归一化后的原始数据矩阵: ②采用余弦法找出有限方案中的最优方案和最劣方案:然后分别 ...

  6. 从零开始的数模学习(4):熵权法(评价类模型)

    目录 1.算法简介: 2.熵权法的基本步骤: 2.1 数据归一化 4.2 计算指标变异性 4.3 计算信息熵 4.4 计算信息熵冗余度 4.5 计算权重 4.6 计算得分 3.例题 3.1 判断下列同 ...

  7. 建模笔记——熵值法熵权法(python)

    熵值法&熵权法-python实现 时隔老久,重新整理一下笔记.仅供个人自学使用,读者自行参考 Reference: 存了不知道多久的本地文件 司守奎,python数学实验与建模,2020 ht ...

  8. 基于层次分析法与熵权法的主客观组合赋权模型(原创:小青龙)

    基于层次分析法与熵权法的主客观组合赋权模型 组合赋权大家可以尝试进行改变,一个主观一个客观.(原创:小青龙) 简介 ​ 权重是用来衡量总体中各单位标志值在总体中作用大小的数值, 用来描述单因子在因子集 ...

  9. 数学建模之熵权法(EWM)matlab实例实现

    本文参考http://blog.sina.com.cn/s/blog_710e9b550101aqnv.html 熵权法是一种客观赋值的方法,即它通过数据所包含的信息量来确定权重,形象的说如果每个人考 ...

最新文章

  1. 用户案例 - 3Cs
  2. CCF BDCI 多人种人脸识别冠军分享
  3. 关于MySQL查询优化 の 30条忠告
  4. 求栈的长度的C语言函数,c – 编译器如何确定编译器生成的临时函数所需的堆栈大小?...
  5. 深入分析事务的隔离级别
  6. python更改整列小时分钟_利用python对excel中一列的时间数据更改格式操作
  7. 支持多浏览器的js拖拽 (转domkey0303 的blog)
  8. opencv:image-imageData+image-widthStep*i)[j]表达式含义
  9. (PC+WAP)高等院校学院职业学校类网站源码 政府单位机构协会Pbootcms网站模板
  10. 部分计算机会议和期刊论文的下载方法
  11. linux识别csr8510,【记录】给CSR8510 A10芯片的USB转蓝牙模块安装驱动
  12. 校园wifi免费上网
  13. TP-LINK路由器手动设置网关、DNS、开启DHCP并指定地址池IP范围
  14. Richer Convolutional Features for Edge Detection(RCF论文学习笔记)
  15. 数据库系统(PostgreSQL)
  16. 在Win10 PC上安装Ubuntu 20.04 系统
  17. 《 HTML5 》— HTML5页面元素及属性
  18. Laradock启用RabbitMQ
  19. 复韵母有哪些?18个复韵母都有什么
  20. 【大唐杯学习超快速入门】5G技术原理仿真教学——通信网络认知

热门文章

  1. 视频转码 via FFmpeg
  2. 【Linux Note】centos 7 / 8 通过修改网络配置文件 ifcfg-ens33来设置静态IP
  3. 开发自己的脚手架(Rollup+Typescript)-(03)-(CAC 命令行交互)
  4. php AES加密解密实例
  5. 可缩放性_缩放Sprint以提高安全性和隐私性
  6. 曙光tc4000a计算机为超级微型计算机,计算机应用基础试题及答案1
  7. Java项目源码下载S2SH洋酒销售系统的设计与实现|商城电商购物系统
  8. LeetCode刷题记录(1)
  9. 解决Windows中d3dx9_39.dll文件丢失
  10. 盘点数学上那些毁三观的“不可能”定理