Apa arti panah dalam biplot PCA?

14

Pertimbangkan biplot PCA berikut:

library(mvtnorm)
set.seed(1)
x  <- rmvnorm(2000, rep(0, 6), diag(c(5, rep(1,5))))
x  <- scale(x, center=T, scale=F)
pc <- princomp(x)
biplot(pc)

masukkan deskripsi gambar di sini

Ada sekelompok panah merah yang diplot, apa artinya? Saya tahu bahwa panah pertama berlabel "Var1" harus menunjukkan arah yang paling beragam dari kumpulan data (jika kita menganggapnya sebagai 2000 titik data, masing-masing berupa vektor ukuran 6). Saya juga membaca dari suatu tempat, arah yang paling bervariasi adalah arah vektor eigen pertama.

Namun, membaca kode biplot di R. Baris tentang panah adalah:

if(var.axes)
    arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L], 

Di mana ysebenarnya memuat matriks, yang merupakan vektor vektor eigen. Jadi sepertinya panah ke-1 sebenarnya menunjuk dari (0, 0)ke (y[1, 1], y[1, 2]). Saya mengerti bahwa kami mencoba untuk merencanakan panah dimensi tinggi ke bidang 2D. Itu sebabnya kami mengambil elemen 1 dan 2 dari y[1, ]vektor. Namun yang tidak saya mengerti adalah:

Bukankah seharusnya arah vektor eigen pertama menjadi vektor yang dilambangkan dengan y[, 1], bukan y[1, ]? (Sekali lagi, yini adalah matriks vektor eigen, yang diperoleh dengan PCA atau dengan komposisi eigend dari t(x) %*% x.) Yaitu vektor eigen haruslah vektor kolom, bukan vektor horizontal tersebut.

Meskipun kita memplotnya pada bidang 2D, kita harus menggambar arah pertama dari (0, 0)menunjuk ke (y[1, 1], y[2, 1])?

Luna
sumber
2
Juga pertimbangkan untuk mencoba menggunakan pemformatan yang tersedia untuk pertanyaan di situs, lihat bantuan penurunan harga lanjutan . Saya melihat tidak ada pertanyaan Anda sebelumnya yang memiliki jawaban, dan jika Anda mengeditnya agar lebih mudah dibaca, mereka akan menabrak bagian atas daftar dan dapat menarik jawaban.
Andy W
@Andy W Referensi yang sangat baik
conjugateprior
@Andy W: Setelah membaca referensi Anda yang sangat bagus, saya masih berpikir kode R biplot.princomp memiliki bug: matriks pemuatan (matriks eigenvector) harus ditransformasikan sebelum dikirim ke biplot.princomp ... Ada pemikiran?
Luna
Sepertinya tidak ada bug .
chl
@Andy W: apakah Anda ingin memasukkan komentar Anda ke dalam "jawaban" sehingga saya dapat menerima jawaban Anda? Itu hebat! Terima kasih banyak!
Luna

Jawaban:

9

Nah, tampaknya Kevin Wright harus diberikan sebagian besar kredit untuk mencoba membantu menjelaskan kebingungan (dari daftar surat R-help );

Panah tidak menunjuk ke arah data yang paling beragam. Komponen utama menunjuk ke arah data yang paling beragam. Tetapi Anda tidak merencanakan data pada skala asli, Anda merencanakan data pada skala yang diputar, dan dengan demikian sumbu horizontal adalah arah data yang paling beragam.

Panah menunjuk ke arah variabel, seperti yang diproyeksikan ke bidang 2-d dari biplot.

Tidak ada bug.

Kevin Wright

Michael Greenacre memiliki buku online gratis yang sangat bagus tentang biplots, Biplots in Practice , dan sekadar membaca bab pertama akan membantu memotivasi dari mana koordinat panah diambil. Ada juga beberapa pertanyaan lain di situs yang serupa dan Anda mungkin tertarik, lihat Interpretasi biplots dalam analisis komponen utama dalam R dan Interpretasi plot faktor MDS untuk dua contoh. Lihat juga pertanyaan-pertanyaan dengan biplot dalam pencarian di situs , karena ada beberapa potensi yang lebih menarik (tampaknya bahkan membuat tag biplot akan berguna pada titik ini mengingat jumlah pertanyaan yang muncul).

Andy W
sumber