在相關矩陣和協方差矩陣上執行主成分分析(PCA)之間的主要區別是什麼?他們給出相同的結果嗎?
在相關矩陣和協方差矩陣上執行主成分分析(PCA)之間的主要區別是什麼?他們給出相同的結果嗎?
當變量比例相似時,傾向於使用協方差矩陣;當變量比例不同時,傾向於使用相關矩陣。
使用相關矩陣等同於標準化每個變量(均值0和標準差1)。通常,具有和不具有標準化的PCA都會得出不同的結果。尤其是當比例不同時。
以一個示例為例,看一下此R heptathlon
數據集。一些變量的平均值約為1.8(跳高),而其他變量(運行800m)約為120。
library( HSAUR)heptathlon [,-8]#查看七項全能數據(不包括'score'變量)
此輸出:
跨欄跳高跑200m長跳標槍運行800m喬納·科西(美國)12.69 1.86 15.80 22.56 7.27 45.66 128.51約翰(GDR)12.85 1.80 16.23 23.65 6.71 42.56 126.12Behmer(GDR)13.20 1.83 14.20 23.10 6.68 44.54 124.20Sab 1.80 15.23 23.92 6.25 42.78 132.24喬本科娃(URS)13.51 1.74 14.76 23.93 6.32 47.46 127.90 ...
現在讓我們對協方差和相關性進行PCA:
#scale = T將PCA基於相關矩陣hep.PC.cor = prcomp(heptathlon [,-8],s cale = TRUE)hep.PC.cov = prcomp(heptathlon [,-8],scale = FALSE)biplot(hep.PC.cov)biplot(hep.PC.cor)
請注意,協方差的PCA由 run800m
和 javelin
主導:PC1幾乎等於 run800m
(並解釋了差異的$ 82 \%$ span>)和PC2幾乎等於 javelin
(它們一起解釋了 $ 97 \%$ )。 相關性的PCA信息豐富得多,並揭示了數據中的某些結構以及變量之間的關係(但請注意,解釋的方差下降到 $ 64 \%$ span>和 $ 71 \%$ span>)。
還請注意,偏遠的個人(在 this 數據集中)異常值,無論使用協方差矩陣還是相關矩陣。
Bernard Flury在其出色的書中介紹了多元分析,將其描述為主要成分的反屬性。實際上比在相關性或協方差之間進行選擇更糟糕。如果更改單位(例如,美國風格的加侖,英寸等和歐盟風格的公升,厘米),則數據的投影將大不相同。
反對自動使用相關矩陣的論點是標準化數據的一種殘酷方式。自動使用協方差矩陣的問題(在該庚烷數據中非常明顯)是,方差最高的變量將控制第一個主成分(方差最大化屬性)。
因此,“最佳”的使用方法基於主觀選擇,認真思考和一些經驗。
未轉化的(原始)數據::如果您的變量的原始,未轉化數據的標度差異很大,即每天的熱量攝入,基因表達,ELISA / Luminex以ug / dl為單位ng / dl,基於蛋白質表達的幾個數量級,然後將相關性用作PCA的輸入。但是,如果您的所有數據都基於例如基因表達來自同一平台,具有相似的範圍和規模,或者您正在使用對數股權資產收益,那麼使用相關將拋出大量信息。
您實際上不需要考慮使用相關矩陣 $ \ mathbf {R} $ span>或協方差矩陣 $ \ mathbf {C} $ span>作為PCA的輸入,而是查看 $ \ mathbf {C} $的對角線值 span>和 $ \ mathbf {R} $ span>。您可能會看到一個變量 $ 100 $ span>的差異,而另一個變量 $ 10 $ span>的差異– $ \ mathbf {C} $ span>的對角線。但是當查看相關性時,對角線包含所有相關性,因此當您使用 $ 1 $ span> container“> $ \ mathbf {R} $ span>矩陣。
已轉換的數據:如果數據是通過歸一化,百分位數或均值零標準化(例如, $ Z $ span>-分數),以便所有連續變量的範圍和小數位數都相同,那麼您可以使用協方差矩陣 $ \ mathbf {C} $ span>而不會出現任何問題。 (相關將意味著零標準化變量)。不過請記住,這些轉換不會消除變量運行PCA之前中的偏斜度(即直方圖中的左尾或右尾)。典型的PCA分析不涉及偏斜的消除。但是,某些讀者可能需要消除偏斜才能滿足嚴格的正態性約束。
總而言之,當變量範圍內和範圍內的差異很大時,請使用相關矩陣 $ \ mathbf {R} $ span>如果變量的範圍和規模相似或以相同的度量單位,則協方差矩陣 $ \ mathbf {C} $ span>可以保留方差。
偏斜變量::如果任何變量的直方圖中偏左或偏右,即Shapiro-Wilk或Lilliefors正態性檢驗很重要 $(P<0.05)$ span>,那麼如果您需要應用正態性假設,可能會有一些問題。在這種情況下,請使用根據每個變量確定的van der Waerden分數(轉換)。單個觀測值的Van der Waerden(VDW)分數僅僅是觀測值百分位數值的逆累積(標準)正態映射。例如,假設您對一個連續變量具有 $ n = 100 $ span>觀測值,則可以使用以下方法確定VDW分數:
例如,如果插入 $ pct_i $ span>值0.025,則將獲得 $-1.96 = \ Phi ^ {-1}(0.025)$ span>。對於 $ pct_i = 0.975 $ span>的插件值也是如此,您將獲得 $ 1.96 = \ Phi ^ {-1} (0.975)$ span>。
在遺傳學中,VDW分數的使用非常普遍,許多變量被轉換為VDW分數,然後輸入到分析中。使用VDW分數的優點是可以從數據中去除偏斜度和異常值影響,並且如果目標是在正態性約束下進行分析,並且每個變量都需要純正態正態分佈且沒有偏斜度,則可以使用VDW分數或離群值。
一個常見的答案是建議當變量處於相同比例時使用協方差,而當比例不同時使用相關性。但是,只有當變量的比例不是一個因素時,這才是正確的。否則,為什麼會有人做協方差PCA?始終執行關聯PCA會更安全。
想像一下,您的變量具有不同的度量單位,例如米和千克。在這種情況下,使用米還是厘米都沒有關係,因此您可以爭辯說應該使用相關矩陣。
現在考慮不同州的人口。度量單位是相同的-人數(數量)。現在,規模可能會有所不同:DC擁有600K,CA擁有38M員工。我們應該在這裡使用相關矩陣嗎?這取決於。在某些應用程序中,我們確實希望根據狀態的大小進行調整。因此,使用協方差矩陣是建立解釋國家規模的因素的一種方法。
因此,我的答案是在原始變量的方差很重要時使用協方差矩陣,而在其變量很重要時使用相關不是。
我個人認為,根據最大似然主成分分析模型(MLPCA)[1,2]討論這些選項非常有價值。在MLPCA中,需要進行縮放(甚至旋轉),以便測量變量中的測量誤差是獨立的,並根據標準正態分佈進行分佈。這種縮放也稱為最大似然縮放(MALS)[3]。在某些情況下,可以一起估計PCA模型和定義MALS縮放/旋轉的參數[4]。
要解釋基於相關性和基於協方差的PCA,可以提出以下結論:
如上所述,最終的選擇取決於您所做的假設。此外,任何特定模型的效用還取決於分析的上下文和目的。引用喬治·E·普·博克斯的話:“所有模型都是錯誤的,但有些模型是有用的。”
[p] [1] Wentzell,P. D.,Andrews,D.T.,Hamilton,D.C.,Faber,K.,& Kowalski,B.R.(1997)。最大似然主成分分析。化學計量學報,11(4),339-366。 [2] Wentzell,P.D.,& Lohnes,M.T。(1999)。具有相關測量誤差的最大似然主成分分析:理論和實踐考慮。化學計量學和智能實驗室系統,45(1-2),65-85。 [p] [3] Hoefsloot,H. C.,Verouden,M. P.,Westerhuis,J. A.,& Smilde,A. K.(2006)。最大似然縮放(MALS)。化學計量雜誌,20(3-4),120-127。[4] Narasimhan,S.,& Shah,S. L.(2008)。使用PCA從噪聲數據中進行模型識別和誤差協方差矩陣估計。控制工程實踐,16(1),146-155。
[5] Tipping,M. E.,& Bishop,C. M.(1999)。概率主成分分析。皇家統計學會雜誌:B系列(統計方法),61(3),611-622。
簡單明了:如果比例尺相似,則使用cov-PCA;否則,使用corr-PCA;否則,您最好有一個辯護。如有疑問,請使用F檢驗進行方差均等(ANOVA)。如果F測試失敗,請使用corr;否則,請使用corr。否則,請使用cov。
基於比例的論點(對於以相同物理單位表示的變量)似乎很弱。想像一下一組(無因次)變量,它們的標準偏差在0.001和0.1之間變化。與標準值1相比,這兩個值似乎都很小,並且波動程度相當。但是,以分貝表示時,其範圍為-60 dB,而-10和0 dB。那麼這很可能會被歸類為“大範圍”-特別是如果您要包含接近0的標準偏差,即負無窮大dB。
我的建議是同時進行相關處理-和基於協方差的PCA。如果兩者提供的是同一台(或非常相似,無論這意味著什麼),那麼您可以放心,您得到的答案是有意義的。如果他們提供的PC千差萬別,則不要使用PCA,因為對一個問題有兩種不同的答案不是解決問題的明智方法。