PCA ve PLS'de “yüklemeler” ve “korelasyon yüklemeleri” arasındaki fark nedir?


11

Temel Bileşen Analizi (PCA) yaparken yapılacak ortak bir şey, değişkenler arasındaki ilişkileri araştırmak için birbirine karşı iki yük çizmektir. Temel Bileşen Regresyonu ve PLS regresyonu yapmak için PLS R paketine eşlik eden makalede , korelasyon yükleme grafiği olarak adlandırılan farklı bir grafik vardır (makalede şekil 7 ve sayfa 15'e bakınız). Korelasyon yükleme , bu açıklandığı gibi, (PCA veya PLS) puanları arasındaki ilişki ve gerçek gözlemlenen verilerdir.

Bana öyle geliyor ki, yükler ve korelasyon yükleri oldukça benzerdir, ancak bunlar biraz farklı ölçeklenir. Dahili veri seti mtcar'ları ile R'de tekrarlanabilir bir örnek aşağıdaki gibidir:

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

loadingplot correlationloadinsplot

Bu grafiklerin yorumlanmasındaki fark nedir? Ve pratikte hangi arsa (varsa) kullanmak en iyisidir?


pca'nın daha iyi bir görünümü için biplot (pca) kullanın, size pca'nın yüklenmesini ve puanlarını gösterir ve böylece daha iyi yorumlayabilirsiniz.
Paul

6
R prcomppaketi dikkatsizce özvektörleri "yükleme" olarak adlandırır. Bu şartları ayrı tutmanızı tavsiye ederim . Yükler, ilgili özdeğerlere göre ölçeklendirilmiş özvektörlerdir.
ttnphns

1
Bir yükleme grafiğinin geometrisi açıklanıyor
ttnphns

Yanıtlar:


13

Uyarı: R"yüklemeler" terimini kafa karıştırıcı bir şekilde kullanır. Aşağıda açıklarım.

Sütunlarda (ortalanmış) değişkenler ve satırlarda veri noktaları olan veri kümesi düşünün . Bu veri kümesinin PCA'sını gerçekleştirmek, tekil değer ayrıştırma . sütunları ana bileşenlerdir (PC "puanları") ve sütunları ana eksenlerdir. Kovaryans matrisi , bu nedenle ana eksenler kovaryans matrisinin özvektörleridir.XNX=USVUSV1N1XX=VS2N1VV

"Yüklemeler" sütunları olarak tanımlanır , yani ilgili özdeğerlerin kare kökleri ile ölçeklendirilmiş özvektörlerdir. Özvektörlerden farklılar! Motivasyon için cevabımı burada görebilirsiniz .L=VSN1

Bu formalizmi kullanarak, orijinal değişkenler ve standart PC'ler arasında çapraz kovaryans matrisi hesaplayabiliriz: yani yüklemelerle verilir. Orijinal değişkenler ve PC'ler arasındaki çapraz korelasyon matrisi, aynı ifadenin orijinal değişkenlerin standart sapmalarına bölünmesiyle (korelasyonun tanımı ile) verilir. Orijinal değişkenler PCA yapılmadan önce standartlaştırıldıysa (yani korelasyon matrisi üzerinde PCA gerçekleştirildi) hepsi eşittir . Bu son durumda çapraz korelasyon matrisi yine basitçe tarafından verilmektedir .

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

Terminolojik karışıklığı gidermek için: R paketinin "yükler" olarak adlandırdığı ana eksenlerdir ve "korelasyon yükleri" olarak adlandırdığı şey (korelasyon matrisi üzerinde yapılan PCA için) aslında yüklemelerdir. Kendinizi fark ettiğiniz gibi, sadece ölçeklemede farklılık gösterirler. Planlamak için daha iyi olan şey, görmek istediğinize bağlıdır. Aşağıdaki basit bir örneği ele alalım:

Biplots

Sol alt grafik, ana diyagonal boyunca uzatılmış standart bir 2D veri kümesini (her değişkenin birim varyansı vardır) gösterir. Orta alt plan a, Biplot : bu sıraları ile (sadece veri seti 45 derece döndürülür, bu durumda), PC2 vs PC1 bir saçılma grafiğidir vektörler olarak üst grafiğe geçirilmiştir. ve vektörlerinin 90 derece aralıklı olduğuna dikkat edin ; size orijinal eksenlerin nasıl yönlendirildiğini söylerler. Sağ alt grafik aynı biplottur, ancak şimdi vektörler satırlarını gösteriyor . Şimdi ve vektörlerinin aralarında bir dar açı olduğuna dikkat edin; orijinal değişkenler PC'ler ile ilişkilidir ne kadar sevdiğimi söylemek ve her iki ve x y U x y x yVxyLxyxyPC1 ile PC2'den çok daha güçlü ilişkilidir. Ben sanırım çoğu kişi en sık Biplot doğru türde görmeyi tercih olduğunu.

Her iki durumda, hem bu ve vektörler ünite uzunluğuna sahiptir. Bu sadece veri kümesinin başlaması için 2B olması nedeniyle oldu; daha değişken vardır durumda, bireysel vektörler az uzunluğa sahip olabilir , ancak birim çemberin dışına ulaşmak asla. Bunun bir kanıtı olarak egzersiz olarak ayrılıyorum.y 1xy1

Şimdi mtcars veri setine bir göz atalım . Korelasyon matrisi üzerinde yapılan bir PCA biplotu:

mtcars pca biplot

Siyah çizgiler kullanılarak , kırmızı çizgiler kullanılarak çizilir .LVL

Ve burada kovaryans matrisinde yapılan PCA'nın bir biplotu:

mtcars pca biplot

Burada tüm vektörleri ve birim çemberini ölçeklendirdim , çünkü aksi takdirde görünür olmazdı (yaygın olarak kullanılan bir numaradır). Yine, siyah çizgiler satırlarını gösterir ve kırmızı çizgiler değişkenler ve PC'ler arasındaki korelasyonları gösterir (bunlar artık tarafından verilmemektedir , yukarıya bakınız). Yalnızca iki siyah çizginin görünür olduğuna dikkat edin; bunun nedeni, iki değişkenin çok yüksek varyansa sahip olması ve mtcars veri kümesine hakim olmasıdır . Öte yandan, tüm kırmızı çizgiler görülebilir. Her iki gösterim de bazı yararlı bilgiler taşır.V L100VL

Not: PCA biplotlarının birçok farklı çeşidi vardır, daha fazla açıklama ve genel bakış için cevabımı buraya bakın: Okları PCA biplotuna yerleştirme . CrossValidated'da yayınlanan en güzel biplot burada bulunabilir .


2
Bu çok iyi bir cevap (+1) olmasına rağmen, sadece istatistikî veri kümelerinde / örneklerde olduğu gibi değişkenleri X'in sütunlarına değil, X satırlarına koyduğu için sadece didaktik bir zayıflığı vardır. Bu devrik nedeniyle, U vektörleri değişkenler ve V ile ilgili olmanın yanıtı haline gelir. PCA bilen çoğu insan zıt düzene alışır; bu yüzden algıyı biraz engelliyor.
ttnphns

1
Taramadaki "eksenler biplotu" ve "yükleme biplotu" arasındaki farkın sözlü olarak "ahlaki" olarak vurgulanmasını önerebilirim. İlkinde, değişkenlik (= ölçek, = büyüklük, = atalet, = kütle) sunulmaz: özdeğerlerde saklanır. İkincisinde, değişkenleri temsil eden özvektörlere tamamen verildi; bu "canlandırıcı" sayesinde değişkenler başlangıç ​​noktasından ve belirli açıdan belirli uzunluklara sahip iki nokta veya vektörün anlamlı veri bulutu haline gelir. Kendimizi konu alanında "aniden" bu şekilde buluruz .
ttnphns

Teşekkürler @ttnphns, her ikisi de iyi puan. satırları / sütunları ile ilgili olarak : aslında kullandığım düzeni tercih ederim. Tek bir veri noktası genellikle sütun vektörü olarak yazılır . Üzerine etki eden bir matrix olarak yazılır . Şimdi , birlikte yığılmış sütun vektörlerinin bir koleksiyonuysa , uygun olan yazabilirim . Bunun yerine, satırları, savunucusu olarak örnekleri varsa, o zaman tuhaf görünüyor yazmam gerekir. Ancak birçok ders kitabının bu sözleşmeyi kullandığını itiraf ediyorum (neden olduğundan emin değilim). x U U x X U X X X UXxUUxXUXXXU
amip

1
Elbette bu bir zevk meselesi. Bununla birlikte, istatistiksel programların büyük çoğunluğunun veri tablolarını olarak gösterdiğini unutmayın cases X variables. O zaman geleneğe göre, çoğu istatistiksel analiz metninde doğrusal cebir, durumu bir satır vektörü haline getirir. Belki makine öğrenmede farklıdır?
ttnphns

1
@user_anon Hayır, bu cevap faktör döndürme olmadan standart PCA'yı dikkate alır.
amip
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.