Розглянемо наступний PCAP біплот:
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). Я також звідкись читаю, найрізноманітнішим напрямком повинен бути напрямок 1-го власного вектора.
Однак, читаючи код біплоту в Р. Рядок про стрілки:
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 площині. Ось чому ми беремо 1-й і 2-й елемент y[1, ]
вектора. Однак я не розумію:
Чи не повинен напрямок першого власного вектора бути позначеним вектором y[, 1]
, а не y[1, ]
? (Знову ж, ось y
матриця власного вектора, отримана за допомогою PCA або шляхом ейгендекомпозиції t(x) %*% x
.) Тобто власними векторами повинні бути вектори стовпців, а не горизонтальні вектори.
Хоча ми будуємо їх на двовимірній площині, нам слід намалювати 1-й напрямок, який повинен бути від (0, 0)
вказівки до (y[1, 1], y[2, 1])
?