協方差的定義

http://blog.csdn.net/ybdesire/article/details/6270328/.net

協方差的定義blog

 

 

對於通常的分佈,直接代入E(X)之類的就能夠計算出來了,但真給你一個具體數值的分佈,要計算協方差矩陣,根據這個公式來計算,還真不容易反應過來。網上值得參考的資料也很少,這裏用一個例子說明協方差矩陣是怎麼計算出來的吧。get

記住,X、Y是一個列向量,它表示了每種狀況下每一個樣本可能出現的數。好比給定方法

 

則X表示x軸可能出現的數,Y表示y軸可能出現的。注意這裏是關鍵,給定了4個樣本,每一個樣本都是二維的,因此只可能有X和Y兩種維度。因此matlab

 

 

 

 

用中文來描述,就是:co

協方差(i,j)=(第i列的全部元素-第i列的均值)*(第j列的全部元素-第j列的均值)源代碼

這裏只有X,Y兩列,因此獲得的協方差矩陣是2x2的矩陣,下面分別求出每個元素:中文

 

       因此,按照定義,給定的4個二維樣本的協方差矩陣爲:ab

 

 

    

用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中還給出了計算協方差矩陣的源代碼,很是簡潔易懂,在此感謝一下!

相關文章
相關標籤/搜索