熵權法
熵權法是一種客觀賦權方法
。(客觀 = 資料本身就可以告訴我們權重)
依據的原理:指標的變異程度越小,所反映的資訊量也越少,其對應的權值也應該越低。
文章目錄熵權法一、方法介紹二、熵權法的計算步驟三、模型擴充套件(★)四、模型總結
一、方法介紹
熵權法就是根據一項指標的變化程度來分配權重的,舉個例子:小張和小王是兩個高中生,小張學習好回回期末考滿分,小王學習不好考試常常不及格。在一次考試中,小張還是考了滿分,而小王也考了滿分。那就很不一樣了,小王這裡包含的資訊就非常大,所對應的權重也就高一些。
上面的小例子告訴我們:越有可能發生的事情,資訊量越少。越不可能發生的事情,資訊量就越多。其中我們認為
機率
就是衡量事情發生的可能性大小的指標。
那麼把
資訊量
用字母
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 可能發生的情況分別為:
x1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n
x
1
,
x
2
,
⋯
,
x
n
,那麼我們可以定義事件
XX
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
(
x
i
)
I
(
x
i
)
]
=
−
i
=
1
∑
n
[
p
(
x
i
)
ln
(
p
(
x
i
)
)
]
那麼從上面的公式可以看出,資訊上的本質就是對資訊量的期望值。
可以證明的是: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表示事件發生情況的總數)
二、熵權法的計算步驟
熵權法的計算步驟大致分為以下三步:
判斷輸入的矩陣中是否存在負數,如果有則要重新標準化到非負區間(後面計算機率時需要保證每一個元素為非負數)。計算第 j 項指標下第 i 個樣本所佔的比重,並將其看作相對熵計算中用到的機率。計算每個指標的資訊熵,並計算資訊效用值,並歸一化得到每個指標的熵權。
1。 判斷輸入的矩陣中是否存在負數,如果有則要重新標準化到非負區間(後面計算機率時需要保證每一個元素為非負數)。
假設有
nn
n
個要評價的物件,
mm
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=
[
x
11
x
12
⋯
x
1
m
x
21
x
22
⋯
x
2
m
⋮
⋮
⋱
⋮
x
n
1
x
n
2
⋯
x
n
m
]
X
=
⎣
⎢
⎢
⎢
⎡
x
1
1
x
2
1
⋮
x
n
1
x
1
2
x
2
2
⋮
x
n
2
⋯
⋯
⋱
⋯
x
1
m
x
2
m
⋮
x
n
m
⎦
⎥
⎥
⎥
⎤
設標準化矩陣為
ZZ
Z
,
ZZ
Z
中元素記為
zi j z_{ij}
z
i
j
:
zi 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}}}
z
i
j
=
i
=
1
∑
n
x
i
j
2
x
i
j
判斷
ZZ
Z
矩陣中是否存在著負數,如果存在的話,需要對
XX
X
使用另一種標準化方法對矩陣
XX
X
進行一次標準化得到
ZZ
Z
矩陣,其標準化的公式為:
zi 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}
z
i
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
}
x
i
j
−
m
i
n
{
x
1
j
,
x
2
j
,
⋯
,
x
n
j
}
這樣可以保證
zi j z_{ij}
z
i
j
在 [0,1] 區間,沒有負數。
2。 計算第 j 項指標下第 i 個樣本所佔的比重,並將其看作相對熵計算中用到的機率。
假設有
nn
n
個要評價的物件,
mm
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=
[
z
11
z
12
⋯
z
1
m
z
21
z
22
⋯
z
2
m
⋮
⋮
⋱
⋮
z
n
1
z
n
2
⋯
z
n
m
]
Z
=
⎣
⎢
⎢
⎢
⎡
z
1
1
z
2
1
⋮
z
n
1
z
1
2
z
2
2
⋮
z
n
2
⋯
⋯
⋱
⋯
z
1
m
z
2
m
⋮
z
n
m
⎦
⎥
⎥
⎥
⎤
計算機率矩陣
PP
P
,其中
PP
P
中每一個元素
pi j p_{ij}
p
i
j
,的計算公式如下:
pi j = z i j ∑ i = 1 n z i j p_{ij}=\frac{z_{ij}}{\displaystyle\sum_{i=1}^{n}{z_{ij}}}
p
i
j
=
i
=
1
∑
n
z
i
j
z
i
j
保證每一列的加和為1,即每個指標所對應的機率和為1。
3。 計算每個指標的資訊熵,並計算資訊效用值,並歸一化得到每個指標的熵權。
資訊熵的計算:
對於第
jj
j
個指標而言,其資訊嫡的計算公式為:
ej = − 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)
e
j
=
−
ln
n
1
i
=
1
∑
n
p
i
j
ln
(
p
i
j
)
,
(
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
(
x
1
)
=
p
(
x
2
)
=
。
。
。
=
p
(
x
n
)
=
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 個指標的資訊越多還是越少?
答案是越少。當
p1 j = p 2 j = ⋯ = p n j p_{1j} = p_{2j} =\cdots=p_{nj}
p
1
j
=
p
2
j
=
⋯
=
p
n
j
時,
ej e_j
e
j
取到最大值 1 。但是因為
pi j = z i j / ∑ i = 1 n z i j p_{ij} = z_{ij}/\displaystyle\sum_{i=1}^{n}z_{ij}
p
i
j
=
z
i
j
/
i
=
1
∑
n
z
i
j
,所以
z1 j = z 2 j = ⋯ = z n j z_{1j} = z_{2j} =\cdots= z_{nj}
z
1
j
=
z
2
j
=
⋯
=
z
n
j
,即
所有樣本的這個指標值都相同。
指標相同意味著這個指標的資料沒有變化,也就是 資訊少!
因此需要將其倒轉,即計算資訊效用值。
ߑ�
資訊效用值的定義:
dj = 1 − e j d_j=1-e_j
d
j
=
1
−
e
j
那麼資訊效用值越大,其對應的資訊就越多。
將資訊效用值進行歸一化,我們就能夠得到每個指標的 熵權:
ω 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
d
j
d
j
,
(
j
=
1
,
2
,
3
,
⋯
,
m
)
三、模型擴充套件(★)熵權法可對 TOPSIS 法進行修正。熵權法背後的原理是利用指標的變異程度進行賦權,存在一定程度的客觀性,可利用主觀賦權法求得的權重向量進行綜合。客觀賦權法存在很多,求得客觀權重的方法也有很多,其中灰色關聯分析法得到的關聯程度也可當作權重進行應用。不同的標準化方法,可能得到的標準化矩陣
ZZ
Z
存在差異,因此根據實際情況來使用標準化方法,注意前提都是得到的
ZZ
Z
矩陣中沒有負數。四、模型總結
總結一下步驟:
判斷輸入的矩陣中 是否存在負數,如果有則要重新標準化到非負區間(後面計算機率時需要保證每一個元素為非負數)。計算第 j 項指標下第 i 個樣本所佔的比重,並將其看作相對熵計算中用到的 機率。計算每個指標的資訊熵,並計算資訊效用值,並歸一化得到每個指標的熵權。
本文借鑑了數學建模清風老師的課件與思路,如果大家發現文章中有不正確的地方,歡迎大家在評論區留言哦~