A álgebra linear por trás do PCA

Álgebra Linear para Data Science em R

Eric Eager

Data Scientist at Pro Football Focus

Teoria

A matriz $A^T$, a transposta de $A$, é formada trocando as linhas pelas colunas de $A$.

Se seu conjunto de dados está em uma matriz $A$ e a média de cada coluna foi subtraída de cada elemento dessa coluna, então o elemento $i,j$ da matriz

$$\frac{A^TA}{n - 1},$$

onde $n$ é o número de linhas de $A$, é a covariância entre as variáveis nas colunas $i$ e $j$ dos dados.

Assim, o $i$-ésimo elemento da diagonal de $\frac{A^TA}{n - 1}$ é a variância da $i$-ésima coluna da matriz.

Álgebra Linear para Data Science em R

Teoria

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
Álgebra Linear para Data Science em R

Teoria

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
Álgebra Linear para Data Science em R

PCA

  • Os autovalores $\lambda_1, \lambda_2, ... \lambda_n$ de $\frac{A^TA}{n - 1}$ são reais, e seus autovetores correspondentes são ortogonais, ou apontam para direções distintas.

  • A variância total do conjunto de dados é a soma dos autovalores de $\frac{A^TA}{n - 1}$.

  • Esses autovetores $v_1, v_2, ..., v_n$ são os componentes principais do conjunto de dados na matriz $A$.

  • A direção para a qual $v_j$ aponta explica $\lambda_j$ da variância total do conjunto de dados. Se $\lambda_j$, ou um subconjunto de $\lambda_1, \lambda_2, ... \lambda_n$, explica uma parcela significativa da variância total, há oportunidade de redução de dimensionalidade.

Álgebra Linear para Data Science em R

Exemplo

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
Álgebra Linear para Data Science em R

Vamos praticar!

Álgebra Linear para Data Science em R

Preparing Video For Download...