De lineaire algebra achter PCA

Lineaire algebra voor data science in R

Eric Eager

Data Scientist at Pro Football Focus

Theorie

De matrix $A^T$, de transponering van $A$, ontstaat door de rijen en kolommen van $A$ om te wisselen.

Staat je dataset in een matrix $A$ en is van elke kolom het gemiddelde van elk element in die kolom afgetrokken, dan is het $i,j$-de element van de matrix

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

waarbij $n$ het aantal rijen van $A$ is, de covariantie tussen de variabelen in de $i$-de en $j$-de kolom van de data.

Het $i$-de element op de diagonaal van $\frac{A^TA}{n - 1}$ is dus de variantie van de $i$-de kolom van de matrix.

Lineaire algebra voor data science in R

Theorie

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
Lineaire algebra voor data science in R

Theorie

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
Lineaire algebra voor data science in R

PCA

  • De eigenwaarden $\lambda_1, \lambda_2, ... \lambda_n$ van $\frac{A^TA}{n - 1}$ zijn reëel, en hun eigenvectoren zijn orthogonaal, dus wijzen in verschillende richtingen.

  • De totale variantie van de dataset is de som van de eigenwaarden van $\frac{A^TA}{n - 1}$.

  • Deze eigenvectoren $v_1, v_2, ..., v_n$ heten de hoofdcomponenten van de dataset in matrix $A$.

  • De richting van $v_j$ verklaart $\lambda_j$ van de totale variantie. Als $\lambda_j$, of een subset van $\lambda_1, \lambda_2, ... \lambda_n$, een groot deel van de totale variantie verklaart, kun je dimensiereductie toepassen.

Lineaire algebra voor data science in R

Voorbeeld

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
Lineaire algebra voor data science in R

Laten we oefenen!

Lineaire algebra voor data science in R

Preparing Video For Download...