数学建模常用算法—熵权法(EWM)

article/2025/11/10 5:13:45

解决问题

建模比赛中最基础的模型之一,其主要用于解决评价类问题(例如:选择哪种方案最好、哪位运动员或者员工表现的更优秀),用于确定每个指标所占权重,权重用于计算最终得分。

优点

层次分析法最大的缺点在于判断矩阵的确定依赖于专家,如果专家的判断存在主观性的话, 会对结果产生很大的影响。

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

缺点

因为概率p是位于0‐1之间,因此需要对原始数据进行标准化,我们应该选择哪种方式进行标准化呢?查看知网的文献会发现, 并没有约定俗成的标准,每个人的选取可能 都不一样。但是不同方式标准化得到的结果可能有很大差异,所以说熵权法也存在着一定的问题。

一般步骤

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

在这里插入图片描述
数据正向化过程请参考文章:
数学建模常用算法—优劣解距离法(TOPSIS)
https://blog.csdn.net/cyj972628089/article/details/107541291

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

在这里插入图片描述

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

在这里插入图片描述

代码

	Z = [];	 % n*m的矩阵(要经过正向化和标准化处理,且元素中不存在负数)[n,m] = size(Z);D = zeros(1,m);  % 初始化保存信息效用值的行向量for i = 1:mx = Z(:,i);  % 取出第i列的指标p = x / sum(x);% 注意,p有可能为0,此时计算ln(p)*p时,Matlab会返回NaN,所以这里我们自己定义一个函数e = -sum(p .* mylog(p)) / log(n); % 计算信息熵D(i) = 1- e; % 计算信息效用值endW = D ./ sum(D);  % 将信息效用值归一化,得到权重    
end
function [lnp] =  mylog(p)
n = length(p);   % 向量的长度
lnp = zeros(n,1);   % 初始化最后的结果for i = 1:n   % 开始循环if p(i) == 0   % 如果第i个元素为0lnp(i) = 0;  % 那么返回的第i个结果也为0elselnp(i) = log(p(i));  endend
end

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

相关文章

改进熵权法

程序名称## 改进熵权法计算(matlab版python版) 程序功能(对象) 适用于对两个及以上的对象进行综合评估;客观赋权法:改进熵权法(输入各评估对象的指标原始值)输出:评估对象的客观权重以及综合评分值对比改进需求:传统熵权法在所有…

评价模型之熵权法

1.算法原理 熵权法是一种客观赋值方法。在具体使用的过程中,熵权法根据各指标的变异程度,利用信息熵计算出各指标的熵权,再通过熵权对各指标的权重进行修正,从而得到较为客观的指标权重。一般来说,若某个指标的信息熵指…

数学建模笔记 Topsis和熵权法

Topsis法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。 ​ Topsis法是一种常用的综合评价方法,其能充分利用原始数据的信息, 其结果能精确…

Topsis与熵权法

定义 熵权法是一种客观赋权方法。 原理:指标的变异程度(方差)越小,所反映的信息量也越少,其对应的权值也应该越低。(客观 数据本身就可以告诉我们权重) 如何度量信息量的大小 通过上面的例子…

数学建模之熵权法——基于Topsis模型

写在前文:懒编是准备参加数学建模,并且负责编程部分(matlab)。因为时间有限,所以目前个人的看法就是以编程学习(因为是小白)为主,模型学习为辅(这里的辅是知道这个模型怎…

Matlab计算熵权法

如需转载,请注明来源,谢谢合作。 若本文对您有一点点的帮助,欢迎点赞、评论和关注。您的鼓励和支持是我继续学习和分享的动力。 **熵权法是一种根据包含各个变量的变异程度进行赋权的方法,是一种客观赋权法。**而直接给定变量权重…

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

目录 一.简介 二.说明 1.正向指标: 2.信息量 3.信息熵 三.具体计算步骤 1.标准化矩阵 1.1该步骤的意义 1.2标准化的2种方法 2.计算各元素概率 3.计算各指标的权重 3.1计算每个指标的信息熵 3.2计算信息效用值 3.3归一化信息效用值 四.总结 一.简介 熵权…

数学建模——熵权法

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

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

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

熵权法 —— matlab

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

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

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

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

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

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

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

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

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

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

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

RecyclerView添加Header的正确方式

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

Android-第七节RecyclerView详解

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

RecyclerView不显示问题

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

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…