다음 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)
많은 빨간색 화살표가 그려져 있습니다. 무슨 의미입니까? "Var1"이라는 레이블이 붙은 첫 번째 화살표는 데이터 세트의 가장 다양한 방향을 가리켜 야한다는 것을 알고있었습니다 (만약 데이터가 2000 개의 데이터 포인트라고 생각하면 각각 크기가 6 인 벡터). 나는 또한 어딘가에서 읽었으며, 가장 다양한 방향은 첫 번째 고유 벡터의 방향이어야합니다.
그러나 R의 biplot 코드를 읽으면 화살표에 대한 선은 다음과 같습니다.
if(var.axes)
arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L],
y
실제로 로딩 행렬은 어디에 있으며, 이것은 고유 벡터 행렬입니다. 따라서 첫 번째 화살표가 실제로에서 (0, 0)
를 가리키는 것처럼 보입니다 (y[1, 1], y[1, 2])
. 고차원 화살표를 2D 평면에 표시하려고한다는 것을 알고 있습니다. 이것이 우리가 y[1, ]
벡터 의 첫 번째와 두 번째 요소를 취하는 이유 입니다. 그러나 내가 이해하지 못하는 것은 :
첫 번째 고유 벡터 방향이 y[, 1]
대신 로 표시된 벡터가 아니어야합니까 y[1, ]
? (다시 말해서, 여기 y
PCA 또는 고유 분해에 의해 얻어진 고유 벡터 행렬이있다 t(x) %*% x
.) 고유 벡터는 수평 벡터가 아니라 열 벡터 여야한다.
2D 평면에 플로팅하는 경우에도 첫 번째 방향을 (0, 0)
가리키는 방향을 그려야 (y[1, 1], y[2, 1])
합니까?