清风数学建模学习笔记——熵权法(客观赋权法)

2023-11-01

熵权法

  熵权法是一种客观赋权方法。(客观 = 数据本身就可以告诉我们权重)
依据的原理:指标的变异程度越小,所反映的信息量也越少,其对应的权值也应该越低。

  本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看右侧链接查看清风老师视频讲解:清风数学建模:https://www.bilibili.com/video/BV1DW411s7wi



一、方法介绍

  熵权法就是根据一项指标的变化程度来分配权重的,举个例子:小张和小王是两个高中生,小张学习好回回期末考满分,小王学习不好考试常常不及格。在一次考试中,小张还是考了满分,而小王也考了满分。那就很不一样了,小王这里包含的信息就非常大,所对应的权重也就高一些。

  上面的小例子告诉我们:越有可能发生的事情,信息量越少。越不可能发生的事情,信息量就越多。其中我们认为 概率 就是衡量事情发生的可能性大小的指标。

  那么把 信息量 用字母 I \bf I I 表示,概率 用 p \bf p p 表示,那么我们可以将它们建立一个函数关系:
在这里插入图片描述
  那么,假设 x 表示事件 X 可能发生的某种情况,p(x)表示这种情况发生的概率情况如上图所示,该图像可以用对数函数进行拟合,那么最终我们可以定义: I ( x ) = − ln ⁡ ( p ( x ) ) I(x) = -\ln(p(x)) I(x)=ln(p(x)),因为 0 ≤ p ( x ) ≤ 1 0 ≤ p(x) ≤ 1 0p(x)1,所以 I ( x ) ≥ 0 I(x) ≥ 0 I(x)0。 接下来引入正题:


信息熵的定义

  假设 x 表示事件 X 可能发生的某种情况,p(x) 表示这种情况发生的概率我们可以定义: I ( x ) = − ln ⁡ ( p ( x ) ) I(x)=-\ln(p(x)) I(x)=ln(p(x)) ,因为 0 ≤ p ( x ) ≤ 1 0≤p(x)≤1 0p(x)1 ,所以 I ( x ) ≥ 0 I(x)≥0 I(x)0 。 如果事件 X 可能发生的情况分别为: x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1,x2,,xn那么我们可以定义事件 X X X 的信息熵为:

H ( X ) = ∑ i = 1 n [ p ( x i ) I ( x i ) ] = − ∑ i = 1 n [ p ( x i ) ln ⁡ ( p ( x i ) ) ] H(X)=\sum_{i=1}^{n}[p(x_i)I(x_i)]=-\sum_{i=1}^{n}[p(x_i)\ln(p(x_i))] H(X)=i=1n[p(xi)I(xi)]=i=1n[p(xi)ln(p(xi))]

那么从上面的公式可以看出,信息上的本质就是对信息量的期望值。

可以证明的是:   p ( x 1 ) = p ( x 1 ) = ⋯ = p ( x n ) = 1 / n \ p(x_1)=p(x_1)=\cdots = p(x_n) = {1}/{n}  p(x1)=p(x1)==p(xn)=1/n 时, H ( x ) H(x) H(x) 取最大值,此时 H ( x ) = ln ⁡ ( n ) H(x)=\ln(n) H(x)=ln(n)。 (n表示事件发生情况的总数)


二、熵权法的计算步骤

熵权法的计算步骤大致分为以下三步:

  1. 判断输入的矩阵中是否存在负数,如果有则要重新标准化到非负区间(后面计算概率时需要保证每一个元素为非负数)。
  2. 计算第 j 项指标下第 i 个样本所占的比重,并将其看作相对熵计算中用到的概率。
  3. 计算每个指标的信息熵,并计算信息效用值,并归一化得到每个指标的熵权。

1. 判断输入的矩阵中是否存在负数,如果有则要重新标准化到非负区间(后面计算概率时需要保证每一个元素为非负数)。

假设有 n n n个要评价的对象, m m m个评价指标(已经正向化了)构成的正向化矩阵如下:

X = [ x 11 x 12 ⋯ x 1 m x 21 x 22 ⋯ x 2 m ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 ⋯ x n m ] X= \begin{bmatrix} x_{11} & x_{12} & \cdots &x_{1m} \\ x_{21}& x_{22} & \cdots &x_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1}& x_{n2} & \cdots &x_{nm} \end{bmatrix} X= x11x21xn1x12x22xn2x1mx2mxnm

设标准化矩阵为 Z Z Z Z Z Z 中元素记为 z i j z_{ij} zij

z i j = x i j ∑ i = 1 n x i j 2 z_{ij}=\frac{x_{ij}}{\sqrt{\displaystyle\sum_{i=1}^{n}{x_{ij}^2}}} zij=i=1nxij2 xij

判断 Z Z Z 矩阵中是否存在着负数,如果存在的话,需要对 X X X 使用另一种标准化方法对矩阵 X X X 进行一次标准化得到 Z Z Z 矩阵,其标准化的公式为:

z i j = x i j − m i n { x 1 j , x 2 j , ⋯   , x n j } m a x { x 1 j , x 2 j , ⋯   , x n j } − m i n { x 1 j , x 2 j , ⋯   , x n j } z_{ij}=\frac{x_{ij} - min\lbrace x_{1j}, x_{2j},\cdots, x_{nj}\rbrace}{max\lbrace x_{1j}, x_{2j},\cdots, x_{nj} \rbrace - min\lbrace x_{1j}, x_{2j},\cdots, x_{nj} \rbrace} zij=max{x1j,x2j,,xnj}min{x1j,x2j,,xnj}xijmin{x1j,x2j,,xnj}

这样可以保证 z i j z_{ij} zij 在 [0,1] 区间,没有负数。


2. 计算第 j 项指标下第 i 个样本所占的比重,并将其看作相对熵计算中用到的概率。

假设有 n n n 个要评价的对象, m m m 个评价指标,且经过了上一步处理得到的非负矩阵为:

Z = [ z 11 z 12 ⋯ z 1 m z 21 z 22 ⋯ z 2 m ⋮ ⋮ ⋱ ⋮ z n 1 z n 2 ⋯ z n m ] Z= \begin{bmatrix} z_{11} & z_{12} & \cdots &z_{1m} \\ z_{21}& z_{22} & \cdots &z_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n1}& z_{n2} & \cdots &z_{nm} \end{bmatrix} Z= z11z21zn1z12z22zn2z1mz2mznm

计算概率矩阵 P P P,其中 P P P 中每一个元素 p i j p_{ij} pij,的计算公式如下:

p i j = z i j ∑ i = 1 n z i j p_{ij}=\frac{z_{ij}}{\displaystyle\sum_{i=1}^{n}{z_{ij}}} pij=i=1nzijzij

保证每一列的加和为1,即每个指标所对应的概率和为1。


3. 计算每个指标的信息熵,并计算信息效用值,并归一化得到每个指标的熵权。

信息熵的计算:
对于第 j j j 个指标而言,其信息嫡的计算公式为:

e j = − 1 ln ⁡ n ∑ i = 1 n p i j ln ⁡ ( p i j ) , ( j = 1 , 2 , ⋯   , m ) e_j=-\frac{1}{\ln n}\sum_{i=1}^{n}{p_{ij}}\ln(p_{ij}), \quad(j=1,2,\cdots,m) ej=lnn1i=1npijln(pij),(j=1,2,,m)

注意:这里如果说 p i j p_{ij} pij 为0,那么就需要指定 l n ( 0 ) = 0 ln(0) = 0 ln(0)=0


这里要说明两个问题:
1. 为什么这里要除以 ln ⁡ ( n ) \ln(n) ln(n) 这个常数?
在前面说过 p ( x 1 ) = p ( x 2 ) = . . . = p ( x n ) = 1 / n p(x_1)=p(x_2)=...=p(x_n)=1/n p(x1)=p(x2)=...=p(xn)=1/n 时, H ( x ) H(x) H(x) 取最大值为 ln ⁡ ( n ) \ln(n) ln(n),这里除以 ln ⁡ ( n ) \ln(n) ln(n) 能够使得信息嫡的始终位于 [0,1] 区间上面。

2. ej 越大,即第 j 个指标的信息嫡越大,表明第 j 个指标的信息越多还是越少?
答案是越少。当 p 1 j = p 2 j = ⋯ = p n j p_{1j} = p_{2j} =\cdots=p_{nj} p1j=p2j==pnj 时, e j e_j ej 取到最大值 1 。但是因为 p i j = z i j / ∑ i = 1 n z i j p_{ij} = z_{ij}/\displaystyle\sum_{i=1}^{n}z_{ij} pij=zij/i=1nzij ,所以 z 1 j = z 2 j = ⋯ = z n j z_{1j} = z_{2j} =\cdots= z_{nj} z1j=z2j==znj,即 所有样本的这个指标值都相同。 指标相同意味着这个指标的数据没有变化,也就是 信息少! 因此需要将其倒转,即计算信息效用值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

清风数学建模学习笔记——熵权法(客观赋权法) 的相关文章

随机推荐

  • 快速理解ES6的解构赋值?

    function arr return 苹果 茶 蛋糕 我们将上述数组中的值依次赋值给三个变量 并在后续的程序中输出 传统的实现方法 var testArr arr var fruit testArr 0 tea testArr 1 cak
  • java无法解析符号什么意思,Intellij:无法解析符号'springframework'

    我试图用Spring开始我的第一个项目 我使用intellij的想法 我也很新 但无论如何 我跟着在jetbrain网站上写下的步骤 我不知道我做错了什么 但是我在第一个到默认创建的文件上有很多错误 Intellij 无法解析符号 spri
  • SpringSecurity+Oauth2+JWT

    SpringSecurity Oauth2 JWT SpringSecurity Oauth2 JWT 快速入门 自定义登入 自定义登入成功失败处理器 权限判断 自定义异常返回 自定义方法实现权限控制 注解实现权限控制 记住我实现 退出登入
  • WIN7搜索不到共享打印机怎么办? 亲测成功

    1 开启的服务 右键点击 计算机 右键菜单中选择 管理 找到 服务和应用程序 打开 服务 或者用WIN R打开 运行 对话框 输入services msc 按回车键打开 服务 然后 将以下服务的 启动类型 选为 自动 并确保 服务状态 为
  • 【数据库技术】NineData数据复制,加速实时数仓构建

    8 月 30 日 由 NineData 和 SelectDB 共同举办的主题为 实时数据驱动 引领企业智能化数据管理 的线上联合发布会 圆满成功举办 双方聚焦于实时数据仓库技术和数据开发能力 展示如何通过强大的生态开发兼容性 对接丰富的大数
  • mysql输入密码后闪退问题的解决

    1 找到配置文件my ini 然后用记事本将其打开 2 打开后 搜索mysqld关键字 找到后 在mysqld下面添加skip grant tables 保存退出 若提示不让保存时 可以将文件剪切到桌面 更改保存后再复制到mySQL目录下
  • 安装opencv和opencv-contrib库

    快速安装的方法在最后 速度超快 1 安装opencv python Win R 输入cmd 然后输入activate 进入base环境 或者其他自己创建的环境 输入 pip install opencv python 如果报错 显示的是拒绝
  • 正则表达式之ip地址匹配(详细讲解)

    正则表达式之ip地址匹配 一 正则匹配基本知识及概念 二 ip地址匹配 一 正则匹配基本知识及概念 在练习之前 需要大家知道一些基本知识 如果有一定基础的可以跳过该步骤 直接往下看 正则表达式 字符类 abc 代表a或者b 或者c字符中的一
  • lambda函数

    lambda函数也叫匿名函数 就是没有函数名的函数 lambda表达式基于数学中的 演算得名 直接对应于其中的lambda抽象 lambda函数的语法只包含一个语句 lambda arg1 arg2 argn expression 冒号前面
  • 设计模式(十九) 备忘录模式

    备忘录模式是一种行为型模式 作用是将对象的内部状态保存下来 在必要的时候恢复 备忘录模式可以用于游戏存档恢复 文件的历史记录等场合 下面是一个简单的代码例子 首先是文档管理器 用于保存文档的状态 public class DocumentM
  • 【Eclipse】Maven安装配置&Eclipse配置Maven插件

    文章目录 前言 一 下载安装Maven 二 配置Maven环境变量 三 修改Maven仓库配置 四 Eclipse配置 maven
  • JS提取链接参数

    假如要提取当前网络链接上面的参数 那么请看下去 比如要提取 var url http www baidu com x 10 y 20 c 30 d 40 中的 xycd的值 那么
  • 【已解决】SpringBoot 后端开发中console中中文乱码问题,以及其他解决方法。

    项目场景 在IDEA中 使用Maven构建SpringBoot Web后端项目 黑马程序员中的javaWeb 2023最新课程中的案例 有同样问题的同学欢迎一起讨论学习 问题描述 前端网页请求发出后 后端成功响应 但是在控制台中 中文数据会
  • C标准库文件&常用函数

    编号 头文件 C标准版本 介绍 1
  • MIPI DPHY接口的若干种实现方案概述

    一 MIPI DPHY接口简介 MIPI DPHY是MIPI的一种物理层 其协议层有CSI和DSI两种 其中CSI主要用于图像接入 如图像传感器Sensor DSI主要用于图像输出 如手机屏幕等 有关MIPI DPHY及CSI和DSI的技术
  • 涡阳2021年高考成绩查询,2021年涡阳县高考状元名单资料,今年涡阳县高考状元多少分...

    高考状元一直都备受大家的关注 不管对于学校和还是当地教育系统 都是一件荣誉的事情 高考状元历来都诞生于艳羡的目光中 大家为他们的高分叫好 羡慕他们可以一步踏入国内知名学府 本文高考升学网为大家介绍历年涡阳县高考状元的相关资料和考分情况 看看
  • 互斥锁、读写锁、自旋锁、条件变量的特点总结

    读写锁特点 1 多个读者可以同时进行读 2 写者必须互斥 只允许一个写者写 也不能读者写者同时进行 3 写者优先于读者 一旦有写者 则后续读者必须等待 唤醒时优先考虑写者 互斥锁特点 一次只能一个线程拥有互斥锁 其他线程只有等待 互斥锁是在
  • 新闻管理系统

    1 项目介绍 新闻管理系统拥有两个角色 分别为用户和管理员 具体功能如下 2 项目技术 后端框架 Jfinal mvc 前端框架 Freemarker html css JavaScript JQuery 3 开发环境 JAVA版本 JDK
  • css transparent张鑫旭,【灵感杂谈】张鑫旭和他的《CSS世界》

    原标题 灵感杂谈 张鑫旭和他的 CSS世界 说到本书的作者 前端圈里没见过他的人有很多 但没读过他文章的人很少 他就是很多前端同行眼中的 张老师 张大神 张鑫旭 以下简称 张 前一段时间 去参加 前端体验大会 有一位张的同事作为分享嘉宾 当
  • 清风数学建模学习笔记——熵权法(客观赋权法)

    熵权法 熵权法是一种客观赋权方法 客观 数据本身就可以告诉我们权重 依据的原理 指标的变异程度越小 所反映的信息量也越少 其对应的权值也应该越低 本文借鉴了数学建模清风老师的课件与思路 如果大家发现文章中有不正确的地方 欢迎大家在评论区留言