熵值法

熵值是不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。因而利用熵值携带的信息进行权重计算,结合各项指标的变异程度,利用信息熵这个工具,计算出各项指标的权重,为多指标综合评价提供依据。

在进行熵值法之前,如果数据方向不一致时,需要进行提前数据处理,通常为正向化或者逆向化两种处理(统称为数据归一化处理)。

  • 比如:如果有3个指标分别为城市绿化率,城市GDP和城市废气排放量;明显的,城市绿化率,城市GDP这两项数字越大越好,但是城市废气排放量越小越好。因而“城市废气排放量”则需要进行正向化处理。

  • 比如:如果有3个指标分别为城市废气排放量,城市工业烟尘排放量,城市GDP;明显的,城市废气排放量,城市工业烟尘排放量这两项数字越小越好,但是城市GDP越大越好。因而“城市GDP”则需要进行逆向化处理。

除了正向化,逆向化处理外,有时也会有直接取负数,倒数等方式。特别提示:如果数据处理后有负数或者0,在进行熵值法分析时会出现错误,原因在于熵值中的算法中有一项为求对数,负数或者0无法取对数。研究者需要特别注意此点。

在对数据进行处理之后,将处理后的数据进行熵值法分析。通常熵值法的使用场景情况如下:

  • 配合因子分析(或主成分析)得到一级指标权重,进一步使用熵值法计算具体二级指标的权重,最终构建权重体系;

  • 单独使用熵值法进行权重计算。

SPSSAU操作截图如下:

SPSSAU返回结果如下表:

熵值法计算权重结果汇总
信息熵值e 信息效用值d 权重系数w
C1 0.9946 0.0054 42.92%
C2 0.9960 0.0040 32.12%
C3 0.9969 0.0031 24.96%
  • SPSSAU共输出信息熵值e,以及信息效用值d,和权重系数w。信息熵值e和信息效用值d均为中间过程值,研究者可直接忽略。

疑难解惑

  • 出现null值?
  • 熵值法算法中有一个内部处理为求对数,负数或者0无法取对数。如果原始数据中有负数或者0则会出现null值,建议使用筛选样本功能,或者异常值功能将数据处理好后再分析即可。

  • 是否需要对数据量纲化处理,以及如何处理?
  • 如果数据的量纲不同(单位不同),一般需要进行无量纲化处理。无量纲化处理常见处理办法有标准化、归一化等;

  • 建议使用归一化(SPSSAU的生成变量功能),而不使用标准化(原因是标准化会导致非常多的数据出现负数,导致有效样本明显减少)。

  • 如果是使用归一化处理【公式为:(X-Min)/(Max-Min)】,处理后会出现数字0,这会导出结果出现null值;建议分析前先进行筛选,或者直接将数字0设置成null值(SPSSAU的异常值功能)后再进行分析。

  • 对数据正向或逆向化处理,以及如何处理?
  • 如果需要对数据正向或者逆向化处理,请使用SPSSAU生成变量功能。正向化或者逆向化处理均会导致新数据中有数字0,这会导出最终结果出现null值,建议分析前先进行筛选,或者直接将数字0设置成null值(SPSSAU的异常值功能)后再进行分析。

  • 分析出现null值,如何将小于等于0的数据处理成null值?
  • 如果分析结果出现null值,原因是原始数据中有小于或者等于0的原始数据;因此将小于或等于0的数据处理即可。具体操作为:SPSSAU数据处理->异常值功能操作截图如下: