最近需要用到熵值法确定权重,搞明白了其原理,但是却没有发现可以直接用的java程序,所以花了点时间自己写了个,放上来也许以后还会用到。

原理网上一大堆,我就不贴了,直接放代码,经验证可以获取正确答案,当然只跑了一次数据,如果哪位大佬发现有错的地方,还望不吝赐教!

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

/**

* 利用熵值法确定权重

* @author Beat IT

*

*/

public class Entropy {

public static ListgetWeight(List> list){

ListlistSum = new ArrayList();//用于存放每种指标下所有记录归一化后的和

ListgList = new ArrayList();//用于存放每种指标的差异系数

ListwList = new ArrayList();//用于存放每种指标的最终权重系数

double sumLast = 0;

double k = 1 / Math.log(list.get(0).size()); //计算k值 k= 1/ln(n)

//数据归一化处理(i-min)/(max-min)

for (int i = 0; i < list.size(); i++) {

double sum = 0;

double max = Collections.max(list.get(i));

double min = Collections.min(list.get(i));

for (int j = 0; j

附上样例数据(6个变量,30行记录  该例子是网上旁友的!):

var1,var2,var3,var4,var5,var6

171.33,151.33,0.28,0,106.36,0.05

646.66,370,1.07,61,1686.79,1.64

533.33,189.66,0.59,0,242.31,0.57

28.33,0,0.17,0,137.85,2.29

620,234,0.88,41.33,428.33,0.13

192.33,177.66,0.16,0,128.68,1.07

111,94,0.18,0,234.27,0.22

291,654,1.21,65.66,2.26,0

421.33,247,0.7,0,0.4,0

193,288.66,0.16,0,0,0

82.33,118,0.11,0,758.41,0.24

649.66,648.66,0.54,0,13.35,0.11

37.66,103.33,0.12,0,1133.51,1.1

183.33,282.33,0.55,0,624.73,1.04

1014.66,1264.66,5.07,814.66,0,0

90.66,134,0.3,0,0.15,0

200.66,98.33,0.33,0,681.54,0.51

540.66,558.66,1.08,62,2.71,0.09

80,60.66,0.13,0,910.19,0.88

530.66,281.33,0.88,36,743.21,0.72

166,133,0.13,0,246.88,2.05

377.66,310.33,0.57,0,102.89,0.57

143.33,73,0.23,0,103.94,0.1

394.66,473.66,0.56,0,1.06,0.03

535.66,447.33,0.44,0,10.59,0.08

52.66,56.66,0.52,0,0,0

1381.66,760.66,2.3,781.66,248.71,0.13

44.33,42.33,0.07,0,0.66,0

71.66,62.66,0.11,0,535.26,0.52

148.33,56.66,0.24,0,173.83,0.16

运行结果:

0.08848518326120408

0.07484049087338505

0.1402060924922596

0.41084319015236365

0.14437430501768214

0.14125073820310535

熵值法 java_Java实现熵值法确定权重相关推荐

  1. 熵权法中计算的熵值与决策树的熵值完全不一样之谜

    熵权法中的熵值计算公式如图所示: 比如说某个评价的指标完全一样,1,1,1,1,1,1 那么m=6,p1到p6的概率均等于1/6:这个时候的熵值是最大的:所以在计算指标权重时,用这种方法反而是数据越小 ...

  2. 熵权法(客观赋权法)

    说明 相较于德尔菲法.层次分析法等主观赋权法,熵权法更具有客观性,能够更好的对结果进行解释,其利用的是信息之间的变异性(也就是差异性)来进行赋权的,但在采用此方法的时候需要有部分样本量,通过样本确定权 ...

  3. 熵权法EW与层次分析法AHP之数学原理及实例

    1.概述 对于多指标或多目标决策问题,由于涉及到多个指标或属性,在对实测数据进行评价时,需要确定这些指标之间的相互权重,各指标权重的客观性与合理性也会大大影响到最终的评价结果.目前对于指标权重确定的方 ...

  4. praat学习笔记——五度值分析(石峰T值法)

    一. 调域上下限的确定 语音录制了阴平"山".阳平"昨".上声"宝".去声"去"四个声调,每个声调用不同的字发了十遍音, ...

  5. 用均值方差法计算边际VaR值和成分VaR值(Python)

    tushare ID:432833 边际VaR值和成分VaR值定义 VaR:Value at Risks,在险价值,是指未来一段特定的时间内,在市场正常波动的情况下,某一金融资产或投资组合在给定置信水 ...

  6. 综合评价分析法:熵权法matlab实现+层次分析法matlab实现

    综合评价分析法:熵权法matlab实现+层次分析法matlab实现 层次分析法matlab实现 clc;clear%层次分析法matlab实现A=[1 1/9 1/2 1/4 1/6 9 1 6 5 ...

  7. kmeans对自己的图像数据集聚类(及肘部法求最佳K值)

    pytorch实现kmeans(自己的图像数据集) 上篇笔记已经介绍了,如何加载自己的图像数据集.(加载数据集: https://blog.csdn.net/hnu_zzt/article/detai ...

  8. double取值范围 java_Java中float/double取值范围与精度

    Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个 ...

  9. 递推java_Java算法-递推算法思想

    递推算法是常用的算法思想,在数学计算等方面有着广泛的应用.递推算法适合有着明显公式的规律场合. 一.递推算法基本思想 递推算法是一种理性思维模式的代表,其根据已有的数据和关系,逐步推导而得到结果.递推 ...

  10. 嫡权法赋权法_变异系数法_客观赋权法

    什么是变异系数,有何优势? 变异系数:当需要比较两组数据离散程度大小的时候,如果两组数据的测量尺度相差太大,或者数据量纲的不同,直接使用标准差来进行比较不合适,此时就应当消除测量尺度和量纲的影响,而变 ...

最新文章

  1. R绘制坡度图(Slope Chart)
  2. c#dev tabcontrol 与嵌套gridcontrol 总结
  3. 决策树 python 结果画图_scikit-learn决策树的python实现以及作图
  4. 注册表数据提取工具RegRipper
  5. 无限极评论回复插件_如何一键修复上色破损的旧照片?老照片有救了,用这个魔法插件...
  6. 拥抱haXe之javascript 也玩mvc
  7. hdu-超级密码(BFS)
  8. 会计学研究生课程有计算机吗,2018考研:会计专业有哪些研究方向?
  9. Visual Studio 2008 每日提示(四)
  10. codeforces George and Job
  11. 重磅!Facebook 更新 PyTorch 1.1,打算跨 GPU 分割神经网络 | 技术头条
  12. 单片机C语言的编译模式,手把手教你学单片机的C语言程序设计六编译预处理.pdf...
  13. 什么软件可以搜索python答案_【python学习手记】网课精灵~调用爬虫搜索网课答案~...
  14. 《仙剑奇侠传六》游戏感言
  15. [笔记分享] [Camera] 相机的flash led功能小结
  16. 麦吉尔学和ubc计算机专业,加拿大麦克林9大热门大学专业院校排名出炉
  17. word服务器无响应又没有保存怎么办,电脑突然死机Word没保存?教你一个小妙招,三秒快速恢复...
  18. 第三次修正打坐的姿势
  19. 2022软件测试技能 Apache JMeter 性能测试从入门到精通
  20. 云原生架构下的 API 网关实践: Kong (三)

热门文章

  1. 中国移动通信互联网短信网关接口协议 (China Mobile Peer to Peer, CMPP) (V2.0)
  2. 一零二、Vue中自定义emoji表情包
  3. java 用户名称中emoji表情包的模糊处理
  4. IDEA 修改全文搜索快捷键
  5. react-native >0.69版本 链接@ant-design/icons-react-native
  6. Android Studio3.0对于百度地图SDK的开发(基于方向传感器实现手机朝向显示)
  7. bios error 装系统acpi_WIN10重装系统提示错误ACPI?处理重装系统bios acpi错误
  8. softmax溢出问题
  9. java流重定向如何分类,Java 文件流与标准流之间的重定向
  10. 记各种纸尿裤用后感——花王大王MOONY尤妮佳好奇帮宝适等等等