熵权法与TOPSIS合体

编程入门 行业动态 更新时间:2024-10-21 12:35:48

熵权法与TOPSIS<a href=https://www.elefans.com/category/jswz/34/1596906.html style=合体"/>

熵权法与TOPSIS合体

0 前言

  本文主要分享以下几个方面的内容:

  • 熵权法的来源及原理
  • TOPSIS的原理
  • 为啥这俩哥们可以合体,合体之后有什么奇效?

1 熵权法(EWM-【Entropy Weight Method】)

1.1 熵权法的来源

1.1.1 信息熵的来源

  在分享信息熵来源时,我们先来看看 熵的概念。

  • 1865年,德国物理学家克劳修斯于提出熵的概念
  • 1923年,德国科学家普朗克(Planck)来中国讲学用到"entropy"这个词,胡刚复教授翻译时灵机一动,把“商”字加火旁来意译“entropy”这个字,创造了“熵”字(拼音:shāng)。
  • 1877年左右,玻尔兹曼提出熵的统计物理学解释。证明了系统的宏观物理性质可以认为是所有可能微观状态的等概率统计平均值。
  • 玻尔兹曼提出一个系统的熵和所有可能微观状态的数目满足以下简单关系: S = k B ln ⁡ Ω S=k_B\ln\Omega S=kB​lnΩ
    这个公式称为“玻尔兹曼公式”,其中 k B k_B kB​是玻尔兹曼常数, Ω \Omega Ω则为系统宏观状态中所包含的微观状态总数。

  根据这个公式,我们可以将熵看作是一个系统“混乱程度”的度量,因为一个系统越混乱,可以看作是微观状态分布越均匀。例如,设想有一组 10 10 10个硬币,每一个硬币有两面,掷硬币时得到最有规律的状态是 10 10 10个都是正面或 10 10 10个都是反面,这两种状态都只有一种构型(排列)。反之,如果是最混乱的情况,有5个正面5个反面,排列构型可以有 C 10 5 C_{10}^5 C105​排列组合数,共 252 252 252种。

  玻尔兹曼公式的另一种等价表述形式是 S = − k B ∑ i p i ln ⁡ p i S=-k_B\sum_ip_i\ln p_i S=−kB​i∑​pi​lnpi​

  其中 i i i标记所有可能的微观态, p i p_i pi​表示微观态的出现几率。

  • 1948年,香农将统计物理中熵的概念引申到了信道通信中,从而开创了”信息论“这门学科。香农定义的“熵”又被称为“香农熵”或“信息熵”,即 S ( p 1 , p 2 , ⋯ , p n ) = − K ∑ i = 1 n p i log ⁡ 2 p i S\left(p_1,p_2,\cdots,p_n\right)=-K\sum_{i=1}^np_i\log_2p_i S(p1​,p2​,⋯,pn​)=−Ki=1∑n​pi​log2​pi​

  其中 i i i标记概率空间中所有可能的样本, p i p_i pi​表示该样本的出现几率, K K K是和单位选取相关的任意常数。可以明显看出“信息熵”的定义和“热力学熵”(玻尔兹曼公式)的定义只相差某个比例常数。

1.1.2 信息熵公式的推导

  下面一个例子让您搞明白信息熵公式为什么这样写。
  在分享例子之前,我们首先要接受这样一个设想:即某事情发生的确定性越小,其包含的信息量越大,因为要使该事情发生的确定性变大,我们需要更多的信息去消除这种不确定性。比如现有小王和小红两个人,大家都知道小王动不动就往图书馆跑,小红动不动就TIMI。

期末考试到了,大家都以为小王成绩会很好,小红成绩会很差,但令人意想不到的是小红诚意是班级第一名,而小王成绩也很好。小红的成绩情况是不是包含了很多信息(咦?为啥整天TIMI,确是班级第一,偷摸学习了?作弊了?…),而小王的好成绩大家认为是理所应当的,包含的信息很少。我们知道概率只能在 0 0 0到 1 1 1之间,也就是说,最好在概率为 1 1 1的时候,信息量为 0 0 0,且概率越小,信息量越大。后来人们发现,对数函数很符合这样的规律,某个事件的信息量与概率的关系是 i = log ⁡ ( 1 p ) i=\log(\frac{1}{p}) i=log(p1​),这里的对数是以 2 2 2为底的, p p p是事件发生的概率。
  我们可以把 1 p \frac{1}{p} p1​看成等可能信息数量,虽然我们遇到的更多情况是事件发生的可能性不一样的系统。实际上,我们总是可以把一个事件的概率值转换为一个等可能事件系统中发生某个事件的概率。举例来说,我们总是可以把一个概率值转换为“在N个球中随机摸一个球”这个等可能事件系统中摸出某个球的概率。
  假设中彩票大奖的概率很低,只有两千万分之一,我们可以把这个概率值转换为在两千万个球中摸出中奖球的概率。在这个摸球系统中,就有两千万个等可能事件。说白了就是信息数量就是总可能数,也就是概率值的倒数,即 N = 1 p N = \frac{1}{p} N=p1​ 。
  再举一个例子,假设我们有一个动了手脚的不均匀硬币,它正面朝上的概率是0.8,反面朝上的概率是0.2。
  反面朝上0.2的概率可以想象有5个球的摸球系统中摸出某个球的概率。

  而正面朝上0.8的概率可以想象成在有1.25个球的系统中摸出某个球的概率。

我们通过想象把一个非等概率事件的系统拆成了两个等概率事件的系统。而面对等概率事件系统,我们就可以很容易地计算它们的信息量。再把这两个想象出来的摸球系统的信息量加起来,就是这个不均匀硬币的信息量: log ⁡ 5 + log ⁡ 1.25 \log5+\log1.25 log5+log1.25,由于这两个我们想象出来的等概率系统本身出现的概率也不一样,因此我们需要分别乘上它们出现的概率,得 0.2 ⋅ log ⁡ 5 + 0.8 ⋅ log ⁡ 1.25 0.2\cdot\log5+0.8\cdot\log1.25 0.2⋅log5+0.8⋅log1.25。

  • 如果我们用符号去抽象这些具体的值,就是 p 1 ⋅ log ⁡ 1 p 1 + p 2 ⋅ log ⁡ 1 p 2 ( 1 ) p_1\cdot\log\frac1{p_1}+p_2\cdot\log\frac1{p_2}\quad(1) p1​⋅logp1​1​+p2​⋅logp2​1​(1)
  • 对于有更多事件的一般情况,我们可以这么表示: ∑ i p i log ⁡ 1 p i ( 2 ) \sum_ip_i\log\frac1{p_i}\quad\quad(2) i∑​pi​logpi​1​(2)
  • 整理后就是这个样子:
    ∑ p i log ⁡ 1 p i = ∑ i ( p i ⋅ log ⁡ p i − 1 ) = ∑ i − p i log ⁡ p i ( 3 ) = − ∑ i p i log ⁡ p i \begin{aligned} \sum p_i\log\frac1{p_i}& =\sum_i(p_i\cdot\log p_i^{-1}) \\ &=\sum_i-p_i\log p_i\quad(3) \\ &=-\sum_ip_i\log p_i \end{aligned} ∑pi​logpi​1​​=i∑​(pi​⋅logpi−1​)=i∑​−pi​logpi​(3)=−i∑​pi​logpi​​
  • 最后就得到了香农所提出的信息熵公式: − ∑ i p i log ⁡ p i -\sum_ip_i\log p_i −∑i​pi​logpi​ 。

  我们可以看出,信息熵实际上就是我们给每个概率值想象出来的某个系统的信息量的平均值(平均信息量),或者说是信息量的期望。相信有些眼力超群的读者看出此公式少了个系数 K K K,其实系数 K = 1 log ⁡ n K = \frac{1}{\log{n}} K=logn1​,为什么要系数 K K K非要是它呢?根据琴生不等式可以得出,当 p 1 = p 2 = . . . = p n = 1 n p_1 = p_2 = ... = p_n = \frac{1}{n} p1​=p2​=...=pn​=n1​ 时,公式 − ∑ i p i log ⁡ p i -\sum_ip_i\log p_i −∑i​pi​logpi​ 取得最大值 log ⁡ n \log{n} logn 。所以乘以系数 K K K 其实就是把计算结果控制在区间 [0 , 1] 之间,或者叫它标准熵。

  我觉得这位大佬讲得很好,可以结合着看看。—> 信息熵的前世今生

1.2 熵权法的原理

如何利用信息熵的概念求出各个指标的权重呢?
  一般来说,若某个指标的信息熵越小,表明指标值得变异程度越大,提供的信息量越多,在综合评价中所能起到的作用也越大,其权重也就越大。相反,某个指标的信息熵越大,表明指标值得变异程度越小,提供的信息量也越少,在综合评价中所起到的作用也越小,其权重也就越小。那基于此我们就可以根据信息熵计算各个指标的权重了。

1.2.1 指标正向化

  • 极小型 -> 极大型 : x i = m a x − x x_i=max-x xi​=max−x
    如果所有极小型指标的数据都为整数,那么也可以取倒数进行转换: 1 x \text{如果所有极小型指标的数据都为整数,那么也可以取倒数进行转换:}\frac1x 如果所有极小型指标的数据都为整数,那么也可以取倒数进行转换:x1​
  • 中间型 -> 极大型 :
    { x i } 是一组中间型指标序列,且最佳的数值为 x b e s t , 那么正向化的公式如下 : M = m a x { ∣ x i − x b e s t ∣ } , 转换值计算 x = 1 − ∣ x i − x b e s t ∣ M \begin{aligned}\{x_i\}&\text{是一组中间型指标序列,且最佳的数值为}xbest,\text{那么正向化的公式如下}:\\&M=max\{\mid x_i-x_{best}\mid\},\text{转换值计算}x=1-\frac{\mid x_i-x_{best}\mid}M\end{aligned} {xi​}​是一组中间型指标序列,且最佳的数值为xbest,那么正向化的公式如下:M=max{∣xi​−xbest​∣},转换值计算x=1−M∣xi​−xbest​∣​​
  • 区间型 -> 极大型 :
    KaTeX parse error: Expected 'EOF', got '_' at position 25: …igned}&\text{[x_̲i]是一组区间型指标序列,且最…

1.2.2 标准化处理(消除量纲影响)

假设有 n n n 个要评价的对象, m m m 个评价指标(已经正向化了)构成的正向化矩阵如下:
X = [ x 11 x 12 . . . x 1 m x 21 x 22 . . . x 2 m ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 . . . x n m ] X=\begin{bmatrix} x_{11}&x_{12}&...&x_{1m}\\ x_{21}&x_{22}&...&x_{2m}\\ \vdots&\vdots&\ddots&\vdots\\ x_{n1}&x_{n2}&...&x_{nm} \end{bmatrix} X= ​x11​x21​⋮xn1​​x12​x22​⋮xn2​​......⋱...​x1m​x2m​⋮xnm​​
那么,对其标准化的矩阵记为 Z Z Z , Z Z Z 中的每一个元素: Z i j = x i j / ∑ i = 1 n x i j 2 Z_{ij}=x_{ij}/\sqrt{\sum_{i=1}^nx_{ij}^2} Zij​=xij​/∑i=1n​xij2​
判断 Z Z Z 矩阵中是否存在着负数,如果存在,需要对 X X X 使用另一种标准化方法。
对矩阵 X X X 进行一次标准化得到 Z ~ \widetilde{Z} Z 矩阵,其标准化的公式为:
z ~ i j = x i j − m i n { x 1 j , x 2 j , ⋅ ⋅ ⋅ , x n j } max ⁡ { x 1 j , x 2 j , ⋅ ⋅ ⋅ , x n j } − m i n { x 1 j , x 2 j , ⋅ ⋅ ⋅ , x n j } \tilde{z}_{ij}=\frac{x_{ij}-min\{x_{1j},x_{2j},\cdot\cdot\cdot,x_{nj}\}}{\max\{x_{1j},x_{2j},\cdot\cdot\cdot,x_{nj}\}-min\{x_{1j},x_{2j},\cdot\cdot\cdot,x_{nj}\}} z~ij​=max{x1j​,x2j​,⋅⋅⋅,xnj​}−min{x1j​,x2j​,⋅⋅⋅,xnj​}xij​−min{x1j​,x2j​,⋅⋅⋅,xnj​}​

1.2.3 计算每个元素所占比重(将其看作信息熵里的概率p(x))

假设有 n n n 个要评价的对象, m m m 个评价指标,且经过了上一步处理得到的非负矩阵为:
Z ~ = [ z ~ 11 z ~ 12 . . . z ~ 1 m z ~ 21 z ~ 22 . . . z ~ 2 m ⋮ ⋱ ⋮ z ~ n 1 z ~ n 2 . . . z ~ n m ] \widetilde{Z}=\begin{bmatrix}\widetilde{z}_{11}&\widetilde{z}_{12}&...&\widetilde{z}_{1m}\\\widetilde{z}_{21}&\widetilde{z}_{22}&...&\widetilde{z}_{2m}\\\vdots&&\ddots&\vdots\\\widetilde{z}_{n1}&\widetilde{z}_{n2}&...&\widetilde{z}_{nm}\end{bmatrix} Z = ​z 11​z 21​⋮z n1​​z 12​z 22​z n2​​......⋱...​z 1m​z 2m​⋮z nm​​
  我们计算概率矩阵 P P P, 其中 P P P 中的每一个元素 P i j P_{ij} Pij​ 的计算公式如下:
p i j = z ~ i j ∑ i = 1 n z ~ i j p_{ij}=\frac{\tilde{z}_{ij}}{\sqrt{\sum_{i=1}^n\tilde{z}_{ij}}} pij​=∑i=1n​z~ij​ ​z~ij​​
容易验证: ∑ i = 1 n p i j = 1 \sum_{i=1}^np_{ij}=1 ∑i=1n​pij​=1 ,即保证了每一个指标所对应的概率和为 1 1 1 。

1.2.4 计算每个指标的信息熵e,并求出权重

  • 法一: 通过计算信息冗余度来计算权重

  对于第 j j j 个指标而言。其信息熵计算公式为:
e j = − 1 l n n ∑ i = 1 n p i j l n ( p i j ) ( j = 1 , 2 , ⋯ , m ) e_j=-\frac1{lnn}\sum_{i=1}^np_{ij}ln(p_{ij})\quad\quad(j=1,2,\cdots,m) ej​=−lnn1​i=1∑n​pij​ln(pij​)(j=1,2,⋯,m)
  信息冗余度:
d i = 1 − e i d_i=1-e_i di​=1−ei​
  将信息冗余度归一化,得到每个指标的熵权:
W j = d j ∑ j = 1 m d j ( j = 1 , 2 , ⋯ , m ) W_j=\frac{d_j}{\sum_{j=1}^md_j}\quad\quad(j=1,2,\cdots,m) Wj​=∑j=1m​dj​dj​​(j=1,2,⋯,m)

  • 法二: 通过计算信息熵直接计算权重
    这里k指的是指标个数,即k=m。
    w j = 1 − e j k − Σ e j ( j = 1 , 2 , … , m ) w_j=\frac{1-e_j}{k-\Sigma e_j}(\mathfrak{j}=1,2,\ldots,m) wj​=k−Σej​1−ej​​(j=1,2,…,m)
    其实,两种方式本质上是一样的

1.2.5 最后计算每个方案的综合评分

s i = ∑ j = 1 m w j ⋅ p i j s_i=\sum_{j=1}^mw_j\cdot p_{ij} si​=j=1∑m​wj​⋅pij​

  以上就是熵权法的原理了🌞。

2 TOPSIS的原理(逼近理想解,也叫优劣解距离法)

前面的预处理阶段与熵权法一样,不一样的地方从数据标准化后的部分开始

  经过了正向化处理和标准化处理的评分矩阵Z,里面的数据全部是极大型数据。我们就可以从中取出理想最优解和最劣解。因此我们取出每个指标,即每一列中最大的数,构成理想最优解向量,即
z + = [ z 1 + , z 2 + , … , z n + ] = [ max ⁡ { z 11 , z 21 , … , z n 1 } , max ⁡ { z 12 , z 22 , … , z n 2 } , … , max ⁡ { z 1 m , z 2 m , … , z m n } ] z^{+}=\left[\begin{array}{c}z_{1}^{+},z_{2}^{+},\ldots,z_{n}^{+}\\\end{array}\right]=\left[\max\left\{z_{11},z_{21},\ldots,z_{n1}\right\},\max\left\{z_{12},z_{22},\ldots,z_{n2}\right\},\ldots,\max\left\{z_{1m},z_{2m},\ldots,z_{mn}\right\}\right] z+=[z1+​,z2+​,…,zn+​​]=[max{z11​,z21​,…,zn1​},max{z12​,z22​,…,zn2​},…,max{z1m​,z2m​,…,zmn​}]
  同理,取每一列中最小的数计算理想最劣解向量:
z − = [ z 1 − , z 2 − , … , z m − ] = [ min ⁡ { z 11 , z 21 , … , z n 1 } , min ⁡ { z 12 , z 22 , … , z n 2 } , … , min ⁡ { z 1 m , z 2 m , … , z m } ] z^-=\left[z_1^-,z_2^-,\ldots,z_m^-\right]=\left[\min\left\{z_{11},z_{21},\ldots,z_{n1}\right\},\min\left\{z_{12},z_{22},\ldots,z_{n2}\right\},\ldots,\min\left\{z_{1m},z_{2m},\ldots,z_{m}\right\}\right] z−=[z1−​,z2−​,…,zm−​]=[min{z11​,z21​,…,zn1​},min{z12​,z22​,…,zn2​},…,min{z1m​,z2m​,…,zm​}]
其中 z + 就是 z m a x , z − 就是 z m i n z^+就是z_{max},z^-就是z_{min} z+就是zmax​,z−就是zmin​

  定义第 $i(i = 1,2,…,n) $个评价对象与最大值的距离:
D i + = ∑ j = 1 m ( Z j + − z i j ) 2 D_i^+=\sqrt{\sum_{j=1}^m(Z_j^+-z_{ij})^2} Di+​=j=1∑m​(Zj+​−zij​)2
   定义第 $i(i = 1,2,…,n) $个评价对象与最小值的距离 :
D i − = ∑ j = 1 m ( Z j − − z i j ) 2 D_i^-=\sqrt{\sum_{j=1}^m(Z_j^--z_{ij})^2} Di−​=j=1∑m​(Zj−​−zij​)2

  那么,我们可以计算得出第 i ( i = 1 , 2 , … , n ) i( i = 1,2,…,n) i(i=1,2,…,n)个评价对象未归一化的得分:
S i = D i − D i + + D i − S_i=\frac{D_i^-}{D_i^++D_i^-} Si​=Di+​+Di−​Di−​​
   很明显 0 ≤ S i ≤ 1 0≤Si≤1 0≤Si≤1,且 S i Si Si 越大 D i + Di+ Di+ 越小,即越接近最大值。

以上就是TOPSIS方法的原理了。

3 为啥这俩哥们可以合体,合体之后有什么奇效?

  我们可以回想一下TOPSIS的原理,先求出正负理想解,然后计算每个评价对象与正负理想解的欧式距离(也就是差的平方和,然后开根号),TOPSIS在计算每个评价指标的时候,似乎没有考虑每个指标的重要程度,即默认了每个指标的重要程度是相等的,这显然是不太合理的,所以在此我们就可以进行优化。也就是和熵权法求权重的那一步合体。

有了各个指标的重要程度,就可以得出一个更加合理的评价模型。因为熵权法是基于原始数据计算各个指标的权重的,客观性很强。

模型总结

  Topsis优劣解距离法模型是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。相对于层次分析法而言,Topsis法是解决决策层中数据已知的评价类模型。它可以解决多数据量的题目,数据计算简单易行。但对于各数据量之间的关系,我们需要使用熵权法或层次分析法来建立权重。

  熵权法的原理是指标的变异程度越小,所反映的信息量也越少,其对应的权值也应该越低。因此数据本身就告诉了我们权重。所以说熵权法是一种客观的方法。但就如评价三好学生的例子,只有学习成绩与违纪次数去评价一个学生,使用了熵权法之后,反而违纪次数的权重近于0,显然不符合常理。因此使用此方法后我们需要人工干预,判断一下权重是否合理(如2021年国赛C283论文)。综合来说,在比赛中,对于决策层中数据已知的问题,使用Topsis模型十分合适

解题步骤:

  1. 熵权法确定权重
    1.1 数据标准化
    1.2 求出各指标的信息熵
    1.3 计算各指标的差异系数
    1.4 确定各指标的权重
    1.5 分别用权重乘以归一化后的数据
  2. 将原始矩阵正向化 (变为极大型指标)
  3. 正向化矩阵标准化
  4. 确定最优方案和最劣方案
  5. 计算各评价对象与最优方案、最劣方案的接近程度
  6. 计算各评价对象与最优方案的贴近程度
  7. 根据贴近程度大小进行排序,给出评价结果、
    优点:
  • 避免了数据的主观性,不用通过检验,能够很好的刻画多个影响指标的综合影响力度
  • 评估程序简单,计算过程简单易懂。
  • 对于数据分布及样本量、指标多少无严格限制,既适于小样本资料,也适于多评价单元、多指标的大系统,较为灵活、方便
    缺点:
  • 必须有两个以上的研究对象才可以进行使用
  • 需要的每个指标的数据,对应的权重计算会有一定难度
  • 不确定指标的选取个数为多少适宜,才能够很好刻画指标的影响力度

***以上便是笔者分享的关于熵权法和TOPSIS合体的所有内容了,这是笔者在学习时的一些记录,通过写出来加深对知识的理解程度,希望笔者的分享能够帮助到您,感谢您的观看!***❤️

参考


更多推荐

熵权法与TOPSIS合体

本文发布于:2024-03-23 16:54:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1740574.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:合体   权法   TOPSIS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!