超全面的協方差矩陣介紹

閱讀本文需要具備一定的線性代數基礎,通過本文,你將對協方差矩陣有全面的理解。

定義

n個隨機向量:
X=(X1,X2,...,Xn)T\mathbf{X}=(X_1,X_2,...,X_n)^T

兩個隨機向量的協方差:
cov[Xi,Xj]=E[(XiE[Xi])(XjE[Xj])]cov[X_i,X_j]=E[(X_i-E[X_i])(X_j-E[X_j])]

由n*n個協方差組成的協方差矩陣
cov[X,X]=[cov[X1,X1]cov[X1,X2]cov[X1,Xn]cov[X2,X1]cov[X2,X2]cov[X2,Xn]cov[Xn,X1]cov[Xn,X2]cov[Xn,Xn]]cov[\mathbf{X,X}]={\begin{bmatrix} cov[X_1,X_1]& cov[X_1,X_2] & \cdots & cov[X_1,X_n]\\ cov[X_2,X_1] & cov[X_2,X_2] & \cdots & cov[X_2,X_n]\\ \vdots & \vdots & \ddots & \vdots\\ cov[X_n,X_1] & cov[X_n,X_2] & \cdots & cov[X_n,X_n] \end{bmatrix}}

直觀理解

  1. 協方差表示兩個隨機變量之間的線性相關性
  2. 協方差矩陣中的每個元素代表了兩個隨機變量之間的協方差
  3. 協方差矩陣表示一組隨機變量之間的兩兩線性相關性

例子

圖片和示例來源(點擊進入圖片來源

有二維隨機變量x和y,簡便期間,我們對x和y做了去均值處理(xˉ=yˉ=0\bar x=\bar y = 0),所以x和y之間的協方差:cov[x,y]=E[(xxˉ)(yyˉ)]=E[xy]cov[x,y] = E[(x-\bar x)(y-\bar y)]=E[x\cdot y]

如果x和y的聯合分佈多分佈在一三象限,xyx\cdot y多爲正數,則協方差爲正,x和y正相關。

如果x和y的聯合分佈多分佈在二四象限,xyx\cdot y多爲負數,則協方差爲負,x和y負相關。

如果x和y的幾乎均勻地分散在所有象限中,則xyx\cdot y有正有負,均值接近於0,說明x和y之間沒有相關性(只是說沒有線性相關)。

線性相關與非線性相關

若兩個向量的協方差爲0,則兩個向量不具備線性相關性,但它們仍然可能不獨立,因爲可能存在非線性的相關性。

具體的,協方差爲0但不獨立的原因在於:隨機向量x和隨機向量y之間的關係沒有一階分量,只有二階或高階分量(關於一階分量、二級分量等詳見泰勒公式)。

舉個例子(來自知乎匿名用戶):對於隨機變量x和隨機變量y,有x2+y2=1x^2+y^2=1,其幾何關係如下圖:

性質

協方差矩陣是半正定矩陣

半正定矩陣的定義:
設A是實對稱矩陣。如果對任意的實非零列向量x有xTAx0x^TAx≥0,就稱A爲半正定矩陣。
半正定矩陣的性質:

  1. 半正定矩陣的行列式是非負的
  2. 半正定矩陣的特徵值都是非負的

延伸:
實對稱矩陣一定是半正定矩陣
證明:協方差矩陣是半正定的
對任意向量y:
yTΣy=yTE[(Xμ)(Xμ)T]y           =E[yT(Xμ)(Xμ)Ty]                  =E[((Xμ)Ty)T((xμ)Ty)]     =E[(Xμ)Ty2]0y^T\Sigma y = y^TE[(X-\mu)(X-\mu)^T]y \\ \ \ \ \ \ \ \ \ \ \ \ =E[y^T(X-\mu)(X-\mu)^Ty] \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =E[((X-\mu)^Ty)^T((x-\mu)^Ty)] \\ \ \ \ \ \ =E[||(X-\mu)^Ty||^2] \geq 0

正定矩陣的定義:
A是n階方陣,如果對任何非零向量x,都有xTAx>0x^TAx>0,其中xTx^T 表示x的轉置,就稱A正定矩陣
正定矩陣的性質:

  1. 正定矩陣的行列式恆爲正
  2. 正定矩陣的特徵值均爲正

協方差矩陣是實對稱矩陣

實對稱矩陣的性質:

  1. 實對稱矩陣的不同特徵值對應的特徵向量時正交的
  2. 實對稱矩陣的特徵值是實數,特徵向量是實向量
  3. 實對稱矩陣必可對角化,且其相似對角矩陣的對角線元素爲n個特徵值

實對稱矩陣的對角化:
P1AP=P1P=P^{-1}AP = P^{-1}P \wedge=\wedge

其中對角矩陣\wedge的對角元素爲矩陣A的n個特徵值(n個特徵值中可能重複的),P由矩陣A的特徵向量組成。

與其他統計量的關係

與協方差的關係:

  • 協方差矩陣的第i行第j列的元素是第i個隨機向量和第j個隨機向量之間的協方差
  • 從協方差到協方差矩陣是從標量隨機變量到高維隨機向量的推廣

與相關係數矩陣的關係:
相關係數矩陣爲corr(X)corr(\mathbf{X})
corr(X)=(diag(cov(XX)))12 cov(XX) (diag(cov(XX)))12{\displaystyle \operatorname {corr} (\mathbf {X} )={\big (}\operatorname {diag} (cov({\mathbf {X} \mathbf {X} })){\big )}^{-{\frac {1}{2}}}\,cov({\mathbf {X} \mathbf {X}) }\,{\big (}\operatorname {diag} (cov({\mathbf {X} \mathbf {X}) }){\big )}^{-{\frac {1}{2}}}}

延伸:PCA中對協方差矩陣的應用

詳見《圖文並茂的PCA教程》

Python實戰

import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([9, 8, 7, 6, 5, 4, 3, 2, 1])
Sigma = np.cov(x, y)
print(Sigma)
'''輸出:
[[ 7.5 -7.5]
 [-7.5  7.5]]
'''
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章