Aşağıdaki PCA biplotunu düşünün:
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)
Bir sürü kırmızı ok çizilir, ne anlama geliyorlar? "Var1" ile etiketlenmiş ilk okun veri kümesinin en değişken yönünü göstermesi gerektiğini biliyordum (eğer bunları 2000 veri noktası olarak düşünürsek, her biri 6 boyutlu bir vektördür). Ayrıca bir yerden okudum, en değişken yön 1. öz vektörünün yönü olmalıdır.
Bununla birlikte, R'deki biplot kodunu okumak. Oklarla ilgili çizgi:
if(var.axes)
arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L],
y
Özvektör matrisi olan aslında yükleme matrisi nerede . 1 ok aslında dan işaret ediyor gibi Öyle görünüyor (0, 0)
için (y[1, 1], y[1, 2])
. Anladığım kadarıyla 2D boyutlu bir düzlemde yüksek boyutlu bir ok çizmeye çalışıyoruz. Bu yüzden y[1, ]
vektörün 1. ve 2. elemanlarını alıyoruz . Ancak anlamıyorum:
1. özvektör yönü vektör y[, 1]
yerine ile gösterilen değil y[1, ]
mi? (Yine, burada y
PCA veya özdiyokompozisyonu ile elde edilen özvektör matrisi bulunmaktadır t(x) %*% x
.) Yani özvektörler, bu yatay vektörler değil sütun vektörleri olmalıdır.
Onları 2D düzlemde çiziyor olsak da, (0, 0)
işaret etmek için 1. yönü çizmeliyiz (y[1, 1], y[2, 1])
?