Considera il seguente biplot PCA:
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)
Ci sono un sacco di frecce rosse tracciate, cosa significano? Sapevo che la prima freccia etichettata con "Var1" dovrebbe indicare la direzione più variabile del set di dati (se li consideriamo come 2000 punti di dati, ognuno dei quali è un vettore di dimensione 6). Ho anche letto da qualche parte, la direzione più variabile dovrebbe essere la direzione del primo vettore di autovettore.
Tuttavia, leggendo il codice del biplot in R. La riga sulle frecce è:
if(var.axes)
arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L],
Dov'è y
la matrice dei carichi, che è la matrice degli autovettori. Quindi sembra che la prima freccia stia effettivamente puntando da (0, 0)
a (y[1, 1], y[1, 2])
. Capisco che stiamo cercando di tracciare una freccia ad alta dimensione su un piano 2D. Ecco perché stiamo prendendo il 1o e il 2o elemento del y[1, ]
vettore. Tuttavia quello che non capisco è:
La prima direzione y[, 1]
dell'autovettore non dovrebbe essere il vettore indicato da , anziché y[1, ]
? (Anche in questo caso, ecco y
la matrice degli autovettori, ottenuta dalla PCA o dalla composizione dell'endigeni di t(x) %*% x
.) Cioè gli autovettori dovrebbero essere vettori di colonna, non quei vettori orizzontali.
Anche se li stiamo disegnando sul piano 2D, dovremmo disegnare la prima direzione da cui (0, 0)
puntare (y[1, 1], y[2, 1])
?