数学建模——熵权法

article/2025/11/10 13:10:42

一、熵权法基础知识

  1. 熵值越小越好;

  2. 熵权法是一种可以用于多对象、多指标的综合评价方法,其评价结果主要是依据客观资料,熵权法几乎不受主观因素的影响。

  3. 信息熵值越小,权重越大

二、熵权法基本思路

权重大-->提供的信息量大-->指标的变异性大-->信息熵值小

1.数据归一化 2.计算指标变异性 3.计算信息熵 4.计算权值

三、熵权法计算步骤

1.数据归一化

由于各项指标计量单位并不统一,因此在计算综合权重前先要对它们进行归一化处理,即把指标的绝对值转化为相对值,并令

正向指标

负向指标

2.计算变异性指标

计算第j项指标下第i方案指标值的比重

 3.计算信息熵

计算第j项指标的信息熵值

 其中k =1/ln(n),满足e>0。

4.计算信息熵冗余度

计算第j项指标的信息熵冗余度

5.计算各指标权重

计算第j项指标的权重

6.计算综合得分

计算第i个评价对象的综合得分

四、应用例题分析

成绩评价 判断下列同学的综合成绩排名

语文(150)数学(150)英语(150)物理(110)化学(100)生物(90)
A同学809090709090
B同学6090100709080
C同学7010090807070
D同学9070801008080
E同学10010080709060
F同学1007070908080
G同学90100907010080

1 数据归一化

均为正向指标

采用

 

2.计算变异性指标

计算第j项指标下第i方案指标值的比重

 

3 计算信息熵

计算第j项指标的信息熵值

 

4 计算信息熵冗余度

计算第j项指标的信息熵冗余度

 

5 计算各指标权重

计算第j项指标的权重

 

6 计算综合成绩

计算第i个同学的综合成绩

 

五、matlab代码

shangquanfa_main.m

clc;clear;
x=xlsread('熵权法.xlsx');
ind=ones(size(x,2),1);%正向写1,负向写2
[n,m]=size(x);%n个样本,m个指标,数据的归一化处理
for i=1:mif ind(i)==1%正向指标归一化X(:,i)=guiyi(x(:,i),1.0,0.002,1);else%负向指标归一化X(:,i)=guiyi(x(:,i),2.0,0.002,1);end
end
%计算第j个指标下,第i个样本占该指标的比重p(i,j)
for i=1:nfor j=1:mp(i,j)=X(i,j)/sum(X(:,j));end
end
%计算第j个指标的熵值e(j)
k=1/log(n);
for j=1:me(j)=-k*sum(p(:,j).*log(p(:,j)));
end
g=ones(1,m)-e;%计算信息熵冗余度
w=g./sum(g);%求权值w
s=X*w';%求综合得分
 

guiyi.m

function y=guiyi(x,type,ymin,ymax)
%实现正向或负向指标归一化,返回归一化后的数据矩阵
%x为原始数据矩阵,一行代表一个样本,每列对应一个指标
%type设定正向指标1,负向指标2
%ymin,ymax为归一化的区间端点
[n,m]=size(x);
y=zeros(n,m);
xmin=min(x);
xmax=max(x);
switch typecase 1for j=1:my(:,j)=(ymax-ymin)*(x(:,j)-xmin(j))/(xmax(j)-xmin(j))+ymin;endcase 2for j=1:my(:,j)=(ymax-ymin)*(xmax(j)-x(:,j))/(xmax(j)-xmin(j))+ymin;end
end

熵权法.xlsx

语文(150)数学(150)英语(150)物理(110)化学(100)生物(90)
A同学809090709090
B同学6090100709080
C同学7010090807070
D同学9070801008080
E同学10010080709060
F同学1007070908080
G同学90100907010080

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

相关文章

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

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

熵权法 —— 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…

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;…

RecyclerView的基本用法

RecyclerView 是一个增强版的ListView&#xff0c;不仅可以实现和ListView同样的效果&#xff0c;还优化了ListView中存在的各种不足之处 ResyslerView 能够实现横向滚动&#xff0c;这是ListView所不能实现的 目前官方更加推荐使用RecyclerView. 1.实现垂直方向的滚动 在 …