|
[size=1.25]概率 P(x) 越小,信息量 I(x) 越大,原先掌握的信息不靠谱; [size=1.25]概率 P(x) 越大,信息量 I(x) 越小,原先掌握的信息很靠谱。 [size=1.25]所以定义 I(x) = -\ln(p(x))。 [size=1.25]file:///C:/Users/19339/Desktop/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E4%B9%8B%E7%86%B5%E6%9D%83%E6%B3%95/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E4%B9%8B%E7%86%B5%E6%9D%83%E6%B3%95.assets/image-20250201100452894.png?lastModify=1738488514 [size=1.25]熵权法:是一种可以对多对象、多指标进行综合评价的方法,其评价依据来源于数据本身,几乎不受主观因素的干扰。 [size=1.25]它的基本思想是:信息熵小 \Rightarrow 得到的信息少,掌握的信息多 \Rightarrow 这组信息更常规 \Rightarrow 权重大。
[size=1.25]设事傔 X 可能发生的情况分别为:x_1, x_2, \dots, x_n,定义事傔 X 的信息熵为: [size=1.25]H(X) = -\sum_{i=1}^{n} p(x_i) \ln(p(x_i)) [size=1.25]这个公式可以看出,信息熵的本质就是对信息量的期望值。 [size=1.25]信息熵 H(X) = \sum_{i=1}^{n} [p(x_i) I(x_i)] = - \sum_{i=1}^{n} [p(x_i) \ln(p(x_i))]. [size=1.25]当且仅当 p(x_1) = p(x_2) = \cdots = p(x_n) = \frac{1}{n} 时,H(X) 取最大值,此时 H(X) = \ln n。也就是说, [size=1.25]信息量的期望值最大时,掌握的信息量最少。 第一步:正向化处理类型特点举例
极大型/效益型指标数值越大越好就业率、GDP、收入
极小型/成本型指标数值越小越好负债率、恩格尔系数
中间型指标越接近某个值越好黄金比例、满座率、水质pH值
区间型指标落在某个区间最好的财富差距、生育率[size=1.25]正向化的方法并不唯一,选择合适的即可,只要能转成极大型指标都可以。 [size=1.25]file:///C:/Users/19339/Desktop/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E4%B9%8B%E7%86%B5%E6%9D%83%E6%B3%95/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E4%B9%8B%E7%86%B5%E6%9D%83%E6%B3%95.assets/image-20250201102027784.png?lastModify=1738488514 极小型转极大型:[size=1.25]这个数值应该是越小越好,所以可以用 \max - x,或者 \frac{1}{x} (x > 0)。 中间型转极大型:[size=1.25]数值不要太大也不要太小,越接近某个值最好,如 \langle x_i \rangle 是一组中间型指标的序列,且最佳的数值为 x_{best}, [size=1.25]那么可以这样正向化: [size=1.25]先取这个序列中最大差距值 M = \max \{|x_i - x_{best}|\},再令各元素 \tilde{x}_i = 1 - \frac{|x_i - x_{best}|}{M}。 区间型转极大型:[size=1.25]数值不要太大也不要太小,落在某个区间最好,如人体温度值落在 36 \sim 37^\circ C 最好。 [size=1.25]设对于一组区间型指标 \{x_i\} 其最佳区间为 [a, b],那么可以这样正向化: [size=1.25]首先计算最大值边界的最大距离 M = \max\{a - \min{x_i}, \max{x_i} - b\},再令各元素 \tilde{x}_i 为: [size=1.125]$$
\tilde{x}_i = \begin{cases} 1 - \frac{a - x_i}{M}, & x_i < a \\1, & a \leq x_i \leq b \\1 - \frac{x_i - b}{M}, & x_i > b\end{cases}
$$
第二步:标准化处理[size=1.25]设有n个评价对象,m个评价指标(已正向化),构成矩阵:X: [size=1.125]$$
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}
$$
[size=1.25]设标准化的矩阵为Z,那么Z中的每一个元素为: [size=1.125]$$
z_{ij} = \frac{x_{ij}}{\sqrt{\sum_{i=1}^{n} x_{ij}^2}}
$$
[size=1.25]如果其中有负元素,则令: [size=1.125]$$
\tilde{z}_{ij} = \frac{x_{ij} - \min \{ x_{1j}, x_{2j}, \dots, x_{nj} \}}{\max \{ x_{1j}, x_{2j}, \dots, x_{nj} \} - \min \{ x_{1j}, x_{2j}, \dots, x_{nj} \}}
$$
[size=1.25]得到标准化矩阵\tilde{Z}: [size=1.125]$$
\tilde{Z} = \begin{bmatrix}\tilde{z}_{11} & \tilde{z}_{12} & \cdots & \tilde{z}_{1m} \\\tilde{z}_{21} & \tilde{z}_{22} & \cdots & \tilde{z}_{2m} \\\vdots & \vdots & \ddots & \vdots \\\tilde{z}_{n1} & \tilde{z}_{n2} & \cdots & \tilde{z}_{nm}\end{bmatrix}
$$
[size=1.25]其实正向化后就可以保证标准矩阵不为负了,但为了严谨一些,我们还是照书上讲解,代码里最好也加上判断逻辑。 第三步:计算信息熵和熵权[size=1.25]计算信息熵 e_j = - \frac{1}{lnn} \sum_{i=1}^{n} p_{ij} \ln(p_{ij}) (j = 1, 2, \dots, m),把结果规范到 [0, 1] 之间。 [size=1.25]信息效用值:d_j = 1 - e_j [size=1.25]再将信息效用值归一化就是熵权:W_j = \frac{d_j}{\sum_{j=1}^{m} d_j} (j = 1, 2, \dots, m)
|