假設有 m 個 (n-by-1) 的 column vector 組成矩陣 X= [x1 x2 ... xm],
令 yj = xj - mean(xj)
令 Y = [y1 y2 ... ym]
由定義,cov(X) = (Y')Y,其中 Y' 是 Y的 transpose
Y 的 rank < n ,因為對任意 yj, yj 所有元加總都會等於 0
由 rank(AB) <= min(rank(A), rank(B)) ,得知 cov(X) 的 rank 必須小於 n
另一方面, rank(cov(X)) 可以等於 m
你可以試試 X1 = [1 0 1]', X2 = [0 1 1]'
cov(X) 是個 m-by-m 矩陣, rank(cov(X)) < n
cov(X') 是個 n-by-n 矩陣, rank(cov(X')) < m
假設 n<=m,不難看出這兩個矩陣不可能同時都是 full rank
※ 引述《tren (窗外有藍天)》之銘言:
: 想請教各位先進一個線代的問題:
: 假設x是我的M個N維向量組成的觀測矩陣,
: 我可以用x或x的trasnpose, x', 來計算出兩個covariance matrices.
: 問題是:為何這兩個covariance matrices似乎無法同是full rank?
: 用Matlab/Octave來舉一個具體的例子:
: 1 2
: 以大小來說, x是2*6, c1是6*6, c2是2*2. 然後c1和c2的rank是1與2, 而非2與6.
: 且不管x的大小及其內部數值如何變化, 都有這樣的情況.
: 想請教一下這背後有什麼道理或定理嗎? 謝謝!
--
天下最難的事,就是享受最簡單平凡的日子
而最簡單平凡的日子,往往是天下最單純的幸福
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 216.165.95.79
※ 編輯: microball 來自: 216.165.95.79 (11/11 06:44)
※ 編輯: microball 來自: 216.165.95.79 (11/11 06:46)