一、熵权法基础知识
- 熵值越小越好;
- 熵权法是一种可以用于多对象、多指标的综合评价方法,其评价结果主要是依据客观资料,熵权法几乎不受主观因素的影响。
- 信息熵值越小,权重越大
二、熵权法基本思路
权重大-->提供的信息量大-->指标的变异性大-->信息熵值小
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同学 | 80 | 90 | 90 | 70 | 90 | 90 |
B同学 | 60 | 90 | 100 | 70 | 90 | 80 |
C同学 | 70 | 100 | 90 | 80 | 70 | 70 |
D同学 | 90 | 70 | 80 | 100 | 80 | 80 |
E同学 | 100 | 100 | 80 | 70 | 90 | 60 |
F同学 | 100 | 70 | 70 | 90 | 80 | 80 |
G同学 | 90 | 100 | 90 | 70 | 100 | 80 |
1 数据归一化
均为正向指标
采用
2.计算变异性指标
计算第j项指标下第i方案指标值的比重
3 计算信息熵
计算第j项指标的信息熵值
4 计算信息熵冗余度
计算第j项指标的信息熵冗余度
5 计算各指标权重
计算第j项指标的权重
6 计算综合成绩
计算第i个同学的综合成绩
五、matlab代码
shangquanfa_main.m
代码语言:javascript复制clc;clear;
x=xlsread('熵权法.xlsx');
ind=ones(size(x,2),1);%正向写1,负向写2
[n,m]=size(x);%n个样本,m个指标,数据的归一化处理
for i=1:m
if 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:n
for j=1:m
p(i,j)=X(i,j)/sum(X(:,j));
end
end
%计算第j个指标的熵值e(j)
k=1/log(n);
for j=1:m
e(j)=-k*sum(p(:,j).*log(p(:,j)));
end
g=ones(1,m)-e;%计算信息熵冗余度
w=g./sum(g);%求权值w
s=X*w';%求综合得分
guiyi.m
代码语言:javascript复制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 type
case 1
for j=1:m
y(:,j)=(ymax-ymin)*(x(:,j)-xmin(j))/(xmax(j)-xmin(j)) ymin;
end
case 2
for j=1:m
y(:,j)=(ymax-ymin)*(xmax(j)-x(:,j))/(xmax(j)-xmin(j)) ymin;
end
end
熵权法.xlsx
语文(150) | 数学(150) | 英语(150) | 物理(110) | 化学(100) | 生物(90) | |
---|---|---|---|---|---|---|
A同学 | 80 | 90 | 90 | 70 | 90 | 90 |
B同学 | 60 | 90 | 100 | 70 | 90 | 80 |
C同学 | 70 | 100 | 90 | 80 | 70 | 70 |
D同学 | 90 | 70 | 80 | 100 | 80 | 80 |
E同学 | 100 | 100 | 80 | 70 | 90 | 60 |
F同学 | 100 | 70 | 70 | 90 | 80 | 80 |
G同学 | 90 | 100 | 90 | 70 | 100 | 80 |