Betrachten Sie den folgenden PCA-Biplot:
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)
Es sind ein paar rote Pfeile eingezeichnet. Was bedeuten sie? Ich wusste, dass der erste mit "Var1" beschriftete Pfeil in die unterschiedlichste Richtung des Datensatzes zeigen sollte (wenn wir sie als 2000 Datenpunkte betrachten, wobei jeder ein Vektor der Größe 6 ist). Ich habe auch irgendwo gelesen, dass die unterschiedlichste Richtung die Richtung des 1. Eigenvektors sein sollte.
Einlesen des Biplot-Codes in R. Die Linie um die Pfeile lautet:
if(var.axes)
arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L],
Wo y
ist eigentlich die Ladungsmatrix, die die Eigenvektormatrix ist? Es sieht also so aus, als ob der 1. Pfeil tatsächlich von (0, 0)
nach zeigt (y[1, 1], y[1, 2])
. Ich verstehe, dass wir versuchen, einen hochdimensionalen Pfeil auf eine 2D-Ebene zu zeichnen. Deshalb nehmen wir das 1. und 2. Element des y[1, ]
Vektors. Was ich jedoch nicht verstehe, ist:
Sollte nicht die erste Eigenvektor Richtung des Vektors von bezeichnet werden y[, 1]
, statt y[1, ]
? (Wiederum ist hier y
die Eigenvektormatrix, die durch PCA oder durch Neuzusammenstellung von erhalten wird t(x) %*% x
.) Dh die Eigenvektoren sollten Spaltenvektoren sein, nicht diese horizontalen Vektoren.
Obwohl wir sie in der 2D-Ebene zeichnen, sollten wir die erste Richtung zeichnen, um vom (0, 0)
Zeigen auf (y[1, 1], y[2, 1])
?