官术网_书友最值得收藏!

2.3 數據矩陣

列方向數據矩陣Xn行,q列)每一行看作是一個觀察點,每一列代表一個維度;即X數據矩陣為q元隨機數矩陣,有n個觀察點。圖2.12展示三維直角坐標系中三維數據(q = 3)。必須指出,雖然數據在直角坐標系中呈現,但這并不意味著數據列向量正交,即列方向線性相關性為0。數據列向量之間相關性要借助統計學工具來確定。

圖2.12 在三維直角坐標系表達X

為配合MATLAB矩陣運算,本書一般采用列方向數據矩陣形式。請讀者注意,很多文獻采用行方向數據矩陣X,將每一行代表一個維度,而每一列代表一個觀察點。列方向數據矩陣Xn行,q列)轉置便得到行方向數據矩陣XTq行,n列)。

一元數據x1均值(中位數或眾數)、方差(或均方差)、分位點、偏度和峰度為常見的幾個統計學特征,如圖2.13所示。

圖2.13 數據x1統計學特點

數據x1期望值E(x1),即均值,可以通過下式求得:

其中,l為全1列向量,列數和x1一致;E() 計算期望。x1期望值E(x1)便是x1數據中心,去中心化列向量通過下式獲得:

其中,llTl向量和其轉置lT乘積;為中心化計算矩陣。

如果x1為總體,數據x1方差通過下式獲得:

如果x1為樣本,數據x1方差通過下式獲得:

多列向量數據矩陣X期望值E(X)通過下式計算獲得:

整理上式得到兩個等式:

對于列方向數據矩陣X,下式獲得去中心化數據矩陣:

其中,l為全1列向量,和X有相同行數。

X列向量總體方差-協方差矩陣通過下式計算獲得:

X列向量樣本方差-協方差矩陣通過下式計算獲得:

下面用兩元數據來看一下幾個常見數據統計學性質。對于兩個維度數據,協方差研究它們之間線性相關性。比如圖2.14中x1x2這兩例數據,下式計算獲得兩者總體協方差和樣本協方差:

圖2.14 數據x1x2統計學特點

叢書第三冊數學部分介紹過向量內積和數據方差、協方差存在諸多相似性,這種現象又叫作余弦相似性(cosine similarity)。x1x2方差-協方差矩陣(variance-covariance matrix)如下:

Σ包含有關數據大量統計學信息,如圖2.14所示。下面用之前講到特征值分解和SVD分解對數據本身和方差-協方差矩陣做進一步分析。

方差-協方差矩陣Σ特征值分解得到如下等式:

V包含著兩個特征向量v1v2,即V = [v1, v2];Λ為特征值矩陣,具體如下:

v1v2為正交系,λ1λ2為數據在v1v2方向上方差。若x1x2線性相關系數為0,則x1x2正交,如下例:

x1方差為5,x2方差為1。用mvnrnd() 函數生成1000個中心位于原點,滿足如上方差-協方差關系二元隨機數組,如圖2.15所示。圖2.15繪制v1v2兩個特征向量。圖中v1v2這兩個向量長度正比于數據在這兩個維度上均方差,即特征值平方根。請讀者回顧叢書第三冊第2章介紹的馬哈距離(Mahalanobis distance, Mahal distance)。

圖2.15 二元隨機數組(方差-協方差矩陣為[5, 0; 0, 1],中心位于原點)

對二元隨機數矩陣X = [x1, x2] 進行奇異值SVD分解:

其中,矩陣V形狀為2×2。不考慮隨機數數據數量影響,或特征值從大到小或者從小到大排列問題,SVD分解得到的方陣V和特征值分解得到的V一致。

若方差-協方差矩陣Σ取值如下:

x1方差為1,x2方差為5,兩者線性無關。圖2.16展示用mvnrnd() 函數生成1000個中心位于原點,滿足如上方差-協方差關系二元隨機數,以及v1v2兩個特征向量。

圖2.16 二元隨機數組(方差-協方差矩陣為[1, 0; 0, 5],中心位于原點)

若方差-協方差矩陣Σ取值如下:

x1x2方差均為3,兩者線性相關系數大于0。圖2.17展示1000個二元隨機數,中心位于原點,滿足如上方差-協方差關系。圖2.17同時給出v1v2兩個特征向量。特征值分解Σ得到:

圖2.17 二元隨機數組(方差-協方差矩陣為[3, 2; 2, 3],中心位于原點)

沿著v2(= [-0.7071; 0.7071])和v1(= [0.7071; 0.7071])兩個特征向量方向,數據方差值分別為1和5;換句話說,以上特征值大小描述新正交空間中各個方向數據分散集中程度。

若方差-協方差矩陣Σ取值如下:

x1x2同樣均為3,兩者線性相關系數小于0。特征值分解Σ得到:

同樣得到,沿著v2(= [0.7071; 0.7071])和v1(= [0.7071; -0.7071])兩個特征向量方向,數據方差值分別為1和5,如圖2.18所示。如下代碼獲得圖2.15~圖2.18:

B4_Ch1_3.m

clc; clear all; close all
SIGMA = [5,0;0,1];
% SIGMA = [1,0;0,5];
% SIGMA = [3,2;2,3];
% SIGMA = [3,-2;-2,3];

num   = 1000;
X = mvnrnd([0,0],SIGMA,num);
sigma = cov(X)
[V_eig_original,LAMBDA_eig_original] = eig(SIGMA)
[V_eig,LAMBDA_eig] = eig(sigma);
[V_pca,Z,LAMBDA_pca] = pca(X);
V_PC1 = V_pca(:,1)*sqrt(LAMBDA_pca(1));
V_PC2 = V_pca(:,2)*sq rt(LAMBDA_pca(2));
centers = mean(X);
center_x = centers(1); center_y = centers(2);

figure(1)
plot(X(:,1),X(:,2),'.'); hold on
plot(center_x,center_y,'ok')
h = quiver(center_x,center_y,V_PC1(1),V_PC1(2));
h.AutoScaleFactor = 3;
h = quiver(center_x,center_y,V_PC2(1),V_PC2(2));
h.AutoScaleFactor = 3;
daspect([1, 1,1]); xlim([-8,8]);  ylim([-8,8]);
xlabel('x_1'); ylabel('x_2')

圖2.18 二元隨機數組,方差-協方差矩陣為[3, 2; 2, 3],中心位于原點

上述分析思路同樣適用于多維數據。如圖2.19所示,三維數據SVD分解或者PCA分析,相當于對原始數據進行正交化(orthogonalization)。這種正交化數據分析思路廣泛應用在主元分析、正交回歸、主元回歸、因素分析等算法,叢書后文將會結合具體實例展開講解。

圖2.19 三維數據 相關性關系及正交化

這一小節最后,我們聊一聊數據矩陣線性變換(linear transformation)。X為列方向數據矩陣,f()為線性變換方程,X轉化為列向量y

其中,v為線性變換向量,b為常數。列向量y期望值E(y)和矩陣X期望值E(X)關系如下:

列向量y方差var(y)和矩陣X方差var(X)關系為:

var(X),即方差-協方差矩陣ΣX

X為列方向數據矩陣X,而f() 為線性變換方程將X轉化為矩陣Y,具體如下:

其中,V為線性變換矩陣,b為常數向量。矩陣Y期望向量E(Y)和矩陣X期望向量E(X)之間關系如下:

矩陣Y方差var(Y)和矩陣X方差var(X)關系如下:

上述性質常被稱作期望線性性質(linearity of expectation)。

若數據矩陣X,每一行定義為一個維度,而每一列代表一個觀察點。這種情況下,線性變換方程f()將X轉化為行向量y。

其中,v為線性變換列向量,b為常數。行向量y期望E(y)和矩陣X期望E(X)之間關系如下:

行向量y方差var(y)和矩陣X方差var(X)關系如下:

如果XY均為行方向數據矩陣,而f() 為線性變換方程將X轉化為矩陣Y,具體如下:

其中,V為線性變換矩陣,b為常數向量。矩陣Y期望E(Y)和矩陣X期望E(X)之間關系如下:

矩陣Y方差var(Y)和矩陣X方差var(X),即方差-協方差矩陣ΣX,之間關系如下:

很多讀者可能會覺得這一部分內容過于理論化難于理解,事實確實如此,但是,這些線性性質和叢書之前講到線性相關、Cholesky分解、特征值分解、SVD分解、PCA分析等內容之間有著密切聯系。解開這些聯系的鑰匙將在下一節介紹。

主站蜘蛛池模板: 平江县| 青田县| 云浮市| 江口县| 富阳市| 松滋市| 阿拉善左旗| 黑河市| 慈利县| 湘西| 象山县| 东安县| 育儿| 镇沅| 江都市| 绥宁县| 株洲县| 宜州市| 贵德县| 张掖市| 晋州市| 博乐市| 延安市| 靖远县| 深州市| 张北县| 银川市| 鸡西市| 勃利县| 湟源县| 龙陵县| 博罗县| 桂平市| 临澧县| 怀仁县| 循化| 黎城县| 横峰县| 德格县| 吴桥县| 自贡市|