熵是对不确定性的一种度量,信息量越大,不确定性越小,熵越小。当用熵值判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。
熵值越小,指标的离散程度越大,该指标对综合评价的影响 (即权重) 越大。
问题背景
mcm2012A 葡萄酒评价,给出了葡萄酒的大量指标,希望将影响葡萄酒质量的指标数量减小。
步骤
step1:
初始数据矩阵$x = (x_{ij}){m \times n}$,表示第i号葡萄酒的第j项指标的数值,先将各指标归一化处理,然后计算$x{ij}$在第j项指标的比重$p_{ij}$:
$$p_{ij} = x_{ij}/\sum_{i=1}^m x_{ij}$$
step2:
计算第j各指标的熵值$e_{j}$:
$$e_{j} = -k\sum_{i=1}^mp_{ij} \ln p_{ij}$$
其中 k > 0 , $e_j>=0$,当$x_{ij}$对于给定的$j$全部相等时,$e_{j}$有最大值,此时:
$$p_{ij} = \frac1 m$$
$$e_j(x)|{max}=-k\sum{i = 1}^m \frac 1 m \ln \frac 1 m=k\ln m$$
令 $k = \frac1 {\ln m}$,则有$0<=e_{j}<=1$.
step3:
定义差异性系数:
$g_{j} = 1-e_{j}$,该值越大,说明该指标越重要。
熵值越小,指标的离散程度越大,该指标对综合评价的影响 (即权重) 越大。
step4:
定义权重:$a_{j} = g_{j}/\sum_{i = 1}^mg_{j}$
可用于评价问题的客观赋权。
step5:
对权值排序后,从大到小可以进行累加求和,得到前$m$个成分的累计贡献率$G(m) = \sum_{j=1}^ma_{j}$,取前80%即可反应大部分指标的影响,从而达到指标剔除的效果。
适用范围
熵值用于赋权时,一般构建两级评价体系,上层可能需要结合专家经验来构建,而底层的指标分的比较细,权重比较难确定,这种情况下采用熵值法比较合适。
该方法没有考虑指标与指标间的相关性。
确定权重前需要确定指标对目标得分的影响方向,对非线性的指标要进行预处理或者剔除。
参考代码
1 | load shang_datas |
1 | function [s,w]=shang(x,ind) |
1 | function y=guiyi(x,type,ymin,ymax) |