Matlab学习系列19.-熵值法确定权重
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19. 熵值法确定权重
一、基本原理
在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响(权重)越大,其熵值越小。
二、熵值法步骤
1. 选取n 个国家,m 个指标,则x ij 为第i 个国家的第j 个指标的数值(i=1, 2…,n; j=1, 2,…,m );
2. 指标的归一化处理:异质指标同质化
由于各项指标的计量单位并不统一,因此在用它们计算综合指标前,先要对它们进行标准化处理,即把指标的绝对值转化为相对值,并令ij ij x x ,从而解决各项不同质指标值的同质化问题。而且,由于
正向指标和负向指标数值代表的含义不同(正向指标数值越高越好,负向指标数值越低越好),因此,对于高低指标我们用不同的算法进行数据标准化处理。其具体方法如下
:正向指标:
12'
1212min{,,...,}max{,,...,}
min{,,...,}ij j j nj ij j j nj j j nj x x x x x x x x x x x 负向指标:
12'
1212max{,,...,}max{,,...,}min{,,...,}
j j nj ij ij j j nj j j nj x x x x x x x x x x x 则'ij x 为第i 个国家的第j 个指标的数值(i=1, 2…,n; j=1, 2,…,m )。
为了方便起见,归一化后的数据'
ij
x 仍记为x ij ;3. 计算第j 项指标下第i 个国家占该指标的比重:
1
,1,2...,,1,2...,ij ij n ij
i x p i n j m
x 4. 计算第j 项指标的熵值:
1ln()
n
j ij ij i e k
p p 其中,k=1/ln(n)>0. 满足e j ≥0;
5. 计算信息熵冗余度:
1j j d e ;
6. 计算各项指标的权值:
1
,1,2,...,j j m j
j d w j m
d 7. 计算各国家的综合得分:
1,1,2,...m
i
j ij j s w p i n
三、Matlab 实现
按上述算法步骤,编写
Matlab 函数:shang.m function [s,w]=shang(x)
% 函数shang(), 实现用熵值法求各指标(列)的权重及各数据行的得分