Java实现熵值法计算_熵值法确定权重的步骤及适用范围

日常工作中经常需要确定各个指标的权重,利用熵值法确定权重属于客观赋权法,从数据出发,避免过强的主观性,但是也同时带来了一些问题。在某个论坛的帖子中,作者提出了这样的一个问题:“熵值法用于确定权重是否合适?什么场合下熵值法是不适用的?”

下面我们就以作者提出的例子利用熵值法进行权重的求解(原贴的求解感觉存在问题),一方面可以学习一下熵值法确定权重的步骤,一方面也体会下熵值法的优缺点。

author: @Huji

熵值法的原理

什么是信息熵

熵是热力学的一个物理概念,是体系混乱度(或无序度)的量度。熵越大说明系统越混乱,携带的信息越少,熵越小说明系统越有序,携带的信息越多。

信息熵则借鉴了热力学中熵的概念 (注意:信息熵的符号与热力学熵应该是相反的事件所包含的信息量的期望

在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和。

根据上面期望的定义,我们可以设想信息熵的公式大概是这样的一个格式

$信息熵=\sum 每种可能事件的概率 * 每种可能事件包含的信息量$

例如预测小明的考试成绩,假如只有4道大题,每道只能得0分或者满分,那么小明成绩可能的事件共有5种:0,25,50,75,100

我们可以假设每种可能的事件发生的概率如下:

成绩

0分

25分

50分

75分

100分

概率

1/8

1/8

1/4

1/4

1/4

这样一来上面的每种可能的事件的概率我们就知道了,那么剩下的就是计算每种可能事件包含的信息量。

那么每种可能事件包含的信息量跟什么有关呢?

答案是跟这一事件的不确定性有关,即与事件发生的概率有关,概率越大,信息量越小。试想,如果上面的概率修改一下,令小明得100分的概率是1,那么你预测小明会考100分这句话就没有信息量了,因为不管怎么样他肯定都会是100分。

因此每种可能事件包含的信息量的计算采用不确定性函数$f$:

$f = log(1/P) = -log P$

采用这个函数,一方面保证了信息量是概率P的单调递降函数;另一方面保证了两个独立事件所产生的不确定性应等于各自不确定性之和,即可加性。

综上,带入到我们一开始假设的公式中,可以得到信息熵的数学表达式如下:

$H(U) = -\sum_{i=1}^{n} P_i logP_i$

这里$H$是熵,$U$可以理解为所有可能事件的集合,有n种取值:$U_1,…,U_i,…,U_n$,对应概率为:$P_1,…,P_i,…,P_n$,对数的底一般取2。

熵值法

根据信息熵的定义,对于某项指标,我们可以用熵值来判断某个指标的离散程度,其熵值越小,指标的离散程度越大,该指标对综合评价的影响(即权重)越大。如果某项指标的值全部相等,那么该指标在综合评价中不起作用。

熵值法的计算步骤

问题描述

作者提出的是这样一个问题

题目:这群学生中“最聪明/最优秀”的学生是谁?

学生

数学

体育

学生5

100

90

学生3

97

89

学生13

88

98

学生7

77

100

学生2

80

96

学生12

98

76

学生9

99

56

学生14

88

56

学生6

90

43

学生11

89

32

学生8

88

32

学生4

90

24

学生15

88

21

学生16

99

1

学生1

89

11

学生10

89

2

计算步骤

注意:相关xlsx文件可以在此处【下载】

确定指标体系

首先需要确定评价的指标体系,例如下图是网站经营评价的两级指标体系。

3107202267925744949.jpg

在我们的例子中,评价指标只有两个:数学和体育的成绩。

清洗指标极值

即剔除各指标中极大或者极小的值,一般用比较合理的上下线替换这些极值,目的是减少极值数据对该指标的熵的影响。

原则:剔除占样本总数不到1-2%但指标值贡献率超过20-30%以上的极值样本。

我们这里样本本来也不多,也没有贡献率特别大的,所以没有做处理。

归一化指标处理

将各个指标同度量化,即将指标的实际值转化为不受量纲影响的指标评价值。常用的方法有:

临界值法:

如果原始的第$i$个人的第$j$个指标是$x_{ij}$,那么归一化后是$x_{ij}’$。

$x_{ij}’ = \frac{x_{ij}-\min x_j}{\max x_j - \min x_j}$,

$x_{ij}’ = \frac{\max x_j-x_{ij}}{\max x_j - \min x_j}$

若指标是正向的选第一个公式;

若指标是负向的选第二个公式。

$\min x_j$是第$j$个指标的最小值,类似地,$\max x_j$是第$j$个指标的最大值。

Z-score法:

$x_{ij}’ = \frac{x_{ij}-\bar{x_j}}{S}$

这里我们采用第一种临界值法,得到结果如下图

1036f509d4ca1fcfa3be2d0fc3935b35.png

计算指标熵和权

计算指标熵要先计算第$i$个人的第$j$个指标值的比重

$y_{ij} = \frac{x_{ij}’}{\sum_{i=1}^m {x_{ij}’}}$

计算第j项指标的信息熵的公式为

$e_j = -K\sum_{i=1}^m y_{ij} \ln y_{ij}$

(式中$K$为常数,$K=\frac{1}{\ln m}$,我觉得乘以这个主要是为了使得$e_j$小于等于1,这样后面求得的权重才是正数)

某项指标的信息效用价值取决于该指标的信息熵$e_j$与1之间的差值,它的值直接影响权重的大小,信息效用值越大,对评价的重要性就越大,权重也就越大。

$d_j = 1 - e_j$

第$j$项指标的权重为$w_j = \frac{d_j}{\sum_j d_j}$

结果如下

b000b8b45289139b0104d758dbe3326a.png

指标加权计算得分

最后一步就是利用加权求和公式计算样本的评价值了

$U = \sum_j 100* y_{ij}w_j$

$U$为综合评价值,$w_j$为第j个指标的权重。

计算出的总分从高到低排序如下图所示:

d1bbf378a4fc8e2c34c28b6641b94ca1.png

熵值法的优缺点及适用范围

优点

熵值法能深刻反映出指标的区分能力,进而确定权重

是一种客观赋权法,有理论依据,相对主观赋权具有较高的可信度和精确度

算法简单,实践起来比较方便,不需要借助其他分析软件

缺点

智能程度不够高。和多元回归和主成分等统计方法不同,它不能考虑指标与指标之间横向的影响(如:相关性)

若无业务经验的指导,权重可能失真

对样本的依赖性比较大,随着建模样本变化,权重会有一定的波动

适用范围

结合上面的实例,我们看到:体育成绩离散程度更大,导致其最后权重也更大,但是从通常评判的角度看,聪明程度往往与数学成绩关系更为密切。这就说明单单使用熵值法权重失真是经常发生的,要结合一定专家打分法才能发挥熵值法的优势,像确定指标体系中的示意图那样,构建两级评价体系,上层可能需要结合专家经验来构建,而底层的指标分的比较细,权重比较难确定,这种情况下采用熵值法比较合适。

另外,确定权重前需要确定指标对目标得分的影响方向,对非线性的指标要进行预处理或者剔除。还要注意处理好极值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

终于,Geoffrey Hinton那篇备受关注的Capsule论文公开了

来源:机器之心 概要:9 月份,Axios 的一篇报道指出,Geoffrey Hinton 呼吁研究者们对反向传播保持怀疑态度,并准备在深度学习之上重构人工智能的理论体系。 9 月份,Axios 的一篇报道指出,Geoffrey…

【业界】Facebook的基础AI算法是如何驱动社交网络的发展?

来源:专知 概要:尽管Instagram的工程师对算做了很多调整,事实上这些调整的大部分功能都来自Facebook的新闻推送算法,这显示了社交媒体基础引擎的主导地位和成功。 Facebook的基础AI算法是如何驱动社交网络的发展。 Instagram工程师…

java xml textview居中_android—图文垂直居中 TextView+SpannableString

自我感觉做什么事情都是事倍功半,同样性格还是丢三落四的人。记录每一次解决问题的思路经过,以供自我学最终效果前几天让做一个效果如上图,于是引发了一些列的思路风暴:(思路1)TextViewHtml的形式:html在网页实现很常见…

java 动态添加定时器_quartz实现任务动态增加和删除

场景这几天做项目的时候遇到了个状态自动切换的场景。该场景具体情况如下:用户可以创建多个活动活动有开始时间和结束时间活动有个状态:未上线、未开始(上线但未到开始时间)、进行中(上线且处于开始时间和结束时间之间)、已结束(上线且处于活动结束时间之…

未来IT的三驾马车:AI、物联网和混合云

来源:物联网智库 概要:未来的信息技术系统日益专注于数据在哪里生成和处理、数据如何提供和收集,以及这些数据移动起来有多快。找到一条最高效的路径是关键。 物联网、AI和混合云是同一个三角形的三条边,是同一条凳子的三条腿&…

梅宏院士:软件定义的未来——万物皆可互联,一切均可编程 | CNCC 2017

作者:杨文 摘要:结合当下的人工智能热潮,梅宏教授认为我们正在进入一个软件定义的时代。软件定义的技术本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其…

php字符串转int,php怎样将字符串转为int类型

php将字符串转为int类型的方法:可以利用内置函数intval()来实现。intval()函数用于获取变量的整数值,如果执行成功则返回integer值,如果执行失败则返回0,例如:【intval(“1”)】。函数介绍:intval() 函数用…

对抗攻击最新研究:仅修改「一个像素」即可骗过神经网络!

编译:BaymaxZ 作者:Jiawei Su、Danilo Vasconcellos Vargas、Sakurai Kouichi(九州大学) 摘要:在图像识别领域,基于DNN的方法克服了传统的图像处理技术,甚至达到媲美人类的结果。 最近的研究证实…

php 去掉不可见字符串,php删除不可见的Unicode字符

在论坛/社区中一般帖子/文章的标题肯定是要求不为空的,但是今天发现了一个神奇的事情,我在后台php代码中限制了title不能为空。if(preg_match(/^\s*$/, $val)) return false;但是神奇的发现在数据库中有几篇文章文章的title是空的(眼睛看起来)而且鼠标点…

李飞飞新研究:基于深度学习和视觉化语言来了解不同物体间的关系

来源:凤凰科技 概要:最近她所在的实验室正在做一项新研究,基于深度学习和视觉化语言模式了解不同物体之间的关系。 2017未来科学大奖颁奖典礼暨未来论坛年会28、29日在京举办,斯坦福大学终身教授、谷歌云首席科学家李飞飞在人工智…

php设置文件权限问题,php以fastCGI的方式运行时文件系统权限问题及解决方法

今天准备将一个php demo放在IIS下运行,网站在IIS下的配置是这样的:应用程序池是集成模式下的.net framework 2.0(2.0或4.0没什么关系,因为php以fastCGI的方式在跑), 应用程序池标识配置为IIS内置的NETWORKSERVICE, 使用的认证方式为匿名身份验…

马化腾公开信:AI将成为基础设施,腾讯要打造“数字生态共同体”

来源:亿欧 概要:马化腾认为,云计算、大数据、人工智能等技术逐渐成为新型基础设施。在数字化背景下,不同产业和区域的生态之间,开始发生越来越多的关联。 马化腾认为,云计算、大数据、人工智能等技术逐渐成…

来认识世界上第一支AI基金:模仿股票分析师 365天无间断工作

来源:机械鸡 概要:本周,EquBot公司和ETF经理集团(ETFManagers Group或ETFMG)合作推出了世界第一支人工智能ETF(ETF:交易型开放式指数基金)。 本周,EquBot公司和ETF经理集…

中国研制出首款搭载寒武纪AI芯片的人工智能服务器

来源: 澎湃、新华网 摘要:在线推理业务不同于离线训练,推理不需要密集的计算能力,而是需要及时响应。 10月30日从我国高性能计算领军企业中科曙光获悉,中科曙光近日成功研…

开发java流程步骤,优秀Java开发人员的10个步骤

一、对OO原则有很强的基础和理解对于Java开发人员来说,必须对面向对象编程有很强的理解。没有在OOPS上有很强的基础,就不能实现像Java这样的面向对象编程语言的美。如果你不知道什么是OOPS,即使使用的是OOP语言,可能仍然在以过程的…

干货!解读2016-2017全球人工智能技术及产业发展的现状及趋势~

来源: 龙为科技 摘要:报告围绕人工智能的技术原理和突破进行了重点阐述,深入分析了国外科技巨头企业在人工智能领域的布局和进展情况,概括总结了各国政府推动人工智能发展的政策措施。 国家工业信息安全发展研究中心(工…

自动化对就业没有影响?看看这张图再说

来源:36Kr 摘要:自动化就在所有人的眼皮底下进行着,大家现在才开始真正讨论其自动化未来可能会减少很大一部分人口的收入的潜在危险。 机器人远在天边近在眼前。我们不要再视而不见了。 我们正在面临第四次工业革命。很多人都在讨论其对未来的…

Gartner公布2018十大技术发展趋势 2025年AI重塑商业模式

来源: 智东西 摘要:智能数字格网将作为未来数字业务和生态系统的基础,IT领导者们在制定创新性决策时必须将其考虑在内,否则将面临巨大风险。 近日,全球领先的信息技术研究和顾问公司Gartner公布了将在2018年对大部分企…

全球研发开支排名:亚马逊第一,BATJ排不上号!

来源: 全球人工智能 摘要:虽然亚马逊可能是研发领导者,但是截至目前缺乏关于它的准确数字。 这图是全球全球研发开支排名和相关数据: 全球研发开支领导者 对于旨在内部进行创新的那些公司来说,资金需要投入到公司收益…

matlab 怎么话3维图,用matlab画三维图形

将plot3d放在matlab根目录下,然后在窗口处输入椭球的一般方程就行了。注意要把等式右边的移过来,让右边为0.椭球和平面源代码:function plot3d(varargin)if ishandle(varargin{1})cax varargin{1};axes(cax);args{:} varargin{2:end};elsear…