目录

前言

1. 熵值法定义

2. 熵值法公式

二、熵值法代码实现

三、CRITIC法理论

1. CRITIC法定义

2. CRITIC法公式

2.1 指标正向化及标准化

2.2 计算信息承载量

2.3 计算权重和评分

四、CRITIC法代码实现

五、二者对比

总结


前言

当需要求少量影响因素的权重时,不需要再用复杂的神经网络进行计算,只需要一些最基本的方法。具体分析见如下链接:

综合评价指标权重方法汇总 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/342901550#:~:text=%E9%80%82%E7%94%A8%E5%9C%BA%E6%99%AF%EF%BC%9ACRITIC%E6%9D%83%E9%87%8D%E7%BB%BC%E5%90%88%E8%80%83%E8%99%91%E4%BA%86%E6%95%B0%E6%8D%AE%E6%B3%A2%E5%8A%A8%E6%83%85%E5%86%B5%E5%92%8C%E6%8C%87%E6%A0%87%E9%97%B4%E7%9A%84%E7%9B%B8%E5%85%B3%E6%80%A7%EF%BC%8C%E5%9B%A0%E6%AD%A4%EF%BC%8CCRITIC%E6%9D%83%E9%87%8D%E6%B3%95%E9%80%82%E7%94%A8%E4%BA%8E%E8%BF%99%E6%A0%B7%E4%B8%80%E7%B1%BB%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%8D%B3%20%E6%95%B0%E6%8D%AE%E7%A8%B3%E5%AE%9A%E6%80%A7%E5%8F%AF%E8%A7%86%E4%BD%9C%E4%B8%80%E7%A7%8D%E4%BF%A1%E6%81%AF,%EF%BC%8C%20%E5%B9%B6%E4%B8%94%E5%88%86%E6%9E%90%E7%9A%84%E6%8C%87%E6%A0%87%E6%88%96%E5%9B%A0%E7%B4%A0%E4%B9%8B%E9%97%B4%E6%9C%89%E7%9D%80%E4%B8%80%E5%AE%9A%E7%9A%84%E5%85%B3%E8%81%94%E5%85%B3%E7%B3%BB%E6%97%B6%E3%80%82总结下来如笔记所示:

因此我们选用熵值法和CRITIC法求权重


一、熵值法理论

1. 熵值法定义

熵值法是计算指标权重的经典算法之一,它是指用来判断某个指标的离散程度的数学方法。离散程度越大,即信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,我们可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。

2. 熵值法公式

1 .假设数据有n行记录,m个变量,数据可以用一个n*m的矩阵A表示(n行m列,即n行记录数,m个特征列)

2.数据的归一化处理

xij表示矩阵A的第i行j列元素。

3.计算第j项指标下第i个记录所占比重

4.计算第j项指标的熵值

5.计算第j项指标的差异系数

6.计算第j项指标的权重

二、熵值法代码实现

代码:

import numpy as np#输入数据
loss = np.random.uniform(1, 4, size=5)
active_number = np.array([2, 4, 5, 3, 2])
data = np.array([loss, active_number])
print(data)# 定义熵值法函数
def cal_weight(x):'''熵值法计算变量的权重'''# 正向化指标#x = (x - np.max(x, axis=1).reshape((2, 1))) / (np.max(x, axis=1).reshape((2, 1)) - np.min(x, axis=1).reshape((2, 1)))# 反向化指标x = (np.max(x, axis=1).reshape((2, 1)) - x) / (np.max(x, axis=1).reshape((2, 1)) - np.min(x, axis=1).reshape((2, 1)))#计算第i个研究对象某项指标的比重Pij = x / np.sum(x, axis=1).reshape((2, 1))ajs = []#某项指标的熵值efor i in Pij:for j in i:if j != 0:a = j * np.log(j)ajs.append(a)else:a = 0ajs.append(a)ajs = np.array(ajs).reshape((2, 5))e = -(1 / np.log(5)) * np.sum(ajs, axis=1)#计算差异系数g = 1 - e#给指标赋权,定义权重w = g / np.sum(g, axis=0)return ww = cal_weight(data)
print(w)

结果:

[[1.57242561 1.12780429 2.24411338 2.36236155 2.37789035][2.         4.         5.         3.         2.        ]]
[0.70534397 0.29465603]

三、CRITIC法理论

1. CRITIC法定义

CRITIC是Diakoulaki(1995)提出一种评价指标客观赋权方法。该方法在对指标进行权重计算时围绕两个方面进行:对比度和矛盾(冲突)性。

它的基本思路是确定指标的客观权数以两个基本概念为基础。一是对比度,它表示同一指标各个评价方案取值差距的大小,以标准差的形式来表现,即标准化差的大小表明了在同一指标内各方案的取值差距的大小,标准差越大各方案的取值差距越大。二是评价指标之间的冲突性,指标之间的冲突性是以指标之间的相关性为基础,如两个指标之间具有较强的正相关,说明两个指标冲突性较低。

2. CRITIC法公式

2.1 指标正向化及标准化

设有m个待评对象,n个评价指标,可以构成数据矩阵X=(xij)m*n,设数据矩阵内元素,经过指标正向化处理过后的元素为xij'

  • 若xj为负向指标(越小越优型指标)

  • 若xj为正向指标(越大越优型指标)

2.2 计算信息承载量

  • 对比性

用标准差表示第项指标的对比性

  • 矛盾性

矛盾性反映的是不同指标之间的相关程度,若呈现显著正相关性,则矛盾性数值越小。设指标

【人因工程】熵值法与CRITIC法求权重相关推荐

  1. python 灰色关联分析法(GRA)求权重

    我遇到的问题: 假设现在有p个指标,g个参评单位.已经告诉你这g个参评单位在p个指标上的得分分别为多少,那么如何确定这p个指标的权重应该为多少? 原理 1.构成矩阵如下: 2.首先对矩阵做行均值化处理 ...

  2. 【人因工程】熵值法求权重正反向化的分析

    目录 一.问题提出 二.问题分析 1. 第一步: 2. 第二步 3. 第三步 三.进一步分析 总结 一.问题提出 所需数据集见链接: 人因工程熵值法求权重正反向化的分析配套数据-数据集文档类资源-CS ...

  3. 怎样计算权重?——层次分析法、熵值法:工具+数据+案例+代码

    1权重系数的计算 计算权重是一种常见的分析方法,在实际研究中,需要结合数据的特征情况进行选择,比如数据之间的波动性是一种信息量,那么可考虑使用CRITIC权重法或信息量权重法:也或者专家打分数据,那么 ...

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

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

  5. 熵值法的Python实现

    本人因项目需要,在python中实现熵值法,花了一段时间倒腾出来,与老铁们分享. 一熵值法介绍 熵值法是计算指标权重的经典算法之一,它是指用来判断某个指标的离散程度的数学方法.离散程度越大,即信息量越 ...

  6. 用熵值法求对战游戏结束后玩家之间的评分

    熵是对不确定性的一种度量.信息量越大,不确定性就越小,熵也就越小:信息量越小,不确定性越大,熵也越大.目前已经在工程技术.社会经济等领域得到了非常广泛的应用. 熵权法的基本思路是根据指标变异性的大小来 ...

  7. 基于面板数据的熵值法

    说明:对含年份.城市.指标的面板数据使用熵值法为各指标进行客观赋权,从而得出各城市的综合得分.本文对基于面板数据的熵值法公式做出解释并给出MATLAB代码实现. 公式理解1 Step1:指标选取.设有 ...

  8. 熵值法计算权重有异常值_指标权重确定方法 1-熵值法

    在信息论中,熵是对不确定性或随机性的一种度量,不确定性越大,熵值就越大,不确定性越小,熵值就越小.不确定性越大,表明随机性越大,数据越离散,则包含的信息就越大,在确定权重的时候往往就越小. 熵值法确定 ...

  9. 数据挖掘学习日志(part1)--熵值法

    学习笔记,仅供参考 熵值法 信息熵介绍 信息熵是将系统无序程度的度量,信息是系统有序程度的度量,二者绝对值相等但符号相反,某项指标的指标值变异程度越大,信息熵就越小,该指标提供的信息量就越大,该指标的 ...

  10. matlab 值法确定各指标权重,Matlab学习系列19. 熵值法确定权重

    19. 熵值法确定权重 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确定性就越小,熵也就越小:信息量越小,不确定性越大,熵也越大. 根据熵的特性,可以通过计算熵值来判断一个事件的 ...

最新文章

  1. 批处理显示语句学习(echo、 @ 、 pause)
  2. vue从url中获取token并加入到 请求头里_BATJ都会用到的接口鉴权cookie、session 和token...
  3. Spark学习笔记[3]-Spark安装部署
  4. Netty权威指南 第2版
  5. Word或者WPS里证件照的背景底色和像素调整
  6. node.js 使用数据校验 joi 报错:Cannot mix different versions of joi schemas
  7. JS实现四舍五入保留两位小数
  8. 封装方法-数字转大写(一)——将数字金额转换为大写金额
  9. 汇编语言之课程设计一
  10. 知物由学 | 行为时序建模在社交引流黑产识别中的应用
  11. 四足机器人并联腿足端轨迹Matlab仿真
  12. 微信小程序的text 的换行
  13. html链接怎么恢复,Word文档中目录的超链接取消后怎么样恢复?
  14. 团体程序设计天梯赛 -- 练习集 (L1合集)
  15. 【JS】 # js获取当前日期,比较日期大小
  16. 【Code】OJ推荐
  17. Swift 代码调试核武-LLDB调试基础
  18. HFSS天线设计仿真步骤
  19. 2022中国情感障碍大会隆重召开 好心情全程独家直播大会盛况
  20. 个人读书思维导图笔记之mysql-innodb之索引

热门文章

  1. solidworks创新作业无限魔方
  2. php unshift,PHP Ds\Vector unshift()用法及代码示例
  3. P 哥的桶(线段树+线性基)
  4. 集成电路将成一级学科,这些高校迎来重大机遇!
  5. 微信小程序根据用户当前位置并打开地图选择周边地址,完成外卖地址选择并计算距离
  6. 360插件化方案RePlugin学习笔记-插件使用宿主中的类
  7. 小程序后端云开发(一)
  8. TensorFlow 2.1.0 使用 TFRecord 转存与读取图片
  9. 几何分布的众数为什么是1
  10. [一步一步MVC]第四回:漫谈ActionLink,有时“胡搅蛮缠”