Линейная алгебра для науки о данных на R
Eric Eager
Data Scientist at Pro Football Focus
Матрица $A^T$, транспонированная матрица $A$, получается заменой строк и столбцов местами.
Если набор данных представлен матрицей $A$ и из каждого элемента столбца вычтено среднее значение этого столбца, то элемент $(i,j)$ матрицы
$$\frac{A^TA}{n - 1},$$
где $n$ — число строк $A$, равен ковариации между переменными $i$-го и $j$-го столбцов.
Таким образом, $i$-й элемент диагонали $\frac{A^TA}{n - 1}$ — это дисперсия $i$-го столбца матрицы.
print(A)
[,1] [,2]
[1,] 1 2
[2,] 2 4
[3,] 3 6
[4,] 4 8
[5,] 5 10
A[, 1] <- A[, 1] - mean(A[, 1])
A[, 2] <- A[, 2] - mean(A[, 2])
print(A)
[,1] [,2]
[1,] -2 -4
[2,] -1 -2
[3,] 0 0
[4,] 1 2
[5,] 2 4
t(A)%*%A/(nrow(A) - 1)
[,1] [,2]
[1,] 2.5 5
[2,] 5.0 10
cov(A[, 1], A[, 2])
5
var(A[, 1])
2.5
var(A[, 2])
10
Собственные значения $\lambda_1, \lambda_2, ... \lambda_n$ матрицы $\frac{A^TA}{n - 1}$ вещественны, а соответствующие им собственные векторы ортогональны, то есть указывают в различных направлениях.
Полная дисперсия набора данных равна сумме собственных значений матрицы $\frac{A^TA}{n - 1}$.
Эти собственные векторы $v_1, v_2, ..., v_n$ называются главными компонентами набора данных в матрице $A$.
Направление вектора $v_j$ объясняет долю $\lambda_j$ от общей дисперсии. Если $\lambda_j$ или подмножество $\lambda_1, \lambda_2, ... \lambda_n$ объясняют значительную часть дисперсии, появляется возможность снижения размерности.
eigen(t(A)%*%A/(nrow(A) - 1))
eigen() decomposition
$`values`
[1] 12.5 0.0
$vectors
[,1] [,2]
[1,] 0.4472136 -0.8944272
[2,] 0.8944272 0.4472136
Линейная алгебра для науки о данных на R