文章目录
- 熵权法
- 一、模型简介
- 二、例题
- 1. 数据标准化
- 2.指标的熵值和变异程度
- 3.权重与评分
- 4.代码实现
熵权法
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
一、模型简介
从考生成绩说起,下面是张三、李四、王五的成绩,观察这份成绩报,有哪门课程容易拉开差距?有哪门课程不容易拉开差距?
- 熵的概念: 熵是对不确定性的一种度量,可以判断一个事件的随机性和无序性程度。
熵值可以判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。 - 熵的现实意义:
本模型中混乱程度低意味着熵值接近1,评价总成绩时可以给该指标赋予低权重。
也就是在成绩中即使这个课程的成绩不加入到总成绩中也不会影响到排名。相对的,如果混乱程度高,则将这个课程成绩删除时会影响到成绩排名。
- 特点:完全客观,追求公平公正。
二、例题
例:下边是10名学生8门课程的成绩,给出这10名学生评奖学金的评分排序。
1. 数据标准化
1.原因:
(1)评价体系中存在数值越大越好的正向指标和数值越小越好的负向指标。
(2)不同指标(原始数据)数量级有差异。
(3)原始数据中有负值 。
**本例题不需要标准化,但是为了演示,故加上。**
设xij使第i个学生的第j门成绩,本题中所有指标都是正向指标
**正向指标标准化:**
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/fd2ca28a89124019bbf06c5844c2f0c1.png)
负向指标标准化:
标准化后aij值在【0,1】区间内,且数值越大现实意义越好。
2.指标的熵值和变异程度
1.每个评价对象在各个指标上的比重:
可以理解为统计意义上某种情况出现的概率。
2. .熵值:
对于第j个指标(对应一科的一列)其熵值ej:
- 变异系数:
第j个指标的变异系数:gj=1-ej;
显然熵值越大变异系数就越小,代表该指标越有序,该指标的信息量也就越小。
意义分析:
如果变异系数为0就说明所有数据都一样,其信息量为0,也就是在评价体系中去掉该指标不会对评价产生任何影响。
3.权重与评分
计算第j个指标的权重:
指标的变异系数越大,信息量越大,代表了权重越大。
综合评分:
计算第j个评价对象的综合评价值:
对不同科目进行加权求和,评价值越大越好。
4.代码实现
%读取exel
scores=readmatrix('data3-3.xlsx','Range','B2:I11');
%指标标准化
%m是行也就是学生数,n是学科数
[m,n]=size(scores);
%对于学科每列成绩 i是每一列,j是学生
for i=1:n
for j=1:m
score(j,i)=(scores(j,i)-min(scores(:,i)))/(max(scores(:,i))-min(scores(:,i)));
if score(j,i)==0
% 求对数不能为0,故取个极小的数
score(j,i)=0.0001;
end
end
end
%比重:每个人每一科目
p=score./sum(score);
%熵值(每一科的熵值)
e=-sum(p.*log(p))/log(m)
%变异系数
g=1-e;
%权重
w=g/sum(g);
s=w*p'; %计算各个评价对象的综合评价值
[ss,rank]=sort(s,'descend'); %对评价值从大到小排序;descend表示降序
结果: