利用熵权法进行数值评分计算——算法过程

1、概述

在软件系统中,研发人员常常遇上需要对系统内的某种行为/模型进行评分的情况。例如根据系统的各种漏洞情况对系统安全性进行评分、根据业务员最近操作系统的情况对业务员工作状态进行打分等等。显然研发人员了解一种或者几种标准评分算法是非常有利于开展研发工作的。

目前流行的评分方法有很多种,诸如wilson评分算法、模糊综合评价法、秩和比评分法等等,本文内容介绍一种容易理解和编码实现的评分算法——熵权评分法。熵权法是一种基于信息论的方法,其核心在于通过计算数据中的熵来评估数据的不确定性。在信息论中,熵是衡量信息不确定性的一个重要指标。当数据集合中的概率分布更加均匀时,信息熵较大,表示数据的不确定性较高;反之,当概率分布更加集中时,信息熵较小,表示数据的不确定性较低‌。

2、计算过程

本文通过一个给员工工作状态评分的示例,介绍熵权法在实际工作中的使用。这个示例中本文不但演示熵权法的每个计算步骤,还通过一个Excel表格对每个计算步骤进行演练。这个示例的背景是,某公司针对员工的工作状态进行打分,这些打分要素包括了“迟到次数”、“食物带入办公区次数”、“遗忘打卡次数”、“下班后电脑未关次数”、“上厕所次数”、“计件质检评分”。
在这里插入图片描述
需要说明的是,熵权法进行编码实现时可以支持对评价维度的扩展。也就是说评价维度的多少并不影响计算步骤,只对某些步骤的计算数值产生影响。

2.1、进行数据标准化

评分指标分为正向指标(正向因子)和负向指标(负向因子)。正向指标是指该数据分值越高,对最后的评分结果影响越正面,例如电视的尺寸数据在电视综合评分中就是一个正向数据——尺寸越大综合评分越高;负向指标是指该数据分值越高,对最后的评分结果影响越负面,例如在网络安全评分场景下,某台终端端口被扫描的次数越多,则终端安全性得分越低。因为评分数据有正向和负向之分,所以评分计算的第一步是将各个评分要素进行标准化处理。处理公式如下所示:

在这里插入图片描述
如上图所示,正向指标和负向指标的数据标准化公式是不一样的,正向指标进行数据标准化的公式可以解释为:从各个评分参与者的正向指标中,取得得分最高的值和得分最低的值,相减后最为分母;使用当前要进行标准化的值,减去得分最低的值,作为分子;以下为计算结果:

在这里插入图片描述

以上图中的迟到次数为例,由于迟到次数是一个负向指标,所以“社畜8197”的迟到次数标准化的计算方式就是:分母为最大得分3 减去 最小得分1;分子为最大得分3 减去 “社畜8197”的次数0,得到结果为1。

另外要说明的是,由于是取得各个分母是各个参与者中的最大值,减去各个参与者中的最小值,所以当最大值和最小值为一样时,分母就可能为0;所以在进行标准化计算时,可以通过分母分子同时+1的方式,修正这种极端情况下的问题。以下是Excel使用的计算公式,可以看到分子分母都加了“1”:

在这里插入图片描述

2.2、求每个数值在评分列中的数值占比(数值比例)

还是以“迟到次数”这个负向指标为例,上一步我们求得了每个参与者“迟到次数”的数据标准值,分别为0.75、0.75、0.5、0.75、0.25、1、1、1;下面我们求每一个数值的数值占比,公式为:
在这里插入图片描述
这个公式很好理解,分母就是所有评分参与者的“迟到次数”数据标准值的和;分子就是某个具体的某个“迟到次数”的标准值。所以求得的数据如下表所示:
在这里插入图片描述

使用Excel文件进行计算过程演练时,可以使用以下公式进行表达:

在这里插入图片描述

2.3、求数值占比与自身(数值占比)对数的积

上一步我们计算出了每一个评分参与者在“迟到次数”这个要素上的数值占比,分别是0.125、0.125、0.0833333、0.125…… 。接下来我们就每个数和自身对数(以2为底)的积。熵权法要求对数的原因在于对数函数能够有效地衡量数据的不确定性,并确保信息的可加性。

X i = P i L o g ( P i ) X_i = P_i Log(P_i) Xi=PiLog(Pi)

在这里插入图片描述

使用Excel文件进行计算过程演练时,可以使用以下公式进行表达:

在这里插入图片描述

这个数值将在下一步正式进行熵值计算时,起到关键作用。

2.4、计算每个评分要素的熵值‌

现在我们开始正式计算每个参与评分的要素的熵值。在本示例中,这些要素分别就是“迟到次数”、“食物带入办公区次数”、“遗忘打卡次数”、“未关电脑次数”等等。熵值的计算公式如下:

在这里插入图片描述

这个公式分为两部分进行理解,其中第一部分就是K值的定义:

K = 1 / L o g ( N ) K = 1 / Log(N) K=1/Log(N)

其中N为参与评分的参与者数量,这个示例中N的值就是8(“牛马3197”、“圣斗士打工者”、“天地会总舵主”、“太上老君丹童”……)。这个公式的第二部分就是“西格玛符号”(∑)描述的求和部分,刚好是对我们2.3小节得到的每个栏目的值进行的求和。所以通过以上公式,我们能得到的计算结果如下图所示:

在这里插入图片描述

同样使用Excel文件进行计算过程演练,可以使用以下公式进行表达:

在这里插入图片描述

其中公式中“B37到B44”的值,就是2.3小节中每一个“迟到次数”通过求对数得到的值。

2.5、计算每个评分要素的权重值

现在我们有了每个评分要素的熵值,基于熵值我们可以求得每个平分要素的权重值——实际上这里的权重值可以理解为每个评分要素的熵值在整个熵值体系中的占比,其公式为:
在这里插入图片描述
其中分母为所有要素熵值的累加(d代表每一个要素的熵值),分子为当前要素的熵值。计算过程的演练表格如下所示:

在这里插入图片描述

2.6、基于权重值转换为10分制/100分制/或者N分制

有了每个评分要素的权重值(基于熵值得出),以及每个评分栏目标准化值(本文2.1小节所描述),就可以进行每个参与者的评分了——这个评分不能是10分制或者100分制或者1000分制的,而是一个得分基数。最后操作者可以根据这个得分基数,转换成自己所需的10分制或者100分制得分——最终用户可以看懂的得分。

得分基数的计算公式为:

在这里插入图片描述
公式是一个西格玛(∑)求和公式,其中每一个从1到m的w值,代表每一个评分要素的值;每一个x的值,代表每一个平分栏目。如果不好理解,可以看下图的解释

在这里插入图片描述

可以看到每个评分参与者的得分分别是:“牛马3197”——0.847662689、“圣斗士打工者”——0.736605139、“天地会总舵主”——0.861913661、“太上老君丹童”——0.763879745、“太乙真人弟子”——0.765103166、“社畜8197”——0.805163424、“超人完整体”——0.776911214、“标准满分参考”——1;

但是最终用户是看不懂这些得分基数的,所以需要一些形式上的计算过程,将基准评分转换为10分制、100分制或者某种最终用户能看懂的分数,如下所示:

在这里插入图片描述
E x c e l 栏目公式 = 100 / R O U N D U P ( M A X ( I 56 : I 62 ) , 3 ) ∗ I 56 Excel栏目公式=100/ROUNDUP(MAX(I56:I62),3)*I56 Excel栏目公式=100/ROUNDUP(MAX(I56:I62),3)I56

以上评分结果,这只是一个形式主义的计算过程,目的是让最终使用者根据日常习惯的计分方式对评分结果进行理解。后文我们将介绍熵权法的编码实现过程。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中控室控制台处在自动状态什么意思

在现代工业和智能控制系统中,中控室控制台作为集中控制和管理各种设备、系统和流程的核心,扮演着至关重要的角色。当提到中控室控制台处在自动状态时,这通常意味着控制台已经切换到一种高度智能化的工作模式,能够自动调整和管理各…

【SQL】百题计划:SQL判断条件OR的使用。

【SQL】百题计划-20240912 Select name, population, area from World where area>3000000 or population > 25000000;

品读 Java 经典巨著《Effective Java》90条编程法则,第4条:通过私有构造器强化不可实例化的能力

文章目录 【前言】欢迎订阅【品读《Effective Java》】系列专栏java.lang.Math 类的设计经验总结 【前言】欢迎订阅【品读《Effective Java》】系列专栏 《Effective Java》是 Java 开发领域的经典著作,作者 Joshua Bloch 以丰富的经验和深入的知识,全面…

网络运输层之(1)TCP协议基础

网络运输层之(1)TCP协议基础 Author: Once Day Date: 2024年9月12日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-…

cv2.bitwise_or 提取ROI区域

原图如下所示,想提取圆形ROI区域,红色框 img np.ones(ori_img.shape, dtype"uint8") img img * 255 cv2.circle(img, (50,50), 50, 0, -1) self.bitwiseOr cv2.bitwise_or(ori_img, circle)使用一个和原图尺寸一致的图像做mask,图白圆黑 以…

通信工程学习:什么是PC永久连接、SPC软永久连接

一、PC永久连接 PC(Permanent Connection)永久连接是一种由网管系统通过网管协议建立的长期稳定的连接方式。在ASON(自动交换光网络)中,PC永久连接沿袭了传统光网络的连接建立形式,其特点主要包括&#xff…

视频监控平台是如何运作的?EasyCVR视频汇聚平台的高效策略与实践

随着科技的飞速发展,视频监控平台在社会安全、企业管理、智慧城市构建等领域发挥着越来越重要的作用。一个高效的视频监控平台,不仅依赖于先进的硬件设备,更离不开强大的视频处理技术作为支撑。这些平台集成了多种先进的视频技术,…

微波无源器件 OMT 2 倍频程带宽紧凑十字转门OMT

摘要: 一个64%瞬态带宽的可变比例十字转门OMT用于在所谓的延伸C频带卫星链接被提出。所体术的结构通过在四个输出矩形波导结处添加一个拓宽的单阶梯来克服现在的实际带宽限制。这个明智的(judicious)调整,和减高度波导和E面弯头的和功率合成器的使用,保证…

kali Linux 安装教程(保姆级)

kali 背景 基于Debian的Linux操作系统 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackT…

专题三_二分查找算法_算法详细总结

目录 二分查找 1.⼆分查找(easy) 1)朴素二分查找,就是设mid(leftright)/2,xnums[mid],t就是我们要找的值 2)二分查找就是要求保证数组有序的前提下才能进行。 3)细节问题: 总结&#xff1a…

系统优化工具 | PC Cleaner v9.7.0.3 绿色版

PC Cleaner是一款功能强大的电脑清理和优化工具,旨在通过清理系统垃圾文件、解除恶意软件和优化系统性能来提高计算机的运行效率。该软件提供了多种功能,可以帮助用户维护和提升计算机的整体表现。 PC Cleaner 支持 Windows 7 及以上操作系统&#xff0…

Visual Studio Installer 2022 安装提示正在提取文件 进度条不动 0B每秒

Visual Studio Installer 稍等片刻...正在提取文件 进度条不动 0B每秒 一段时间后提示 循环下载安装文件 无法下载安装文件。请检查Internet 连接,然后重试 打开vs2017 或者vs2019或者vs2022的安装程序(visual studio installer)时,下载进度条不动&…

智能体 vs AI智能体:区别与联系,一文读懂!

​ 在AI技术蓬勃发展的今天,“智能体”(Agent)和”AI智能体”(AI Agent)两个概念经常被提及,二者在很多场合下会被混淆,但其实它们有着不同的定义和应用。我觉得很有必要小小科普下两者的定义与…

龙芯+FreeRTOS+LVGL实战笔记(新)——06添加二级按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以…

mysql学习教程,从入门到精通,SQL AND OR 运算符(12)

1、SQL AND & OR 运算符 在本教程中,您将学习如何在子句中使用ASELECT column1_name, column2_name, columnN_nameFROM table_nameWHERE condition1 AND condition2;ND&OR运算符,WHERE以根据多个条件过滤记录。 1.1、根据条件选择记录 …

LCSS—最长回文子序列

思路分析 关于”回文串“的问题,是面试中常见的,本文提升难度,讲一讲”最长回文子序列“问题,题目很好理解: 输入一个字符串 s,请找出 s 中的最长回文子序列长度。 比如输入 s"aecda"&#xff0c…

考题:将数组的元素内容反转

考题:把数组的元素内容反转,int[ ] arr {11,22,33,44,55};变成int[ ] arr{55,44,33,22,11} 小伙伴们可以自己先思考再看解析: 方法1: 思想:两杯水交换的思想(有一杯装满水的杯子a和一杯装满水的杯子b,想想…

STM32双轮平衡小车(基于STM32F103C8T6HAL库)

STM32双轮平衡小车参考教程 这个项目是跟做以上UP的STM32双轮平衡小车,主要是为了学习电机驱动和PID控制。这篇我就不提供源码了,我也是跟学的,原作者也提供了源码,我记录一下自己的理解。 1 PID原理 1.1 PID简介 1.2 PID演示 …

基于SpringBoot+Vue+MySQL的笔记记录分享网站

系统展示 用户前台界面 管理员后台界面 系统背景 在当今数字化时代,笔记记录与分享已成为学习、工作与生活中不可或缺的一部分。为了满足用户高效整理思绪、便捷分享知识的需求,我们设计了一款基于SpringBoot后端框架、Vue前端框架及MySQL数据库的笔记记…

存储课程学习笔记1_访问scsi磁盘读写测试(struct sg_io_hdr,ioctl,mmap)

创建虚拟机时,可以选择SCSI,STAT,NVME不同类型的磁盘。 0:总结 》了解内核提供的访问scsi的结构和方法 (主要是sg_io_hdr_t 结构体和ioctl函数)。 》需要读scsi协议文档,了解相关指令,只演示了16字节固定…