方差是用來度量隨機變量X 與其均值E(X) 的偏離程度。


【隨機變量的協方差】
在概率論和統計中,協方差是對兩個隨機變量聯合分布線性相關程度的一種度量。兩個隨機變量越線性相關,協方差越大,完全線性無關,協方差為零。定義如下:


當X,Y是同一個隨機變量時,XX與其自身的協方差就是XX的方差,可以說方差是協方差的一個特例:




定義相關系數η為:


通過X的方差var(X)與Y的方差var(Y)對協方差cov(X,Y)歸一化,得到相關系數η,η的取值范圍是[−1,1]。1表示完全線性相關,−1表示完全線性負相關,0表示線性無關。線性無關並不代表完全無關,更不代表相互獨立。
【樣本的協方差】
在實際中,通常我們手頭會有一些樣本,樣本有多個屬性,每個樣本可以看成一個多維隨機變量的樣本點,我們需要分析兩個維度之間的線性關系。協方差及相關系數是度量隨機變量間線性關系的參數,由於不知道具體的分布,只能通過樣本來進行估計。
設樣本對應的多維隨機變量為
,樣本集合為
,m為樣本數量。與樣本方差的計算相似,a和b兩個維度樣本的協方差公式為,其中1⩽a⩽n
,1⩽b⩽n,n為樣本維度:






這里分母為m−1是因為隨機變量的數學期望未知,以樣本均值代替,自由度減一。
【多維隨機變量的協方差矩陣】對多維隨機變量
,我們往往需要計算各維度兩兩之間的協方差,這樣各協方差組成了一個n×n 的矩陣,稱為協方差矩陣。協方差矩陣是個對稱矩陣,對角線上的元素是各維度上隨機變量的方差。我們定義協方差矩陣為 Σ,這個符號與求和 ∑相同,需要根據上下文區分。矩陣內的元素Σij為:




這樣這個矩陣為:



【樣本的協方差矩陣】
與上面的協方差矩陣相同,只是矩陣內各元素以樣本的協方差替換。樣本集合為
,m為樣本數量,所有樣本可以表示成一個n×m 的矩陣。我們以
表示樣本的協方差矩陣,與Σ區分。







公式中m 為樣本數量,x¯為樣本的均值,是一個列向量,x⋅j 為第 j 個樣本,也是一個列向量。
在寫程序計算樣本的協方差矩陣時,我們通常用后一種向量形式計算。一個原因是代碼更緊湊清晰,另一個原因是計算機對矩陣及向量運算有大量的優化,效率高於在代碼中計算每個元素。
需要注意的是,協方差矩陣是計算樣本不同維度之間的協方差,而不是對不同樣本計算,所以協方差矩陣的大小與維度相同。
【Reference】