2011-11-22 73 views

回答

4

如果X是一般NxM矩陣,則S=X*X'是每個X與其轉置的列的外積的總和。換句話說,寫作X=[x1,x2,...,xM]S可以寫成

S = ∑_i x_i * x_i' 

所得矩陣S是非負定(即,特徵值是不爲負)。

如果考慮在作爲隨機變量(總N),並且不同的列作爲N維隨機向量的M獨立觀察X一列中的每個元件,然後SNxNsample covariance matrix(由一個常數正常化不同,取決於你的約定)的行。同樣,S=X'*X給出了列的協方差矩陣MxM


如果你現在開始限制通用性和分配特定的屬性,以X,那麼你會開始看到的模式出現爲S結構。例如,如果X是正方形,則具有真實條目並且是orthogonal,然後是S=I,單位矩陣。如果X是正方形,具有複雜條目並且是unitary matrix,則S然後是單位矩陣。

不知道在程序中使用它的具體情況,我會假設他們正在計算協方差矩陣。

+0

我相信身份矩陣是這種情況下感謝所有包括尤達 –

+0

@yoda正確的 - 這是一個寫得很好且有幫助的解釋,但我認爲在幾個地方你已經得到了列和行的困惑。 'S = X * X''是'X'的_rows_的協方差矩陣; 'X'* X'是列的協方差矩陣。也許一個快速編輯可以糾正這一點。 –

+0

@SamRoberts感謝您的支持!我修好了:) – abcd

2

這裏是顯示這是如何相關的協方差矩陣(如@yoda解釋)的例子:

X = randn(5,3);      %# 3 column-vectors each of dimension=5 
X0 = bsxfun(@minus, X, mean(X,2)); %# zero-centered 

C = (X0*X0') ./ (size(X0,2)-1)  %'# sample covariance matrix 
CC = cov(X')      %'# should return the same result