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

这里采用的标准化方式是数据归一化方法。
(2)计算信息熵
每个指标的信息熵计算公式为

其中

(3)计算指标权重

(4)计算综合得分

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

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:np(:,j)=data1(:,j)/sum(data1(:,j));
end
for j=1:nE(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 |
| 宿州 | 亳州 | 铜陵 | 六安 | 黄山 | 淮南 | 淮北 | 池州 |
通过排序出的得分结果可以看出:合肥市排在第一位,且得分遥遥领先于其他城市,可见省会城市居民消费水平之高,也侧面反映除了合肥市的经济发展水平更好!
看到这里学会了嘛?那就动手实操作一下吧!














