轉載:(221條消息) 協方差矩陣的計算及意義_hi_linda的博客-CSDN博客_協方差矩陣計算
聲明:博文轉自https://blog.csdn.net/mr_hhh/article/details/78490576
一、首先看一個比較簡潔明了的協方差計算介紹:
1. 協方差定義
X、Y 是兩個隨機變量,X、Y 的協方差 cov(X, Y) 定義為:
其中,
2. 協方差矩陣定義
矩陣中的數據按行排列與按列排列求出的協方差矩陣是不同的,這里默認數據是按行排列。即每一行是一個observation(or sample),那么每一列就是一個隨機變量。
協方差矩陣:
協方差矩陣的維度等於隨機變量的個數,即每一個 observation 的維度。在某些場合前邊也會出現 1 / m,而不是 1 / (m - 1).
3. 求解協方差矩陣的步驟
舉個例子,矩陣 X 按行排列:
1. 求每個維度的平均值
2. 將 X 的每一列減去平均值
其中:
3. 計算協方差矩陣
---------------------
作者:Rise_1024
來源:CSDN
原文:https://blog.csdn.net/mr_hhh/article/details/78490576
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
二、再來看一下協方差矩陣的意義:
協方差代表的意義是什么?
在概率論中,兩個隨機變量 X 與 Y 之間相互關系,大致有下列3種情況:
情況一,如上, 當 X, Y 的聯合分布像上圖那樣時,我們可以看出,大致上有: X 越大 Y 也越大, X 越小 Y 也越小,這種情況,我們稱為“正相關”。
情況二, 如上圖, 當X, Y 的聯合分布像上圖那樣時,我們可以看出,大致上有:X 越大Y 反而越小,X 越小 Y 反而越大,這種情況,我們稱為“負相關”。
情況三,如上圖, 當X, Y 的聯合分布像上圖那樣時,我們可以看出:既不是X 越大Y 也越大,也不是 X 越大 Y 反而越小,這種情況我們稱為“不相關”。
怎樣將這3種相關情況,用一個簡單的數字表達出來呢?
在圖中的區域(1)中,有 X>EX ,Y-EY>0 ,所以(X-EX)(Y-EY)>0;
在圖中的區域(2)中,有 X<EX ,Y-EY>0 ,所以(X-EX)(Y-EY)<0;
在圖中的區域(3)中,有 X<EX ,Y-EY<0 ,所以(X-EX)(Y-EY)>0;
在圖中的區域(4)中,有 X>EX ,Y-EY<0 ,所以(X-EX)(Y-EY)<0。
當X 與Y 正相關時,它們的分布大部分在區域(1)和(3)中,小部分在區域(2)和(4)中,所以平均來說,有E(X-EX)(Y-EY)>0 。
當 X與 Y負相關時,它們的分布大部分在區域(2)和(4)中,小部分在區域(1)和(3)中,所以平均來說,有(X-EX)(Y-EY)<0 。
當 X與 Y不相關時,它們在區域(1)和(3)中的分布,與在區域(2)和(4)中的分布幾乎一樣多,所以平均來說,有(X-EX)(Y-EY)=0 。
所以,我們可以定義一個表示X, Y 相互關系的數字特征,也就是協方差
cov(X, Y) = E(X-EX)(Y-EY)
當 cov(X, Y)>0時,表明 X與Y 正相關;
當 cov(X, Y)<0時,表明X與Y負相關;
當 cov(X, Y)=0時,表明X與Y不相關。
這就是協方差的意義。
三、此部分進行更系統的說明:
聲明:博文轉自 https://blog.csdn.net/ybdesire/article/details/6270328
協方差的定義
對於一般的分布,直接代入E(X)之類的就可以計算出來了,但真給你一個具體數值的分布,要計算協方差矩陣,根據這個公式來計算,還真不容易反應過來。網上值得參考的資料也不多,這里用一個例子說明協方差矩陣是怎么計算出來的吧。
記住,X、Y是一個列向量,它表示了每種情況下每個樣本可能出現的數。比如給定
則X表示x軸可能出現的數,Y表示y軸可能出現的。注意這里是關鍵,給定了4個樣本,每個樣本都是二維的,所以只可能有X和Y兩種維度。所以
用中文來描述,就是:
協方差(i,j)=(第i列的所有元素-第i列的均值)*(第j列的所有元素-第j列的均值)
這里只有X,Y兩列,所以得到的協方差矩陣是2x2的矩陣,下面分別求出每一個元素:
所以,按照定義,給定的4個二維樣本的協方差矩陣為:
用matlab計算這個例子
z=[1,2;3,6;4,2;5,2]
cov(z)
ans =
2.9167 -0.3333
-0.3333 4.0000
可以看出,matlab計算協方差過程中還將元素統一縮小了3倍。所以,協方差的matlab計算公式為:
協方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(樣本數-1)
下面在給出一個4維3樣本的實例,注意4維樣本與符號X,Y就沒有關系了,X,Y表示兩維的,4維就直接套用計算公式,不用X,Y那么具有迷惑性的表達了。
(3)與matlab計算驗證
Z=[1 2 3 4;3 4 1 2;2 3 1 4]
cov(Z)
ans =
1.0000 1.0000 -1.0000 -1.0000
1.0000 1.0000 -1.0000 -1.0000
-1.0000 -1.0000 1.3333 0.6667
-1.0000 -1.0000 0.6667 1.3333
可知該計算方法是正確的。我們還可以看出,協方差矩陣都是方陣,它的維度與樣本維度有關(相等)。參考2中還給出了計算協方差矩陣的源代碼,非常簡潔易懂,在此感謝一下!
參考:
[1] http://en.wikipedia.org/wiki/Covariance_matrix
[2] http://www.cnblogs.com/cvlabs/archive/2010/05/08/1730319.html
---------------------
作者:ybdesire
來源:CSDN
原文:https://blog.csdn.net/ybdesire/article/details/6270328
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!