Considere el siguiente biplot de 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)
Hay un montón de flechas rojas trazadas, ¿qué significan? Sabía que la primera flecha etiquetada con "Var1" debería apuntar a la dirección más variable del conjunto de datos (si los consideramos como 2000 puntos de datos, cada uno de los cuales es un vector de tamaño 6). También leí en alguna parte, la dirección más variable debería ser la dirección del primer vector propio.
Sin embargo, leyendo el código de biplot en R. La línea sobre las flechas es:
if(var.axes)
arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L],
¿Dónde y
está realmente la matriz de cargas, que es la matriz de vectores propios. Entonces parece que la primera flecha apunta en realidad desde(0, 0)
a (y[1, 1], y[1, 2])
. Entiendo que estamos tratando de trazar una flecha de alta dimensión en un plano 2D. Es por eso que estamos tomando el primer y segundo elemento del y[1, ]
vector. Sin embargo, lo que no entiendo es:
¿No debería ser la primera dirección del vector propio el vector denotado por y[, 1]
, en lugar de y[1, ]
? (De nuevo, aquíy
está la matriz de vectores propios, obtenida por PCA o por descomposición propia de t(x) %*% x
.) Es decir, los vectores propios deben ser vectores de columna, no esos vectores horizontales.
A pesar de que los estamos trazando en un plano 2D, ¿debemos dibujar la primera dirección desde la que (0, 0)
apuntamos (y[1, 1], y[2, 1])
?