熵权法-EWM
熵权法-EWM
背景
一种常见于数学建模的更为客观的分配权重的方法, 因为层次分析法主观性太强,专家打分实际上就是自己瞎几把打,故引入熵权法。
思路
对于一组数据指标,如果它的方差越大,就说明这个数据的相似度越小,就是它所贡献度就越大。极端来看,就如果对于某项指标来讲,他的所有的值是一样的,那么它的相似度是最大的,基于这个指标来进行判别的权重可以直接设为0。熵是不确定度的一种度量,不确定性越大,熵就越大,信息量就越大,它的对最终决策的影响权重应该就设置得更高一些。
举个清风数学建模的例子,小张和小王是两个高中生,小张学习好回回期末考满分,小王学习不好考试常常不及格。在一次考试中,小张还是考了满分,而小王也考了满分。那就很不一样了,小王这里包含的信息就非常大,所对应的权重也就高一些。
定义
信息量
定义信息量为:
\[ I(x) = -\ln(p(x)) \]信息熵 定义信息熵为各信息量的期望值: \[ H(X) = -\sum_{i=1}^{n} p(x_i)\ln(p(x_i)) \] 当所有事件均等时,熵达到最大值:
\[ H(X) = \ln(n) \]
计算步骤
熵权法主要包括以下三个步骤:
数据标准化
假设有个对象和个指标,原始数据构成矩阵(要先正向化):
\[ X = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1m} \\ x_{21} & x_{22} & \cdots & x_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{nm} \end{bmatrix} \]
正向化处理
- 要求:后续计算概率时,每个元素必须为非负值。
- 处理:如果其中存在负数,则需采用特定方法将其标准化到 [0,1] 区间。
指标名称 | 指标特点 | 例子 |
---|---|---|
极大型指标(正向指标) | 越大越好 | 成绩、利润、GDP增速 |
极小型指标(负向指标) | 越小越好 | 花费、污染程度、失业率 |
中间型指标 | 越接近某个值越好 | 水质量评估时的PH值 |
区间型指标 | 落在某个区间最好 | 体温、水中某物质含量 |
- 极小型转极大型:
\[ x_i = \max\{x_1, x_2, ..., x_i\} - x_i \]
注:若所有元素均为正数,可以直接取倒数。
- 中间行转极大型:
中间型指标序列,且最佳数值为 \(x_{best}\),\(x_{new}\) 为正向化之后的极大型指标,正向化公式:
\[ M = \max\{|x_i - x_{best}|\} \]
\[ x_{new} = 1 - \frac{|x_i - x_{best}|}{M} \]
- 区间型转极大型:
区间型指标序列,且最佳数值为 \(x_{best}\),\(x_{new}\) 为正向化之后的极大型指标,正向化公式: \[ M = \max\{a - \min\{x_i\}, \max\{x_i\} - b\} \]
\[ x_{new} = \begin{cases} 1 - \frac{a - x}{M}, & x < a \\ 1, & a \leq x \leq b \\ 1 - \frac{x - b}{M}, & x > b \end{cases} \]
标准化方法
方法一(适用于无负数情况): \[ z_{ij} = \frac{x_{ij}}{\sqrt{\sum_{i=1}^{n} x_{ij}^2}} \]
方法二(存在负数时): \[ z_{ij} = \frac{x_{ij} - \min\{x_{1j}, x_{2j}, \ldots, x_{nj}\}}{\max\{x_{1j}, x_{2j}, \ldots, x_{nj}\} - \min\{x_{1j}, x_{2j}, \ldots, x_{nj}\}} \]
计算概率矩阵
从标准化矩阵出发,计算各样本在每个指标下所占的比重,构成概率矩阵:
\[ p_{ij} = \frac{z_{ij}}{\sum_{i=1}^{n} z_{ij}} \] 这样确保每一列(每个指标)的概率和为1。
计算信息熵与熵权
计算信息熵
计算信息熵:
\[ e_j = -\frac{1}{\ln n} \sum_{i=1}^{n} p_{ij}\ln(p_{ij}) \quad (j=1,2,\ldots,m) \] 注意:当 \(p_{ij}=0\) 时,约定 \(\ln(0)=0\) 。
这里除以 \(\ln n\) 使得 \(e_j\) 被归一化到 \([0,1]\) 区间。
计算信息效用值
定义信息效用值 \(d_j\) 为: \[ d_j = 1 - e_j \] 信息效用值越大,表示该指标包含的信息越多。
归一化得熵权
最终,将各指标的信息效用值归一化,得到熵权 \(\omega_j\): \[ \omega_j = \frac{d_j}{\sum_{j=1}^{m} d_j} \quad (j=1,2,\ldots,m) \]
得分
\[ score_i = \sum_{j=1}^{m} w_{j}z_{ij} \quad (i=1,2,\ldots,n) \]
示例代码
(转自这篇帖子)
1 |
|
扩展
- 修正TOPSIS法:可利用熵权法修正TOPSIS法,使决策更加客观。
- 主客观权重综合:将客观赋权(熵权法)与主观赋权相结合,可获得更合理的权重分配。
- 其他客观赋权方法:例如灰色关联分析法也可作为计算权重的方法。
- 标准化方法选择:不同的标准化方法会得到不同的 (Z) 矩阵,需根据实际情况选择合适方法。
模型总结
- 第一步:检查输入矩阵中是否存在负数,并进行必要的标准化处理,确保数据非负。
- 第二步:计算每个指标下每个样本的比重,构成概率矩阵。
- 第三步:利用概率矩阵计算各指标的信息熵,然后计算信息效用值,最后归一化得到各指标的权重。