數據標准化


1 為何需要標准化

有的數據,不同維度的數量級差別較大,導致有的維度會主導整個分析過程。如下圖所示:

該圖的數據維度\(d=30\),樣本量\(n=40\),上面的圖是對原始數據做PCA后,第一個PC在各個維度上的權重的平行坐標圖,下面的圖則是對數據做標准化之后的情況。可以發現,在原始數據中,第\(4\)\(24\)個維度的權重非常大。如果其他的維度也包含了重要的信息,而我們只取第一個PC做研究,可能就會造成信息損失。

2 如何標准化

那該如何預處理數據?一般而言有兩種處理方法。

2.1 Scale

常見的一種方法就是對數據做scale,如我們知道數據的總體為\(x\sim (\mu,\Sigma)\),那么可以將\(\Sigma\)的對角線元素單獨取出做成一個對角矩陣\(\Sigma_\text{diag}\),然后定義

\[x_\text{scale}=\Sigma_\text{diag}^{-1/2}(x-\mu) \]

這樣做的好處顯而易見,在做完scale后,我們有

\[\text{Var}(x_\text{scale}) = \Sigma_\text{diag}^{-1/2}\Sigma\Sigma_\text{diag}^{-1/2}=R \]

這里的\(R\)就是\(x\)的各維度的相關系數矩陣。

對於樣本數據\(X\sim \text{Sample}(\bar x, S)\)來說,也可做同樣的處理:

\[X_\text{scale}=S_\text{diag}^{-1/2}(X-\bar x\ell_n') \]

同樣地,在經過scale后,樣本數據的協方差矩陣也變成了相關系數矩陣\(R_S=S_\text{diag}^{-1/2}SS_\text{diag}^{-1/2}\)

2.2 Sphere

另一種預處理數據的方法是將數據“球形化”(sphere)。即對於總體數據\(x\),可以做

\[x_{\Sigma}=\Sigma^{-1/2}(x-\mu) \]

對於樣本數據\(X\),也同樣可以做

\[X_S=S^{-1/2}(X-\bar x\ell_n') \]

這樣做會有什么效果?顯然,處理后的協方差矩陣會變為

\[\text{Var}(x_{\Sigma}) = \Sigma^{-1/2}\Sigma\Sigma^{-1/2}=I_d \]

即我們把各維度之間的相關性也處理掉了。

如果\(\text{rank}(\Sigma)=r\lt d\)\(\Sigma^{-1/2}\)就不存在,此時可以用

\[x_{\Sigma}=\Gamma_r \Lambda_r^{-1/2} \Gamma_r'(x-\mu) \]

對於樣本數據也類似。

3 何時需要標准化?

對於這個問題,沒有定論。因為數據標准化不影響理論結果。一般來說,如果各個維度是可比的,就不需要標准化,如果不可比,並且我們對量級非常大的數據沒有特別的研究偏好,那就需要做標准化。

參考文獻

  • Koch, Inge. Analysis of multivariate and high-dimensional data. Cambridge University Press, 2013.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM