EWM熵权评价法

EWM熵权评价法

  • 熵权评价法
  • 熵权评价法流程图
  • 实例演示
    • 标准化
    • 计算熵值和变异程度
    • 计算权重
    • 计算综合评分
  • 代码
  • 适用赛题

熵权评价法

用熵来评价一份指标的离散程度,并结合熵值来计算权值进行综合评价

熵权评价法流程图

EWM熵权评价法_第1张图片

实例演示

EWM熵权评价法_第2张图片

标准化

为什么要进行标准化,满足什么条件时可以不进行标准化
*评价指标中,仅存在效益性指标,又存在成本性指标
*熵的计算公式中存在对数运算,评价指标中不能出现负值
(要是数据不存在这两种情况,那么就不需要进行数据标准化)
正向指标标准化:
在这里插入图片描述

负向指标标准化:
在这里插入图片描述

计算熵值和变异程度

计算各个评价对象在各个指标中的权重:
在这里插入图片描述

计算熵值:
EWM熵权评价法_第3张图片

计算变异程度:
在这里插入图片描述

计算权重

EWM熵权评价法_第4张图片

计算综合评分

EWM熵权评价法_第5张图片

代码

熵权法
调用excel文件数
注意,excel文件要和代码文件放在同一文件夹下,否则需要绝对路径
只读取数值,用range表明取哪些
clc,clear
score=readmatrix('data3-3.xlsx','range','B2:I11');
指标标准化
本题只有正向指标;若有负向指标,同样套用公式即可

注意:后续求对数,自变量不能为0,故为0时取个0.001即可
[n,m]=size(score);
score2=zeros(n,m);
for j=1:m
    for i=1:n
        score2(i,j)=(score(i,j)-min(score(:,j)))/(max(score(:,j))-min(score(:,j)));
        if score2(i,j)==0
            score2(i,j)=0.0001;   % 求对数不能为0,故取个极小的数
        end
    end
end
求熵和权重和最终评价排名
套公式即可
p=score2./sum(score2);
e=-sum(p.*log(p))/log(n);       
g=1-e; 
w=g/sum(g) %计算权重
s=w*p'; %计算各个评价对象的综合评价值

[ss,rank]=sort(s,'descend') %对评价值从大到小排序;descend表示降序
求得的rank中,第一个元素是9,意味着第一名是序号9同学;第二个元素是1,意味着第二名是序号1同学……

适用赛题

*数据全面,但是缺少文献和主观性判断依据判断指标的影响程度大小

你可能感兴趣的:(建模算法,人工智能,python,算法)