数学建模系列---熵权法

article/2025/11/10 12:10:22

目录

一.简介

二.说明

1.正向指标:

 2.信息量

 3.信息熵

三.具体计算步骤

1.标准化矩阵

1.1该步骤的意义

1.2标准化的2种方法

2.计算各元素概率

3.计算各指标的权重

3.1计算每个指标的信息熵

3.2计算信息效用值

3.3归一化信息效用值

四.总结



一.简介


        熵权法是对指标体系客观(利用已知数据)赋权的方法。

        原理如下:

                指标的变异程度(方差)越小,所反映的信息量也越少(同时信息熵越大),其对应的权值也应该越低。

        直白一点来说: 越可能发生的事信息熵越大,信息量越少,权值也越低

        通过一个例子理解熵权法原理

                NBA要对5名球星:科比、詹姆斯、哈登、巴特勒、杜兰特进行综合实力评估。评估的指标体系是:三分命中率  罚球命中率 场均助攻数 场均失误数  场均得分数 。即用这5个指标来综合评估球员实力,虚拟数据如下:

                根据已知数据对球员打分,关键问题在于如何对5个指标赋权,从上表数据可知:球员们的罚球命中率旗鼓相当,即我们可以认为这个事实<罚球命中率在0.88左右>发生的可能性很大,根据这个指标的数据我们可以得到的信息很少,但是通过场均助攻数该指标数据,我们可以得到的信息就相对很多了,引入原理:罚球命中率该指标的变异程度较小,所反映的信息很少、信息熵很大,那么相应的权重就应越低。


二.说明


        在本文的第三部分计算权值时会用到以下几个知识点,大家可以先学习一下。

1.正向指标:

      指标值越大,则评价就越好。与此相对的是负向指标。

      举例:场均得分----越大越好----正向指标, 场均失误----越小越好----负向指标。

2.信息量

     计算公式:I(x)=-ln(p(x))

     公式推导:

             利用我们之前提到的<越有可能发生的事情包含的信息量越小>这一原理

              将信息量用字母I表示,概率用p表示,那么我们可以将它们建立一个函数关系:

 假设 x 表示事件 X 可能发生的某种情况,p(x)表示该事件发生的概率,那么I(p)=-ln(p(x)),因为   0\leqslant p(x)\leqslant 1 ,所以I(x)\geqslant 0

说明:此处的I(p)=-ln(p(x)),其中的对数是以e为下标的,也可将2作为下标,对此,目前没有统一要求。 

 对信息量的推导感兴趣的朋友可以看这边文章:什么是信息量?如何计算信息量? - 知乎 (zhihu.com)

3.信息熵

概念:信息量度量的是一个具体事件发生了所带来的信息  ,  而熵则是在结果出来之前对可能产生的信息量的  期望—考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。    -----知乎用户:忆臻

事件X的信息熵H(X)如下:

H(X)=\sum_{i=1}^{n}\left[p\left(x_{i}\right) I\left(x_{i}\right)\right]=-\sum_{i=1}^{n}\left[p\left(x_{i}\right) \ln \left(p\left(x_{i}\right)\right)\right]

从公式也可以看出,信息熵本质上就是对信息量的期望,且式中唯一的未知数是事件x的概率。

三.具体计算步骤

1.标准化矩阵

   1.1该步骤的意义

            对已知数据进行去量纲化,使得各指标在同一量纲。ps:标准化处理方法是去量纲化的其中一种方法。避免负值数据,为下一步<计算各元素的概率>做准备,因为概率是恒大于0的。

   1.2标准化的2种方法

           假设有n个要评价的对象,m个评价指标(已经正向化了)构成的矩阵如下:X经过标准化处理后的矩阵为Z。

X=\left[\begin{array}{cccc} x_{11} & x_{12} & \cdots & x_{1 m} \\ x_{21} & x_{22} & \cdots & x_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n 1} & x_{n 2} & \cdots & x_{n m} \end{array}\right]

  法1:当矩阵X中不存在负值时才可以使用,例如前面的球员数据表就无负值数据。

z_{i j}=x_{i j} / \sqrt{\sum_{i=1}^{n} x_{i j}^{2}}

   法2:当矩阵X中存在负值时使用

{z}_{i j}=\frac{x_{i j}-\min \left\{x_{1 j}, x_{2 j}, \cdots, x_{n j}\right\}}{\max \left\{x_{1 j}, x_{2 j}, \cdots, x_{n j}\right\}-\min \left\{x_{1 j}, x_{2 j}, \cdots, x_{n j}\right\}}

 2.计算各元素概率

      通过上一步的处理,我们得到了矩阵Z

Z=\left[\begin{array}{cccc} z_{11} & z_{12} & \cdots & z_{1 m} \\ z_{21} & z_{22} & \cdots & z_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n 1} & z_{n 2} & \cdots & z_{n m} \end{array}\right]

       现在计算第j项指标下第i个样本所占的比重,并将其看作熵计算中用到的概率。可以得到一个概率矩阵P,P中每一个元素p_{i j}的计算公式如下:

p_{i j}=\frac{​{z}_{i j}}{\sum_{i=1}^{n} {z}_{i j}}

        计算原理很简单:该元素/该列元素之和,以球员数据表为例:

p_{11}=\frac{0.32}{0.32+0.38+0.39+0.34+0.4}=0.175

3.计算各指标的权重

     流程图如下:

3.1计算每个指标的信息熵

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

                e_{j}=-\frac{1}{\ln n} \sum_{i=1}^{n} p_{i j} \ln \left(p_{i j}\right)(j=1,2, \cdots, m)

说明:

1>为什么要除\ln n

     因为当 p\left(x_{1}\right)=p\left(x_{2}\right)=\cdots=p\left(x_{n}\right)=\frac{1}{n} \text,时,H(X)有最大值\ln n,那么除以\ln n就可以使信息熵的值始终落在[0,1]区间上。

2>  e_{j}越大,第j个指标的信息就越少。

3.2计算信息效用值

d_{j}=1-e_{j}

         信息效用值越大,所包含的信息越多

3.3归一化信息效用值

       将每个指标的信息效用值d_{j}归一化即可得到各指标的权重W_{j},归一化公式如下:

                                W_{j}=d_{j} / \sum_{j=1}^{m} d_{j}(j=1,2, \cdots, m)

         终于,我们想要的指标权重就这样求出来啦!

四.总结

        熵权法与层次分析法相比,具有一个重要特点,熵权法是利用现有数据来赋权。当题目有已知数据时,首先排除层次分析法赋权。

        牢记:熵权法是给指标赋权的!

        归一化处理之后会出文章讲解。


说明:作者为建模小白,若发现文章有错误之处,敬请指正!  本文主要参考了清风学长的数学建模课程!


http://chatgpt.dhexx.cn/article/ZxPTfxkp.shtml

相关文章

数学建模——熵权法

一、熵权法基础知识 熵值越小越好; 熵权法是一种可以用于多对象、多指标的综合评价方法&#xff0c;其评价结果主要是依据客观资料&#xff0c;熵权法几乎不受主观因素的影响。 信息熵值越小&#xff0c;权重越大 二、熵权法基本思路 权重大-->提供的信息量大-->指标…

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

熵权法 熵权法是一种客观赋权方法。&#xff08;客观 数据本身就可以告诉我们权重&#xff09; 依据的原理&#xff1a;指标的变异程度越小&#xff0c;所反映的信息量也越少&#xff0c;其对应的权值也应该越低。 本文借鉴了数学建模清风老师的课件与思路&#xff0c;如果大家…

熵权法 —— matlab

目录 一、熵权法介绍 二、熵权法赋权步骤 1.指标正向化 mapminmax介绍 2.数据标准化 3.计算信息熵 4.计算权重以及得分 三、实例分析 1.读取数据 2.指标正向化 2.1 越小越优型处理 2.2 某点最优型指标处理 3.数据标准化 4.计算信息熵 5.计算权重 6.计算得分 总…

数学建模——熵权法步骤及程序详解

数学建模——熵权法步骤及程序详解 权重的求解一直都是数学建模的重点关注对象&#xff0c;所以学好建模论文的重要一步就是如何确定权重&#xff0c;今天是来介绍一种客观确定几个指标各自所占的权重的方法——熵权法。之前的数学建模实战里有提到用熵权法确定了每个指标各自…

计算机电路知识,计算机电路基础教程(完整版)

计算机电路基础教程(完整版) 名称&#xff1a;计算机电路基础教程(完整版)分类&#xff1a;电脑基础 点击&#xff1a;加载中主讲&#xff1a;时间&#xff1a;2014-10-13 09:22 计算机电路基础教程(完整版)相关介绍 计算机电路是计算机专业和电子信息类专业的一门重要硬件基础…

大学计算机基础案例教程章测试答案,大学计算机基础案例教程--Win7+Office2010(高等院校公共基础课规划教材)...

导语 内容提要 尹建新编著的这本《大学计算机基础案例教程&#xff0d;&#xff0d;Win7&#xff0b;Office2010》是针对普通高等院校非计算机专业的教学要求&#xff0c;依托Windows 7操作系统和Office 2010办公软件平台&#xff0c;结合当今最新计算机技术编写而成的。本书最…

计算机系统新手入门,电脑初学者入门教程

本篇主要从关机、任务管理器、电脑屏幕锁定这三个方面&#xff0c;帮助初次学习电脑的人尽快掌握一些基本操作&#xff0c;快一起来学习吧。 工具/材料 电脑(本篇以Windows7系统为例) 电脑关机 01方法一。首先&#xff0c;点击屏幕左下方的win(当点击时&#xff0c;会提示“开始…

电子计算机入门教程,「冯修远」计算机入门0基础教程:Word文档的基本操作

冯修远:Word文档的基本操作 人生就像一场修行,任重而道远。大家好,我是冯修远,一位专注于IT教育行业及编程技术和网络营销的人士。通过对《「冯修远」计算机入门0基础教程:office的安装》的学习,大家应该都应安装好了word。我在《「冯修远」计算机入门0基础教程:office的…

RecyclerView添加Header的正确方式

看了一下博客目录&#xff0c;已经有好几篇博客是关于RecyclerView的&#xff0c;不过对于这么一款强大的控件&#xff0c;我还是要再写一篇博客来学习一下&#xff0c;这篇博客的主题是《为RecyclerView添加header》&#xff0c;当然在看完这篇博客后&#xff0c;相信添加Foot…

Android-第七节RecyclerView详解

目录 一、RecyclerView概述二、RecyclerView使用步骤三、布局管理器 一、RecyclerView概述 RecyclerView是support-v7包中的新组件&#xff0c;是一个强大的滑动组件&#xff0c;与经典的ListView相比&#xff0c;同样拥有item回收复用的功能&#xff0c;这一点从它的名字Recyc…

RecyclerView不显示问题

当我们使用RecyclerView控件的时候可能遇到不显示问题&#xff0c;一般分为以下情况&#xff0c; 一、RecyclerView和ScrollView嵌套使用出现RecyclerView不显示的问题&#xff0c; 首先要确保你从服务端拿到的数据不是空的&#xff0c; 1.第一种解决方式&#xff1a; 只需…

RecycleView

一. 在build.gradle中添加依赖 implementation androidx.recyclerview:recyclerview:1.1.0二. activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"…

Android学习之RecyclerView

RecyclerView是android-support-v7-21版本中新增的一个Widget,官方介绍RecyclerView 是 ListView 的升级版本,更加先进和灵活。 开发环境 - IDE: ADT - SDK: Android L 首先在Android SDK Manager上下载Android Support Repository, 它会在sdk/extras/android目录下生成m2…

Android——RecyclerView入门学习之RecyclerView.Adapter

学习资料&#xff1a; 鸿洋大神为RecyclerView打造通用Adapter让RecyclerView更加好用鸿洋大神Android优雅的为RecyclerView添加HeaderView和FooterView 之前使用RecyclerView.Adapter&#xff0c;基本就类似套用公式&#xff0c;死步骤&#xff0c;对Adapter感到既熟悉又陌生…

Android——RecyclerView的使用

RecyclerView 参考&#xff1a;《第一行代码》第二版——郭霖 可以用RecyclerView来显示多行列表。 recycle 循环回收再利用。 通过一个水果列表来学习RecyclerView 准备工作&#xff0c;在app/build.gradle文件中导入依赖 dependencies {implementation androidx.appcompat:a…

RecyclerView(二)—— RecyclerView的使用

RecyclerView ListView由于强大的功能&#xff0c;在过去的Android开发当中可以说是贡献卓越&#xff0c;直到今天仍然还有不计其数的程序在使用ListView。不过ListView并不是完美无缺的&#xff0c;比如如果不使用一些技巧来提升它的运行效率&#xff0c;那么ListView的性能就…

Android RecyclerView

个人回顾&#xff1a; 1.RecyclerView用来代替ListView和GridView 2.RecyclerView可以实现瀑布流布局 3.RecyclerView最出色的是它的缓存机制&#xff08;四级缓存&#xff09;&#xff0c;ListView只有2级缓存 1.RecyclerView RecyclerView是Android 5.0推出的&#xff0c;是…

Android RecyclerView原理

文章目录 从 ListView 到 RecyclerViewRecyclerView 运行机制ListView 缓存机制RecyclerView 缓存机制RecyclerView 核心机制总结 从 ListView 到 RecyclerView RecyclerView 是在 Google I/O 在2014年时推出的控件&#xff0c;在 RecyclerView 还未出现前&#xff0c;列表都是…

AndroidStudio中RecyclerView用法

去年写了几篇关于Android的基础知识点&#xff0c;没想到收到了很多朋友的好评&#xff0c;不过后来太忙了没有继续更新&#xff0c;真的蛮遗憾的。最近又要用到Android啦&#xff0c;超级无敌巨重要的RecyclerView怎么能不讲一讲呢&#xff01;&#xff01; 1.什么是Recycler…

为RecyclerView打造通用Adapter 让RecyclerView更加好用

转载请标明出处&#xff1a; http://blog.csdn.net/lmj623565791/article/details/47251585&#xff1b; 本文出自:【张鸿洋的博客】 一、概述 记得好久以前针对ListView类控件写过一篇打造万能的ListView GridView 适配器&#xff0c;如今RecyclerView异军突起&#xff0c;…