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.XNX = U S V⊤U SV1N- 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 .
1N- 1X⊤( N- 1-----√U )= 1N- 1-----√V S U⊤U = 1N- 1-----√V S = 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:
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 yVxyL.xyxyberkorelasi 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:
Garis hitam diplot menggunakan , garis merah diplot menggunakan .LVL
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 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 .