1 為何需要標准化
有的數據,不同維度的數量級差別較大,導致有的維度會主導整個分析過程。如下圖所示:
該圖的數據維度\(d=30\),樣本量\(n=40\),上面的圖是對原始數據做PCA后,第一個PC在各個維度上的權重的平行坐標圖,下面的圖則是對數據做標准化之后的情況。可以發現,在原始數據中,第\(4\)和\(24\)個維度的權重非常大。如果其他的維度也包含了重要的信息,而我們只取第一個PC做研究,可能就會造成信息損失。
2 如何標准化
那該如何預處理數據?一般而言有兩種處理方法。
2.1 Scale
常見的一種方法就是對數據做scale,如我們知道數據的總體為\(x\sim (\mu,\Sigma)\),那么可以將\(\Sigma\)的對角線元素單獨取出做成一個對角矩陣\(\Sigma_\text{diag}\),然后定義
這樣做的好處顯而易見,在做完scale后,我們有
這里的\(R\)就是\(x\)的各維度的相關系數矩陣。
對於樣本數據\(X\sim \text{Sample}(\bar x, S)\)來說,也可做同樣的處理:
同樣地,在經過scale后,樣本數據的協方差矩陣也變成了相關系數矩陣\(R_S=S_\text{diag}^{-1/2}SS_\text{diag}^{-1/2}\)。
2.2 Sphere
另一種預處理數據的方法是將數據“球形化”(sphere)。即對於總體數據\(x\),可以做
對於樣本數據\(X\),也同樣可以做
這樣做會有什么效果?顯然,處理后的協方差矩陣會變為
即我們把各維度之間的相關性也處理掉了。
如果\(\text{rank}(\Sigma)=r\lt d\),\(\Sigma^{-1/2}\)就不存在,此時可以用
對於樣本數據也類似。
3 何時需要標准化?
對於這個問題,沒有定論。因為數據標准化不影響理論結果。一般來說,如果各個維度是可比的,就不需要標准化,如果不可比,並且我們對量級非常大的數據沒有特別的研究偏好,那就需要做標准化。
參考文獻
- Koch, Inge. Analysis of multivariate and high-dimensional data. Cambridge University Press, 2013.