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')
Apa perbedaan interpretasi plot-plot ini? Dan plot mana (jika ada) yang terbaik untuk digunakan dalam praktek?
sumber
R
prcomp
paket dengan sembrono menyebut vektor eigen "pemuatan". Saya menyarankan untuk memisahkan istilah-istilah ini. Loading adalah vektor eigen yang ditingkatkan ke masing-masing nilai eigen.Jawaban:
Peringatan:
R
menggunakan 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.X N X = U S V⊤ U S V 1N- 1X⊤X = V S2N- 1V⊤ V
"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 = V SN- 1√
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 .
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:
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 yV x y L. x y x y berkorelasi 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 1x y 1
Mari kita lihat lagi dataset mtcars . Berikut adalah biplot dari PCA yang dilakukan pada matriks korelasi:
Garis hitam diplot menggunakan , garis merah diplot menggunakan .LV L
Dan ini adalah biplot dari PCA yang dilakukan pada matriks kovarians:
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 L100 V L
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 .
sumber
cases X variables
. Secara tradisi, aljabar linier pada sebagian besar teks analisis statistik menjadikan case vektor baris. Mungkin dalam pembelajaran mesin itu berbeda?