Korelasyon veya kovaryans üzerine PCA?


153

Korelasyon matrisi ve kovaryans matrisi üzerinde ana bileşen analizi (PCA) yapmak arasındaki temel farklar nelerdir? Aynı sonuçları veriyorlar mı?


2
Geç cevap, ancak Lyon'un Biyoinformatik bölümünde çok değişkenli veri analizi "alakart" konusunda ÇOK yararlı bilgiler bulabilirsiniz . Bunlar R ade4 paketinin yazarlarından geliyor . Yine de fransızca.
09'da chl.

3
Ek tartışma için lütfen stats.stackexchange.com/questions/62677/… adresini ziyaret edin .
whuber

Yanıtlar:


130

Değişken ölçekler benzer olduğunda kovaryans matrisini ve değişkenler farklı ölçeklerde olduğunda korelasyon matrisini kullanma eğilimindesiniz.

Korelasyon matrisini kullanmak, değişkenlerin her birini standartlaştırmaya eşdeğerdir (ortalama 0 ve standart sapma 1). Genel olarak, standartlaştırılmış ve standartlaştırılmamış PCA farklı sonuçlar verecektir. Özellikle ölçekler farklı olduğunda.

Örnek olarak, bu R heptathlonveri setine bir göz atın . Değişkenlerin bazıları, yaklaşık 1.8 (yüksek atlama) ortalama değerine sahipken, diğer değişkenler (çalışma 800m) 120 civarındadır.

library(HSAUR)
heptathlon[,-8]      # look at heptathlon data (excluding 'score' variable)

Bu çıktılar:

                   hurdles highjump  shot run200m longjump javelin run800m
Joyner-Kersee (USA)   12.69     1.86 15.80   22.56     7.27   45.66  128.51
John (GDR)            12.85     1.80 16.23   23.65     6.71   42.56  126.12
Behmer (GDR)          13.20     1.83 14.20   23.10     6.68   44.54  124.20
Sablovskaite (URS)    13.61     1.80 15.23   23.92     6.25   42.78  132.24
Choubenkova (URS)     13.51     1.74 14.76   23.93     6.32   47.46  127.90
...

Şimdi PCA'yı kovaryans ve korelasyon üzerine yapalım:

# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)

biplot(hep.PC.cov)
biplot(hep.PC.cor)  

Korelasyon veya kovaryans üzerine PCA

run800mjavelinrun800m82%javelin97%64%71%

Ayrıca, dışardaki bireylerin ( bu veri setinde) kovaryans veya korelasyon matrisinin kullanılıp kullanılmadığına bakılmaksızın aykırı olduğuna dikkat edin.


İlk önce değişkenleri z-puanlarına dönüştürürsem durum nedir?
Jirka-x1

9
@ Jirka-x1 standardize değişkenlerin kovaryans matrisi (yani z skorları) korelasyon matrisine eşittir.
Alexis,

@Alexis Bu nedenle standardize değişkenlerin kovaryans matrisinin standardize değişkenlerin korelasyon matrisine eşit olduğu sonucuna varılabilir mi?
jb

1
ΣRR=RXYrXYX=aX+bY=aY+b XYrXY).
Alexis

Önemli bir not: PCA'nızda kovaryans kullanırken, PC'niz birbirleri arasında korelasyon göstermeyecektir, bu korelasyona dayalı PCA için geçerli değildir. Bu, çok hatlı bir açıklayıcı değişkenler setinde regresyondan önce PCA'yı gerçekleştirmeyi amaçlarken özellikle önemlidir. Ancak bunun arkasındaki teori net değil. Herhangi biri bu farka ışık tutabilir mi?
ouranos

54

Bernard Flury, çok değişkenli analizler sunan mükemmel kitabında, bunu ana bileşenlerin anti-özelliği olarak nitelendirdi. Aslında korelasyon veya kovaryans arasında seçim yapmaktan daha kötü. Birimleri değiştirirseniz (örneğin ABD tarzı galon, inç vb. Ve AB tarzı litre, santimetre) verinin büyük ölçüde farklı projeksiyonlarını elde edersiniz.

Korelasyon matrislerini otomatik olarak kullanmaya karşı argüman, verilerinizi standartlaştırmanın oldukça acımasız bir yol olduğudur. Bu heptathalon verilerinde çok belirgin olan kovaryans matrisinin otomatik olarak kullanılmasıyla ilgili problem, en yüksek varyansa sahip olan değişkenlerin birinci ana bileşene (varyans maksimizasyon özelliği) hükmedeceğidir.

Bu yüzden kullanılacak "en iyi" yöntem öznel bir seçime, dikkatli düşünceye ve bazı tecrübelere dayanmaktadır.


46

UNTRANSFORMED (RAW) VERİLERİ: Ham, dönüştürülmemiş veriler için geniş çapta değişen ölçeklere sahip değişkenleriniz varsa, yani günlük kalori alımı, gen ekspresyonu, ug / dl, ng / dl birimlerinde ELISA / Luminex, protein ekspresyonunun büyüklüğü, daha sonra PCA'ya bir girdi olarak korelasyon kullanın. Bununla birlikte, tüm verileriniz, örneğin, benzer aralık ve ölçeğe sahip aynı platformdan gen ifadesine dayanıyorsa veya günlük özkaynak varlık getirileriyle çalışıyorsanız, o zaman korelasyon kullanmak muazzam miktarda bilgi ortaya koyacaktır.

RCCR10010C1R

ZC

RC

(P<0.05)n=100

  1. Ri=1,2,,100.
  2. pcti=Ri/(n+1)
  3. N(0,1)ZZi=Φ1(pcti)

pcti1.96=Φ1(0.025)pcti=0.9751.96=Φ1(0.975)

VDW puanlarının kullanımı, birçok değişkenin VDW puanlarına dönüştürüldüğü ve ardından analizlere girildiği genetikte çok popülerdir. VDW puanlarını kullanmanın avantajı, çarpıklık ve dışa vurma efektlerinin verilerden kaldırılmasıdır ve amaç, normallik kısıtlamaları altında bir analiz yapmaksa kullanılabilir - ve her değişkenin, çarpıklık olmadan tamamen standart normal olması gerekir. veya aykırı değerler.


7
Bu, şu ana kadarki en mantıklı cevaptır, çünkü kovaryansın uygun olduğunda kazandığı konusunda doğru bir fikir verir. Burada ve başka yerlerdeki çok fazla cevap, " mümkünse kovaryansı neden tercih etmesi gerektiğine dair sert bir temel vermeden" "bağlıdır" denilen normalden bahseder . İşte lep yok: kovaryans, korelasyonun yaptığı hiçbir bilgiyi dışlamaz. Stok verileri örnek iyi biridir: yüksek beta stokları elbette daha yüksek yüklemelerini olacak ama muhtemelen gerektiği sadece daha fazla uçucu olan herhangi analizin herhangi bir faset gibi, (mâkul) genellikle daha ilginç.
Thomas Browne

3
Tabii ki, eldeki problemin, varyansın analizin ilginç bir yönü olup olmadığı konusunda analiz edilmesi gerekir. Değilse, o zaman elbette correl iyidir ve birimler farklı ise kesinlikle bu tutar.
Thomas Browne

Büyük cevap +1. Sanırım bir örnek daha PCA'yı, finansmandaki tahvil getirileri üzerinde yapı analizi yapmak için uygulamak olabilir. Değişken vadelere göre verim farkları değişkendir, ancak hepsi verim olduğundan, değişken ölçekler normalde kabul edilemez ölçüde geniş değildir. Aslında, belirli vade veriminin daha fazla / daha az oynaklığı, zengin bilgi sağlar.
Nicholas

11

Yaygın bir cevap, değişkenlerin aynı ölçekte olduğu durumlarda kovaryansın kullanıldığını ve ölçeklerinin farklı olduğu durumlarda korelasyonun kullanıldığını ortaya koymaktır. Ancak, bu yalnızca değişkenlerin ölçeği bir faktör olmadığında geçerlidir. Aksi halde, neden birisi PCA kovaryansı yapsın ki? PCA korelasyonunu her zaman yapmak daha güvenli olacaktır.

Değişkenlerinizin metre ve kilogram gibi farklı ölçü birimlerine sahip olduğunu hayal edin. Bu durumda metreler mi yoksa santimetre mi kullandığınız farketmemeli, bu nedenle korelasyon matrisinin kullanılması gerektiğini savunabilirsiniz.

Şimdi farklı eyaletlerdeki insan nüfusunu düşünün. Ölçü birimleri aynı - insan sayısı (sayısı). Şimdi, ölçekler farklı olabilir: DC'de 600K ve CA - 38M var. Burada korelasyon matrisini kullanmalı mıyız? Değişir. Bazı uygulamalarda durumun boyutunu ayarlamak istiyoruz. Kovaryans matrisini kullanmak, devletin boyutunu hesaba katan faktörleri oluşturmanın bir yoludur.

Bu nedenle cevabım, orijinal değişkenin varyansı önemli olduğunda kovaryans matrisini kullanmak ve değilken korelasyon kullanmaktır.


2

Bu seçenekleri tartışmak için şahsen çok değerli buluyorum, maksimum olasılık temel bileşen analiz modeli (MLPCA) ışığında [1,2]. MLPCA'da, ölçülen değişkenlerdeki ölçüm hatalarının bağımsız ve standart normal dağılıma göre dağıtıldığı şekilde bir ölçekleme (veya bir dönme) uygulanır. Bu ölçeklendirme, maksimum olasılık ölçeklendirmesi (MALS) olarak da bilinir [3]. Bazı durumlarda, PCA modeli ve MALS ölçeklendirmesini / dönüşünü tanımlayan parametre birlikte tahmin edilebilir [4].

Korelasyona dayalı ve kovaryansa dayalı PCA'yı yorumlamak için, kişi şu iddiada bulunabilir:

  1. Kovaryansa dayalı PCA, ölçüm hatalarının varyans-kovaryans matrisinin köşegeninde eşit elemanlarla köşegen kabul edildiği zaman MLPCA ile eşdeğerdir. Ölçüm hatası varyans parametresi, olasılıksal temel bileşen analizi (PPCA) modeli [5] uygulanarak tahmin edilebilir. Bunu, özellikle tüm ölçümler aynı tür değişken olduğunda (örneğin, tüm akışlar, tüm sıcaklıklar, tüm konsantrasyonlar veya tüm absorbans ölçümleri) çalıştığım bazı durumlarda makul bir varsayım olarak görüyorum. Aslında, bu değişkenler için ölçüm hatalarının bağımsız ve aynı şekilde dağıtıldığını varsaymak güvenli olabilir.
  2. Korelasyona dayalı PCA, ölçüm hatalarının varyans-kovaryans matrisinin, karşılık gelen ölçülen değişkenin genel varyansı ile orantılı olarak diyagonal üzerindeki her bir elemanla çapraz olarak kabul edilmesi durumunda MLPCA ile eşdeğerdir. Bu popüler bir yöntem olsa da, çalıştığım çoğu durumda orantılılık varsayımını mantıksız buluyorum. Sonuç olarak, bu korelasyona dayalı PCA'yı MLPCA modeli olarak yorumlayamadığım anlamına gelir. (1) kovaryansa dayalı PCA'nın ima edilen varsayımlarının geçerli olmadığı durumlarda ve (2) bir MLPCA yorumunun değerli olduğu durumlarda, bunun yerine MLPCA yöntemlerinden birini kullanmanızı öneririm [1-4].
  3. Korelasyona dayalı ve kovaryansa dayalı PCA, her bir değişken için ayrı ayrı varyansların birbirine tamamen eşit olması durumunda, bir skalar çarpanından itibaren aynı sonuçları üretecektir. Bu bireysel farklılıklar benzer ancak aynı olmadığında, her iki yöntem de benzer sonuçlar üretecektir.

Yukarıda da vurgulandığı gibi, nihai seçim yaptığınız varsayımlara bağlıdır. Ek olarak, belirli bir modelin faydası, analizinizin bağlamına ve amacına da bağlıdır. George EP Box'tan alıntı yapmak: "Tüm modeller yanlış, ancak bazıları kullanışlı".

[1] Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K. ve Kowalski, BR (1997). Maksimum olabilirlik ana bileşen analizi. Chemometrics Dergisi, 11 (4), 339-366.

[2] Wentzell, PD ve Lohnes, MT (1999). İlişkili ölçüm hatalarıyla birlikte maksimum olabilirlik temel bileşen analizi: teorik ve pratik düşünceler. Kemometri ve Akıllı Laboratuvar Sistemleri, 45 (1-2), 65-85.

[3] Hoefsloot, HC, Verouden, MP, Westerhuis, JA ve Smilde, AK (2006). Maksimum olabilirlik ölçeklendirme (MALS). Chemometrics Dergisi, 20 (3‐4), 120-127.

[4] Narasimhan, S., & Shah, SL (2008). PCA kullanarak gürültülü verilerden model tanımlama ve hata kovaryansı matris kestirimi. Kontrol Mühendisliği Uygulaması, 16 (1), 146-155.

[5] Bahşiş, ME, & Bishop, CM (1999). Olasılık temel bileşen analizi. Kraliyet İstatistik Kurumu Dergisi: B Serisi (İstatistiksel Metodoloji), 61 (3), 611-622.


-1

Düz ve basit: eğer ölçekler benzer ise, cov-PCA kullanın, değilse, corr-PCA kullanın; Aksi halde, savunmamanız iyi olur. Şüphe durumunda, varyansların eşitliği için bir F testi kullanın (ANOVA). F testi başarısız olursa, düzeltme kullanın; Aksi takdirde, cov kullanın.


2
-1. F-testi yapmanın neden burada önemli olduğunu anlamıyorum. PCA bir keşif yöntemidir, doğrulayıcı değildir (istatistiksel testler gibi).
amip

-5

Ölçeğe dayanan argümanlar (aynı fiziksel birimlerde ifade edilen değişkenler için) oldukça zayıf görünmektedir. Standart sapmaları 0,001 ile 0,1 arasında değişen bir dizi (boyutsuz) değişken düşünün. Standartlaştırılmış 1 değerine kıyasla, her ikisi de 'küçük' ve karşılaştırılabilir dalgalanma seviyeleri gibi görünmektedir. Ancak, bunları desibel cinsinden ifade ettiğinizde, bu sırasıyla -10 ve 0 dB'ye karşı -60 dB aralığı verir. O zaman bu muhtemelen 'geniş bir aralık' olarak sınıflandırılır - özellikle 0'a yakın bir standart sapma ekleyecekseniz, yani eksi sonsuzluk dB.

Benim önerim BOTH'e korelasyon ve kovaryansa dayalı bir PCA yapmak olacaktır. Eğer ikisi de aynı (veya çok benzer, ne demekse) PC'leri verirse, anlamlı bir cevap aldığınızdan emin olabilirsiniz. Çok farklı PC'ler veriyorlarsa PCA kullanmazlar, çünkü bir sorunun iki farklı cevabı soruları çözmek için mantıklı bir yol değildir.


9
(-1) "Aynı soruna iki farklı cevap" almak genellikle sadece analitik amaçlarınız için hangi tekniğin uygun olduğunu düşünmeden akılsızca uzak durduğunuz anlamına gelir. Bu, (veya sizin belirttiğiniz gibi) her iki tekniğin de duyarlı olmadığı anlamına gelmez, ancak yalnızca en az birinin sorun veya veriler için uygun olamayacağı anlamına gelmez. Ayrıca, birçok durumda kovaryansa dayalı PCA'nın ve korelasyona dayalı PCA'nın farklı cevaplar vermesi beklenir . Sonuçta, verilerin farklı yönlerini ölçüyorlar. Her ikisini de varsayılan olarak yapmak mantıklı olmaz.
whuber

Aslında PCA'yı korelasyon ve kovaryans ile kullanırken 2 farklı cevap almak oldukça mantıklı. Hisse senedi durumunda, beta (veya standart sapma) dikkate almak gerekip gerekmediği bir sorudur
Juancentro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.