评价模型:熵权法

简介: 评价模型:熵权法

写在前面:

博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。


1.算法原理


熵权法是一种客观赋值方法。在具体使用的过程中,熵权法根据各指标的变异程度,利用信息熵计算出各指标的熵权,再通过熵权对各指标的权重进行修正,从而得到较为客观的指标权重。一般来说,若某个指标的信息熵指标权重确定方法之熵权法越小,表明指标值得变异程度越大,提供的信息量越多,在综合评价中所能起到的作用也越大,其权重也就越大。相反,若某个指标的信息熵指标权重确定方法之熵权法越大,表明指标值得变异程度越小,提供的信息量也越少,在综合评价中所起到的作用也越小,其权重也就越小。


2.算法步骤


(1)数据标准化处理


9facba6747b07e2395b672b42fe52f4c_86ff859d23164c95a40ea2142da6fe2a.png


这里采用的标准化方式是数据归一化方法。


(2)计算信息熵


每个指标的信息熵计算公式为


ac221b4f97ae19bce2aef162abf1d684_cc47f9dbac7c4207bd84f570420871db.png


其中


a5d0bfdc0e94cf6ef79079dad3bacca6_686a7bc6cc974a608c37308923a45b48.png


(3)计算指标权重


bdea32b0b160d2e3a12c7a170868c410_544c70b0ef1d49da91d8b55b2a1b0cf9.png


(4)计算综合得分


c644112c6c01fbbb986869e514e84c00_4ef5a11240344b4a9fdfba8c56e5ca82.png


3.实例分析


表中为2020年安徽省16个地级市11个指标的数据,利用熵权法对这16个地区的经济发展水平进行综合评价。


efd3311e03a231951e6399b3a689b2d0_cb4ac7a324974f3b9d8ae74ee5f19a1a.png


Matlab代码:


clc;clear;
data=xlsread('2020.xlsx');%读取数据
%数据标准化 mapminmax对行进行标准化,所以转置一下
data1=mapminmax(data‘,0.002,0.996); %标准化到0.002-0096之间
data1=data1';
[m,n]=size(data1);
p=zeros(m,n);
for j=1:n
    p(:,j)=data1(:,j)/sum(data1(:,j));
end
for j=1:n
    E(j)=-1/log(m)*sum(p(:,j).*log(p(:,j)));%计算信息熵
end
w=(1-E)/sum(1-E);%计算权重
s=data1*w'%计算得分


综合得分排序结果:

1

2

3

4

5

6

7

8

0.9960

0.3857

0.2494

0.2399

0.2189

0.1845

0.1835

0.1808

合肥

芜湖

滁州

阜阳

马鞍山

宣城

蚌埠

安庆

9

10

11

12

13

14

15

16

0.1203

0.1195

0.1194

0.1157

0.0946

0.0935

0.0842

0.0574

宿州

亳州

铜陵

六安

黄山

淮南

淮北

池州


通过排序出的得分结果可以看出:合肥市排在第一位,且得分遥遥领先于其他城市,可见省会城市居民消费水平之高,也侧面反映除了合肥市的经济发展水平更好!  


目录
相关文章
|
关系型数据库 MySQL 索引
【MySQL 解析】Hash索引和B+树索引对比分析
【1月更文挑战第11天】【MySQL 解析】Hash索引和B+树索引对比分析
|
人工智能 算法 Nacos
Nacos Python SDK 强势来袭,动态管理大模型 Prompt!
Nacos Python SDK——nacos-sdk-python1.0.0 稳定版正式发布啦!
1010 108
|
算法 NoSQL 容器
启发式搜索: A*算法
启发式搜索: A*算法
|
数据可视化 Python
【2024美赛】C题 Problem C: Momentum in Tennis网球运动中的势头 网球问题一python代码
本文提供了使用隐马尔可夫模型对2024美国大学生数学建模竞赛C题"网球运动中的势头"进行问题分析和数学建模的Python代码实现,包括建立状态、状态转移矩阵、发球方优势模型和胜率计算,并以可视化的方式展示了比赛进程中每位球员的预测胜率。
365 4
【2024美赛】C题 Problem C: Momentum in Tennis网球运动中的势头 网球问题一python代码
|
人工智能 JavaScript 前端开发
如何创建一个Vue聊天机器人 – 分步指南
如何创建一个Vue聊天机器人 – 分步指南
如何创建一个Vue聊天机器人 – 分步指南
|
SQL 消息中间件 存储
小象超市(原美团买菜) 的大屏图表
小象超市(原美团买菜) 的大屏图表
695 0
|
Java API 数据库
详细介绍如何使用Spring Boot简化Java Web开发过程。
Spring Boot简化Java Web开发,以轻量级、易用及高度可定制著称。通过预设模板和默认配置,开发者可迅速搭建Spring应用。本文通过创建RESTful API示例介绍其快速开发流程:从环境准备、代码编写到项目运行及集成数据库等技术,展现Spring Boot如何使Java Web开发变得更高效、简洁。
323 1
|
Kubernetes 固态存储 调度
从NodeSelector到NodeAffinity:探索Kubernetes节点亲和性的进化之路
从NodeSelector到NodeAffinity:探索Kubernetes节点亲和性的进化之路
867 0
|
Linux Python Windows
Python更换国内pip源详细教程
Python更换国内pip源详细教程
4389 0

热门文章

最新文章