考虑以下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)
有一堆红色箭头,它们是什么意思?我知道标有“ 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])
?