題:
PCA是相關性還是協方差?
Random
2010-07-20 00:39:08 UTC
view on stackexchange narkive permalink

在相關矩陣和協方差矩陣上執行主成分分析(PCA)之間的主要區別是什麼?他們給出相同的結果嗎?

有關其他討論,請訪問http://stats.stackexchange.com/questions/62677/covariance-v-correlation-based-pca-theoretical-view。
回复較晚,但是您可以在里昂的[生物信息學系](http://pbil.univ-lyon1.fr/R/enseignement.html)上找到有關多變量數據分析“非常有用”的講義。這些來自R [ade4](http://cran.r-project.org/web/packages/ade4/index.html)軟件包的作者。不過是法語的。
相關問題和一些相關答案:[是否曾經使用協方差矩陣執行過公共因子分析?](http://stats.stackexchange.com/questions/95996)和[在PCA給出更好的解釋方差比之前不對數據進行標準化](http://stats.stackexchange.com/questions/105592)。
七 答案:
csgillespie
2010-07-20 00:54:39 UTC
view on stackexchange narkive permalink

當變量比例相似時,傾向於使用協方差矩陣;當變量比例不同時,傾向於使用相關矩陣。

使用相關矩陣等同於標準化每個變量(均值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 on correlation or covariance

請注意,協方差的PCA由 run800m javelin 主導:PC1幾乎等於 run800m (並解釋了差異的$ 82 \%$ span>)和PC2幾乎等於 javelin (它們一起解釋了 $ 97 \%$ )。 相關性的PCA信息豐富得多,並揭示了數據中的某些結構以及變量之間的關係(但請注意,解釋的方差下降到 $ 64 \%$ span>和 $ 71 \%$ span>)。

還請注意,偏遠的個人(在 this 數據集中)異常值,無論使用協方差矩陣還是相關矩陣。

如果我先將變量轉換為z分數,那是什麼情況?
@Jirka-x1標準變量的協方差矩陣(即* z *分數)等於相關矩陣。
@Alexis因此可以推斷出標準化變量的協方差矩陣等於標準化變量的相關矩陣嗎?
標準化數據的@JamieBullock $ \ mathbf {\ Sigma} $(協方差矩陣)= $ \ mathbf {R} $(相關矩陣)。$ \ mathbf {R} = \ mathbf {R} $數據是否標準化(相關性對數據的線性轉換不敏感。因此,例如,如果您有$ X $和$ Y $且它們與$ r_ {XY} $,則如果$ X ^ {*} = aX + b $和$ Y ^ {*} = aY + b $ $ X ^ {*} $和$ Y ^ {*} $也與$ r_ {XY} $)。
一個重要的注意事項:在PCA中使用協方差時,您的PC之間不會相互關聯,而對於基於關聯的PCA則不成立。當打算在多線性解釋變量集中進行回歸之前執行PCA時,這一點尤其重要。但是,背後的理論尚不清楚。有人可以闡明這種區別嗎?
所以使用相關矩陣永遠不會受到傷害,對嗎?它只能幫助...
如果變量是標準化的,並且變化為1,那麼我們如何區分它們在貢獻方差方面的相對重要性?(例如,對於二維數據,z1的方向是否始終為45度?)
上面有關PC之間相關性的註釋不正確。無論PCA是使用相關矩陣還是協方差矩陣,它都會創建不相關的PC。請注意,在R中,prcomp()函數的默認設置為scale = FALSE,在大多數情況下,您希望將其設置為TRUE以便預先標準化變量。
Paul Hewson
2010-07-20 17:47:40 UTC
view on stackexchange narkive permalink

Bernard Flury在其出色的書中介紹了多元分析,將其描述為主要成分的反屬性。實際上比在相關性或協方差之間進行選擇更糟糕。如果更改單位(例如,美國風格的加侖,英寸等和歐盟風格的公升,厘米),則數據的投影將大不相同。

反對自動使用相關矩陣的論點是標準化數據的一種殘酷方式。自動使用協方差矩陣的問題(在該庚烷數據中非常明顯)是,方差最高的變量將控制第一個主成分(方差最大化屬性)。

因此,“最佳”的使用方法基於主觀選擇,認真思考和一些經驗。

user32398
2012-02-02 05:13:10 UTC
view on stackexchange narkive permalink

未轉化的(原始)數據::如果您的變量的原始,未轉化數據的標度差異很大,即每天的熱量攝入,基因表達,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分數:

  1. 首先,按升序對值進行排序,然後分配等級,這樣您將獲得 $ R_i = 1,2,\ ldots,100。$ span>
  2. 的等級
  3. 接下來,將每個觀測值的百分數確定為 $ pct_i = R_i /(n + 1)$ span>。
  4. 獲得百分位數後,將其輸入到標準正態分佈CDF的逆映射函數中,即 $ N(0,1)$ span>,使用 $ Z_i = \ Phi ^ {-1來獲取每個 $ Z $ span>分數}(pct_i)$ span>。
  5. ol>

    例如,如果插入 $ 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分數或離群值。

這是迄今為止最明智的答案,因為它實際上給出了適當的觀點,即在適當時協方差會獲勝。在這里和其他地方,太多的答案提到了通常的“取決於”,而實際上並沒有給出為什麼人們應該偏愛協方差(如果可能)的確切依據。在這裡lep可以做到:協方差不會剔除任何相關的信息。股票數據示例是一個很好的例子:高貝塔股票當然會具有更高的加載量,但它們可能*應該*,就像波動性更大的分析中的任何一個方面通常更有趣(在一定程度上)。
當然,必須分析當前的問題,以了解較高的方差是否是分析的一個有趣方面。如果不是,那麼相關性當然更好,如果單位不同,那肯定成立。
好答案+1。我猜還有一個例子可能是將PCA應用於金融債券收益率的期限結構分析。不同到期日收益率的差異有所不同,但由於它們都是收益率,因此變化的規模通常不會超出可接受範圍。實際上,某些到期收益率的波動性本身就提供了豐富的信息。
Aksakal
2015-09-30 18:54:30 UTC
view on stackexchange narkive permalink

一個常見的答案是建議當變量處於相同比例時使用協方差,而當比例不同時使用相關性。但是,只有當變量的比例不是一個因素時,這才是正確的。否則,為什麼會有人做協方差PCA?始終執行關聯PCA會更安全。

想像一下,您的變量具有不同的度量單位,例如米和千克。在這種情況下,使用米還是厘米都沒有關係,因此您可以爭辯說應該使用相關矩陣。

現在考慮不同州的人口。度量單位是相同的-人數(數量)。現在,規模可能會有所不同:DC擁有600K,CA擁有38M員工。我們應該在這裡使用相關矩陣嗎?這取決於。在某些應用程序中,我們確實希望根據狀態的大小進行調整。因此,使用協方差矩陣是建立解釋國家規模的因素的一種方法。

因此,我的答案是在原始變量的方差很重要時使用協方差矩陣,而在其變量很重要時使用相關不是。

Kris Villez
2018-04-07 00:59:57 UTC
view on stackexchange narkive permalink

我個人認為,根據最大似然主成分分析模型(MLPCA)[1,2]討論這些選項非常有價值。在MLPCA中,需要進行縮放(甚至旋轉),以便測量變量中的測量誤差是獨立的,並根據標準正態分佈進行分佈。這種縮放也稱為最大似然縮放(MALS)[3]。在某些情況下,可以一起估計PCA模型和定義MALS縮放/旋轉的參數[4]。

要解釋基於相關性和基於協方差的PCA,可以提出以下結論:

    只要假設測量誤差的方差-協方差矩陣是對角線且對角線上有相等元素,則基於協方差的PCA等效於MLPCA。然後可以通過應用概率主成分分析(PPCA)模型來估計測量誤差方差參數[5]。在我研究過的幾種情況下,我發現這是一個合理的假設,特別是當所有測量均屬於同一類型的變量時(例如所有流量,所有溫度,所有濃度或所有吸光度測量)。確實,可以安全地假設這些變量的測量誤差是獨立且相同地分佈的。 只要假設測量誤差的方差-協方差矩陣與對角線上的每個元素成對角線,並且每個對角線上的每個元素都與相應測量變量的整體方差成比例,則基於相關的PCA等同於MLPCA。儘管這是一種流行的方法,但我個人認為在我研究的大多數情況下,比例假設都是不合理的。結果,這意味著我無法將基於相關性的PCA解釋為MLPCA模型。如果(1)基於協方差的PCA的隱含假設不適用,並且(2)MLPCA解釋很有價值,我建議使用其中一種MLPCA方法代替[1-4]。 當每個變量的各個方差都完全相等時,基於相關和基於協方差的PCA將產生完全相同的結果(除了標量乘數之外)。當這些個體差異相似但不相同時,兩種方法都會產生相似的結果。 ol>

    如上所述,最終的選擇取決於您所做的假設。此外,任何特定模型的效用還取決於分析的上下文和目的。引用喬治·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。

Bear Leg
2015-11-11 11:16:32 UTC
view on stackexchange narkive permalink

簡單明了:如果比例尺相似,則使用cov-PCA;否則,使用corr-PCA;否則,您最好有一個辯護。如有疑問,請使用F檢驗進行方差均等(ANOVA)。如果F測試失敗,請使用corr;否則,請使用corr。否則,請使用cov。

-1。我不知道為什麼在這裡進行F檢驗可能有意義。PCA是一種探索性方法,而不是一種確認性方法(就像統計測試一樣)。
Lucozade
2013-06-26 20:28:15 UTC
view on stackexchange narkive permalink

基於比例的論點(對於以相同物理單位表示的變量)似乎很弱。想像一下一組(無因次)變量,它們的標準偏差在0.001和0.1之間變化。與標準值1相比,這兩個值似乎都很小,並且波動程度相當。但是,以分貝表示時,其範圍為-60 dB,而-10和0 dB。那麼這很可能會被歸類為“大範圍”-特別是如果您要包含接近0的標準偏差,即負無窮大dB。

我的建議是同時進行相關處理-和基於協方差的PCA。如果兩者提供的是同一台(或非常相似,無論這意味著什麼),那麼您可以放心,您得到的答案是有意義的。如果他們提供的PC千差萬別,則不要使用PCA,因為對一個問題有兩種不同的答案不是解決問題的明智方法。

(-1)獲得“對一個問題的兩個不同答案”通常僅意味著您無意識地b之以鼻,而沒有考慮哪種技術適合您的分析目標。這並不意味著一種或(如您所說的)兩種技術都不明智,而僅僅是意味著至少一種不適用於問題或數據。此外,在許多情況下,您可以預期基於協方差的PCA和基於相關性的PCA應該*給出不同的答案。畢竟,他們正在衡量數據的不同方面。默認情況下兩者都沒有意義。
實際上,在使用具有相關性和協方差的PCA時獲得2個不同的答案是非常合理的。在庫存情況下,這是您是否應考慮Beta(或標準偏差)的問題


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...