Apa perbedaan antara "beban" dan "beban korelasi" dalam PCA dan PLS?


11

Satu hal umum yang harus dilakukan ketika melakukan Principal Component Analysis (PCA) adalah merencanakan dua pemuatan satu sama lain untuk menyelidiki hubungan antar variabel. Dalam makalah yang menyertai paket PLS R untuk melakukan Regresi Komponen Utama dan regresi PLS ada plot yang berbeda, yang disebut plot pembebanan korelasi (lihat gambar 7 dan halaman 15 dalam makalah). The korelasi pembebanan , seperti yang dijelaskan, adalah korelasi antara skor (dari PCA atau PLS) dan data yang diamati sebenarnya.

Sepertinya saya bahwa pemuatan dan pemuatan korelasi cukup mirip, kecuali bahwa skalanya sedikit berbeda. Contoh direproduksi dalam R, dengan mtcars kumpulan data bawaan adalah sebagai berikut:

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')

memuat plot korelasiloadinsplot

Apa perbedaan interpretasi plot-plot ini? Dan plot mana (jika ada) yang terbaik untuk digunakan dalam praktek?


untuk tampilan yang lebih baik dari pca, gunakan biplot (pca), ini menunjukkan kepada Anda pemuatan dan skor pca dan sehingga Anda dapat menafsirkannya dengan lebih baik.
Paul

6
R prcomppaket dengan sembrono menyebut vektor eigen "pemuatan". Saya menyarankan untuk memisahkan istilah-istilah ini. Loading adalah vektor eigen yang ditingkatkan ke masing-masing nilai eigen.
ttnphns

1
Menjelaskan geometri plot pemuatan: stats.stackexchange.com/a/119758/3277
ttnphns

Jawaban:


13

Peringatan: Rmenggunakan istilah "memuat" dengan cara yang membingungkan. Saya jelaskan di bawah ini.

Pertimbangkan dataset dengan variabel (tengah) di kolom dan titik data dalam baris. Melakukan PCA dari dataset ini sama dengan dekomposisi nilai singular . Kolom adalah komponen utama (PC "skor") dan kolom adalah sumbu utama. Matriks kovarian diberikan oleh , jadi sumbu utama adalah vektor eigen dari matriks kovarians.XNX=USVUSV1N1XX=VS2N1VV

"Memuat" didefinisikan sebagai kolom , yaitu vektor eigen yang diskalakan oleh akar kuadrat dari masing-masing nilai eigen. Mereka berbeda dari vektor eigen! Lihat jawaban saya di sini untuk motivasi.L=VSN1

Dengan menggunakan formalisme ini, kita dapat menghitung matriks kovarian silang antara variabel asli dan PC standar: yaitu diberikan dengan memuat. Matriks korelasi silang antara variabel asli dan PC diberikan oleh ekspresi yang sama dibagi dengan standar deviasi dari variabel asli (menurut definisi korelasi). Jika variabel asli distandarisasi sebelum melakukan PCA (yaitu PCA dilakukan pada matriks korelasi) mereka semua sama dengan . Dalam kasus terakhir ini, matriks korelasi silang kembali diberikan hanya oleh .

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

Untuk menjernihkan kebingungan terminologis: apa yang disebut paket R "pembebanan" adalah sumbu utama, dan apa yang disebut "pembebanan korelasi" adalah (untuk PCA yang dilakukan pada matriks korelasi) pada pembebanan sebenarnya. Seperti yang Anda perhatikan sendiri, perbedaannya hanya pada penskalaan. Apa yang lebih baik untuk direncanakan, tergantung pada apa yang ingin Anda lihat. Pertimbangkan contoh sederhana berikut ini:

Biplots

Subplot kiri menunjukkan dataset 2D standar (setiap variabel memiliki varian unit), membentang di sepanjang diagonal utama. Subplot tengah adalah biplot : ini adalah plot pencar PC1 vs PC2 (dalam hal ini hanya dataset yang diputar 45 derajat) dengan deretan diplot di atas sebagai vektor. Perhatikan bahwa vektor dan terpisah 90 derajat; mereka memberi tahu Anda bagaimana sumbu asli berorientasi. Subplot kanan adalah biplot yang sama, tetapi sekarang vektor menunjukkan baris . Perhatikan bahwa sekarang vektor dan memiliki sudut tajam di antara mereka; mereka memberi tahu Anda berapa banyak variabel asli yang berkorelasi dengan PC, dan keduanya dan x y L x y x yVxyLxyxyberkorelasi jauh lebih kuat dengan PC1 dibandingkan dengan PC2. Saya kira kebanyakan orang lebih suka melihat jenis biplot yang tepat.

Perhatikan bahwa dalam kedua kasus, kedua vektor dan memiliki panjang satuan. Ini terjadi hanya karena dataset adalah 2D untuk memulai; dalam kasus ketika ada lebih banyak variabel, vektor individu dapat memiliki panjang kurang dari , tetapi mereka tidak pernah bisa mencapai di luar lingkaran unit. Bukti fakta ini saya tinggalkan sebagai latihan.y 1xy1

Mari kita lihat lagi dataset mtcars . Berikut adalah biplot dari PCA yang dilakukan pada matriks korelasi:

mtcars pca biplot

Garis hitam diplot menggunakan , garis merah diplot menggunakan .LVL

Dan ini adalah biplot dari PCA yang dilakukan pada matriks kovarians:

mtcars pca biplot

Di sini saya menskalakan semua vektor dan satuan lingkaran dengan , karena jika tidak maka tidak akan terlihat (ini adalah trik yang biasa digunakan). Sekali lagi, garis hitam menunjukkan baris , dan garis merah menunjukkan korelasi antara variabel dan PC (yang tidak lagi diberikan oleh , lihat di atas). Perhatikan bahwa hanya dua garis hitam yang terlihat; ini karena dua variabel memiliki varians yang sangat tinggi dan mendominasi dataset mtcars . Di sisi lain, semua garis merah bisa dilihat. Kedua representasi menyampaikan beberapa informasi yang bermanfaat.V L100VL

PS Ada banyak varian berbeda dari PCA biplots, lihat jawaban saya di sini untuk beberapa penjelasan lebih lanjut dan tinjauan umum: Memposisikan panah pada biplot PCA . Biplot tercantik yang pernah diposting di CrossValidated dapat ditemukan di sini .


2
Meskipun ini adalah jawaban yang sangat bagus (+1), ia memiliki satu kelemahan didaktis, yaitu pada awalnya menempatkan variabel dalam baris X, bukan di kolom X seperti yang biasanya masuk dalam dataset / contoh statistik. Karena itu transpos, vektor U menjadi di jawaban menjadi tentang variabel dan V tentang kasus. Kebanyakan orang mengetahui PCA terbiasa dengan tata letak yang berlawanan; jadi itu menghalangi persepsi, sedikit.
ttnphns

1
Saya mungkin menyarankan untuk menekankan secara verbal "moral" perbedaan antara "sumbu biplot" dan "memuat biplot" pada pemindaian. Pada awalnya, variabilitas (= skala, = magnidute, = inersia, = massa) tidak disajikan: ia disimpan dalam nilai eigen. Dalam yang kedua, diserahkan sepenuhnya ke vektor eigen yang mewakili variabel; berdasarkan "menghidupkan kembali" variabel menjadi awan data yang bermakna dari dua titik, atau vektor, dengan panjang spesifik dari asal dan sudut tertentu. Ini adalah bagaimana kita "tiba-tiba" menemukan diri kita dalam ruang subjek .
ttnphns

Terima kasih @ttnphns, keduanya poin bagus. Mengenai baris / kolom : sebenarnya, saya lebih suka tata letak yang saya gunakan. Titik data tunggal biasanya ditulis sebagai vektor kolom . Matriks bekerja di atasnya akan ditulis sebagai . Jika sekarang adalah kumpulan vektor kolom yang ditumpuk, maka saya dapat menulis , yang nyaman. Jika, sebagai gantinya, memiliki sampel dalam baris, seperti yang Anda sarankan, maka saya perlu menulis , yang terlihat aneh. Tetapi saya akui bahwa banyak buku ajar menggunakan konvensi ini (saya tidak yakin mengapa). x U U x X U X X X UXxUUxXUXXXU
amoeba mengatakan Reinstate Monica

1
Ini, tentu saja, masalah selera. Namun, perlu diingat bahwa sebagian besar program statistik menunjukkan spreadsheet data sebagai cases X variables. Secara tradisi, aljabar linier pada sebagian besar teks analisis statistik menjadikan case vektor baris. Mungkin dalam pembelajaran mesin itu berbeda?
ttnphns

1
@ pengguna_anon Tidak, jawaban ini mempertimbangkan PCA standar, tanpa rotasi faktor apa pun.
Amuba mengatakan Reinstate Monica
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.