熵权法(the Entropy Weight Method)以及MATLAB实现
按照信息论基本原理的解释,信息是系统有序程度的一个度量,熵是系统无序程度的一个度量;如果指标的信息熵越小,该指标提供的信息量越小,在综合评价中所起作用理当越小,权重就应该越低。因此,可利用信息熵这个工具,计算出各个指标的权重,为多指标综合评价提供依据。
物理意义
不同意义
- 构建各年份各评价指标的判断矩阵:
- 将判断矩阵进行归一化处理, 得到归一化判断矩阵:
- 根据熵的定义,根据各年份评价指标,可以确定评价指标的熵。
- 定义熵权。定义了第n个指标的熵后,可得到第n个指标的熵权。
- 计算系统的权重值。
MATLAB实现代码如下:
% 初始数据矩阵R
R=xlsread("C:\Users\PC\Desktop\数据.xlsx");
% 输入矩阵的大小,rows为对象个数,cols为指标个数
[rows,cols]=size(R);
k=1/log(rows); % 求k
Rmin = min(R);
Rmax = max(R);
A = max(R) - min(R);
y = R - repmat(Rmin,2033,1);
for j = 1 : size(y,2)
y(:,j) = y(:,j)/A(j);
end
% 求Y(i,j)
S = sum(y,1);
Y = zeros(rows,cols);
for i = 1 : size(Y,2)
Y(:,i) = y(:,i)/S(i);
end
% 初始化lnYij
lnYij=zeros(rows,cols);
% 计算lnYij
for i=1:rows
for j=1:cols
if Y(i,j)==0
lnYij(i,j)=0;
else
lnYij(i,j)=log(Y(i,j));
end
end
end
% 计算熵值Hj
ej=-k*(sum(Y.*lnYij,1));
weights=(1-ej)/(cols-sum(ej));
F = zeros(rows,cols);
for k = 1 : size(R,2)
F(:,k) = weights(k)*y(:,k);
end
format long
% F即为对变量进行熵权法客观赋权后,计算获得的综合评分
F = sum(F,2) ;
熵权法(the Entropy Weight Method)以及MATLAB实现的更多相关文章
- 吴裕雄 python 熵权法确定特征权重
一.熵权法介绍 熵最先由申农引入信息论,目前已经在工程技术.社会经济等领域得到了非常广泛的应用. 熵权法的基本思路是根据各个特征和它对应的值的变异性的大小来确定客观权重. 一般来说,若某个特征的信息熵 ...
- 基于topsis和熵权法
% % X 数据矩阵 % % n 数据矩阵行数即评价对象数目 % % m 数据矩阵列数即经济指标数目 % % B 乘以熵权的数据矩阵 % % Dist_max D+ 与最大值的距离向量 % % Dis ...
- 熵权法原理及matlab代码实现
参考原理博客地址https://blog.csdn.net/u013713294/article/details/53407087 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确 ...
- Python实现客观赋权法
本文从阐述Python实现客观赋权法的四种方式: 一. 熵权法 二. 因子分析权数法(FAM) 三. 主成分分析权数法(PCA) 四. 独立性权系数法 Python实现客观赋权法,在进行赋权前,先导入 ...
- 如何寻找决策最优解?熵权TOPSIS助你科学决策
熵权topsis是一种融合了熵值法与TOPSIS法的综合评价方法.熵值法是一种客观赋值法,可以减少主观赋值带来的偏差:而topsis法是一种常见的多目标决策分析方法,适用于多方案.多对象的对比研究,从 ...
- Python实现熵值法确定权重
本文从以下四个方面,介绍用Python实现熵值法确定权重: 一. 熵值法介绍 二. 熵值法实现 三. Python实现熵值法示例1 四. Python实现熵值法示例2 一. 熵值法介绍 熵值法是计算指 ...
- 大M法(Big M Method)
前面一篇讲的单纯形方法的实现,但程序输入的必须是已经有初始基本可行解的单纯形表. 但实际问题中很少有现成的基本可行解,比如以下这个问题: min f(x) = –3x1 +x2 + x3 s.t. x ...
- 增广拉格朗日乘子法(Augmented Lagrange Method)
转载自:增广拉格朗日乘子法(Augmented Lagrange Method) 增广拉格朗日乘子法的作用是用来解决等式约束下的优化问题, 假定需要求解的问题如下: minimize f(X) s.t ...
- 增强拉格朗日乘子法(Augmented Lagrange Method)
增强拉格朗日乘子法的作用是用来解决等式约束下的优化问题, 假定需要求解的问题如下: minimize f(X) s.t.: h(X)=0 其中,f:Rn->R; h:Rn->Rm 朴素拉格 ...
随机推荐
- HttpMessageNotReadableException
HttpMessageNotReadableException 情况描述: spring boot web项目,尝试使用热部署工具. Controller只写了用来测试异常的方法, 异常处理器去捕获异 ...
- codewars--js--Valid Braces--正则、键值数组
问题描述: Write a function that takes a string of braces, and determines if the order of the braces is v ...
- codewars--js--Roman Numerals Encode
问题描述:(将阿拉伯数字转换成罗马数字) Create a function taking a positive integer as its parameter and returning a st ...
- vue中允许你继续使用swiper的组件 vue-awesome-swiper---切图网
swiper是一个在切图中好用到不行的图片轮播插件,包括3d轮播.h5滑屏等复杂应用都不在话下,到了vue项目一切逻辑完全颠覆了,没有获取dom的概念,还好有 vue-awesome-swiper组件 ...
- 理解一致性Hash算法
简介 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CAR ...
- mysql必知必会--了解SQL
什么是数据库 数据库这个术语的用法很多,但就本书而言,数据库是一个以某种 有组织的方式存储的数据集合.理解数据库的一种最简单的办法是将其 想象为一个文件柜.此文件柜是一个存放数据的物理位置,不管数据是 ...
- SVN仓库备份和迁移
SVN仓库备份和迁移 author: yunqimg(ccxtcxx0) 前言 本文主要是讲 SVN 仓库的全量备份和增量备份,只包括基本操作. 如有疑问请参考 References. 仓库备份 sv ...
- 【python基础语法】多重循环嵌套,函数(第6天课堂笔记)
1.什么是函数?函数有什么作用? 函数都是有特定功能的,都是由一些有特定功能的进行封装完成的 2.已经学过了哪些内置函数?分别有什么作用? print:输出 input:输入 type:查询数据类型 ...
- CSRF防护
CSRF防护 (待完善...)
- 极具性价比优势的工业控制以及物联网解决方案-米尔MYD-C8MMX开发板测评
今天要进行测评的板子是来自米尔电子的MYD-C8MMX开发板.MYD-C8MMX开发板是米尔电子基于恩智浦,i.MX 8M Mini系列嵌入式应用处理器设计的开发套件,具有超强性能.工业级应用.10年 ...