當前位置:首頁 > 教育 > 正文

熵權法(客觀賦權法)超詳細解析

熵權法

  熵權法是一種客觀賦權方法。(客觀 = 數據本身就可以告訴我們權重)

  依據的原理:指标的變異程度越小,所反映的信息量也越少,其對應的權值也應該越低。


文章目錄

一、方法介紹

  熵權法就是根據一項指标的變化程度來分配權重的,舉個例子:小張和小王是兩個高中生,小張學習好回回期末考滿分,小王學習不好考試常常不及格。在一次考試中,小張還是考了滿分,而小王也考了滿分。那就很不一樣了,小王這裡包含的信息就非常大,所對應的權重也就高一些。

  上面的小例子告訴我們:越有可能發生的事情,信息量越少。越不可能發生的事情,信息量就越多。其中我們認為 概率 就是衡量事情發生的可能性大小的指标。

  那麼把 信息量 用字母 I \bf I I 表示,概率 用 p \bf p p 表示,那麼我們可以将它們建立一個函數關系:
熵權法(客觀賦權法)超詳細解析
  那麼,假設 x 表示事件 X 可能發生的某種情況,p(x)表示這種情況發生的概率情況如上圖所示,該圖像可以用對數函數進行拟合,那麼最終我們可以定義: I ( x ) = − ln ⁡ ( p ( x ) ) I(x) = -\ln(p(x)) I(x)=−ln(p(x)),因為 0 ≤ p ( x ) ≤ 1 0 ≤ p(x) ≤ 1 0≤p(x)≤1,所以 I ( x ) ≥ 0 I(x) ≥ 0 I(x)≥0。 接下來引入正題:


信息熵的定義

  假設 x 表示事件 X 可能發生的某種情況,p(x) 表示這種情況發生的概率我們可以定義: I ( x ) = − ln ⁡ ( p ( x ) ) I(x)=-\ln(p(x)) I(x)=−ln(p(x)) ,因為 0 ≤ p ( x ) ≤ 1 0≤p(x)≤1 0≤p(x)≤1 ,所以 I ( x ) ≥ 0 I(x)≥0 I(x)≥0 。 如果事件 X 可能發生的情況分别為: x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​ ,那麼我們可以定義事件 X X X 的信息熵為:

H ( X ) = ∑ i = 1 n [ p ( x i ) I ( x i ) ] = − ∑ i = 1 n [ p ( x i ) ln ⁡ ( p ( x i ) ) ] H(X)=\sum_{i=1}^{n}[p(x_i)I(x_i)]=-\sum_{i=1}^{n}[p(x_i)\ln(p(x_i))] H(X)=i=1∑n​[p(xi​)I(xi​)]=−i=1∑n​[p(xi​)ln(p(xi​))]

那麼從上面的公式可以看出,信息上的本質就是對信息量的期望值。

可以證明的是: p ( x 1 ) = p ( x 1 ) = ⋯ = p ( x n ) = 1 / n \ p(x_1)=p(x_1)=\cdots = p(x_n) = {1}/{n} p(x1​)=p(x1​)=⋯=p(xn​)=1/n 時, H ( x ) H(x) H(x) 取最大值,此時 H ( x ) = ln ⁡ ( n ) H(x)=\ln(n) H(x)=ln(n)。 (n表示事件發生情況的總數)


二、熵權法的計算步驟

熵權法的計算步驟大緻分為以下三步:

  1. 判斷輸入的矩陣中是否存在負數,如果有則要重新标準化到非負區間(後面計算概率時需要保證每一個元素為非負數)。
  2. 計算第 j 項指标下第 i 個樣本所占的比重,并将其看作相對熵計算中用到的概率。
  3. 計算每個指标的信息熵,并計算信息效用值,并歸一化得到每個指标的熵權。

1. 判斷輸入的矩陣中是否存在負數,如果有則要重新标準化到非負區間(後面計算概率時需要保證每一個元素為非負數)。

假設有 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= [x11x12⋯x1mx21x22⋯x2m⋮⋮⋱⋮xn1xn2⋯xnm]

X=⎣⎢⎢⎢⎡​x11​x21​⋮xn1​​x12​x22​⋮xn2​​⋯⋯⋱⋯​x1m​x2m​⋮xnm​​⎦⎥⎥⎥⎤​

設标準化矩陣為 Z Z Z, Z Z Z 中元素記為 z i j z_{ij} zij​:

z i j = x i j ∑ i = 1 n x i j 2 z_{ij}=\frac{x_{ij}}{\sqrt{\displaystyle\sum_{i=1}^{n}{x_{ij}^2}}} zij​=i=1∑n​xij2​ ​xij​​

判斷 Z Z Z 矩陣中是否存在着負數,如果存在的話,需要對 X X X 使用另一種标準化方法對矩陣 X X X 進行一次标準化得到 Z Z Z 矩陣,其标準化的公式為:

z i j = x i j − m i n { x 1 j , x 2 j , ⋯   , x n j } m a x { x 1 j , x 2 j , ⋯   , x n j } − m i n { x 1 j , x 2 j , ⋯   , x n j } z_{ij}=\frac{x_{ij} - min\lbrace x_{1j}, x_{2j},\cdots, x_{nj}\rbrace}{max\lbrace x_{1j}, x_{2j},\cdots, x_{nj} \rbrace - min\lbrace x_{1j}, x_{2j},\cdots, x_{nj} \rbrace} zij​=max{x1j​,x2j​,⋯,xnj​}−min{x1j​,x2j​,⋯,xnj​}xij​−min{x1j​,x2j​,⋯,xnj​}​

這樣可以保證 z i j z_{ij} zij​ 在 [0,1] 區間,沒有負數。


2. 計算第 j 項指标下第 i 個樣本所占的比重,并将其看作相對熵計算中用到的概率。

假設有 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 ] Z= [z11z12⋯z1mz21z22⋯z2m⋮⋮⋱⋮zn1zn2⋯znm]

Z=⎣⎢⎢⎢⎡​z11​z21​⋮zn1​​z12​z22​⋮zn2​​⋯⋯⋱⋯​z1m​z2m​⋮znm​​⎦⎥⎥⎥⎤​

計算概率矩陣 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{z_{ij}}{\displaystyle\sum_{i=1}^{n}{z_{ij}}} pij​=i=1∑n​zij​zij​​

保證每一列的加和為1,即每個指标所對應的概率和為1。


3. 計算每個指标的信息熵,并計算信息效用值,并歸一化得到每個指标的熵權。

信息熵的計算:
對于第 j j j 個指标而言,其信息嫡的計算公式為:

e j = − 1 ln ⁡ n ∑ i = 1 n p i j ln ⁡ ( p i j ) , ( j = 1 , 2 , ⋯   , m ) e_j=-\frac{1}{\ln n}\sum_{i=1}^{n}{p_{ij}}\ln(p_{ij}), \quad(j=1,2,\cdots,m) ej​=−lnn1​i=1∑n​pij​ln(pij​),(j=1,2,⋯,m)


這裡要說明兩個問題:
1. 為什麼這裡要除以 ln ⁡ ( n ) \ln(n) ln(n) 這個常數?
在前面說過 p ( x 1 ) = p ( x 2 ) = . . . = p ( x n ) = 1 / n p(x_1)=p(x_2)=...=p(x_n)=1/n p(x1​)=p(x2​)=...=p(xn​)=1/n 時, H ( x ) H(x) H(x) 取最大值為 ln ⁡ ( n ) \ln(n) ln(n),這裡除以 ln ⁡ ( n ) \ln(n) ln(n) 能夠使得信息嫡的始終位于 [0,1] 區間上面。

2. ej 越大,即第 j 個指标的信息嫡越大,表明第 j 個指标的信息越多還是越少?
答案是越少。當 p 1 j = p 2 j = ⋯ = p n j p_{1j} = p_{2j} =\cdots=p_{nj} p1j​=p2j​=⋯=pnj​ 時, e j e_j ej​ 取到最大值 1 。但是因為 p i j = z i j / ∑ i = 1 n z i j p_{ij} = z_{ij}/\displaystyle\sum_{i=1}^{n}z_{ij} pij​=zij​/i=1∑n​zij​ ,所以 z 1 j = z 2 j = ⋯ = z n j z_{1j} = z_{2j} =\cdots= z_{nj} z1j​=z2j​=⋯=znj​,即 所有樣本的這個指标值都相同。 指标相同意味着這個指标的數據沒有變化,也就是 信息少! 因此需要将其倒轉,即計算信息效用值。


信息效用值的定義:

d j = 1 − e j d_j=1-e_j dj​=1−ej​

那麼信息效用值越大,其對應的信息就越多。

将信息效用值進行歸一化,我們就能夠得到每個指标的 熵權 :

ω j = d j ∑ j = 1 m d j , ( j = 1 , 2 , 3 , ⋯   , m ) \omega_j=\frac{d_j}{\displaystyle\sum_{j=1}^{m}d_j},\quad(j=1,2,3,\cdots,m) ωj​=j=1∑m​dj​dj​​,(j=1,2,3,⋯,m)


三、模型擴展 ()
  1. 熵權法可對 TOPSIS 法進行修正。
  2. 熵權法背後的原理是利用指标的變異程度進行賦權,存在一定程度的客觀性,可利用主觀賦權法求得的權重向量進行綜合。
  3. 客觀賦權法存在很多,求得客觀權重的方法也有很多,其中灰色關聯分析法得到的關聯程度也可當作權重進行應用。
  4. 不同的标準化方法,可能得到的标準化矩陣 Z Z Z 存在差異,因此根據實際情況來使用标準化方法,注意前提都是得到的 Z Z Z 矩陣中沒有負數。

四、模型總結

總結一下步驟:

  1. 判斷輸入的矩陣中 是否存在負數,如果有則要重新标準化到非負區間(後面計算概率時需要保證每一個元素為非負數)。
  2. 計算第 j 項指标下第 i 個樣本所占的比重,并将其看作相對熵計算中用到的 概率。
  3. 計算每個指标的信息熵,并計算信息效用值,并歸一化得到每個指标的熵權。

本文借鑒了數學建模清風老師的課件與思路,如果大家發現文章中有不正确的地方,歡迎大家在評論區留言哦~

你可能想看:

有話要說...

取消
掃碼支持 支付碼