L'algèbre linéaire derrière l'ACP

Algèbre linéaire pour la science des données en R

Eric Eager

Data Scientist at Pro Football Focus

Théorie

La matrice $A^T$, la transposée de $A$, est obtenue en échangeant les lignes et les colonnes de $A$.

Si votre ensemble de données est une matrice $A$ et que la moyenne de chaque colonne a été soustraite de chaque élément de cette colonne, alors l'élément $i,j$ de la matrice

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

où $n$ est le nombre de lignes de $A$, est la covariance entre les variables des colonnes $i$ et $j$ des données.

Ainsi, l'élément $i$ de la diagonale de $\frac{A^TA}{n - 1}$ est la variance de la colonne $i$ de la matrice.

Algèbre linéaire pour la science des données en R

Théorie

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
Algèbre linéaire pour la science des données en R

Théorie

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
Algèbre linéaire pour la science des données en R

ACP

  • Les valeurs propres $\lambda_1, \lambda_2, ... \lambda_n$ de $\frac{A^TA}{n - 1}$ sont réelles, et leurs vecteurs propres correspondants sont orthogonaux, donc orientés dans des directions distinctes.

  • La variance totale de l'ensemble de données est la somme des valeurs propres de $\frac{A^TA}{n - 1}$.

  • Ces vecteurs propres $v_1, v_2, ..., v_n$ sont les composantes principales de l'ensemble de données dans la matrice $A$.

  • La direction de $v_j$ explique $\lambda_j$ de la variance totale. Si $\lambda_j$, ou un sous-ensemble de $\lambda_1, \lambda_2, ... \lambda_n$, explique une part importante de la variance totale, on peut réduire la dimension.

Algèbre linéaire pour la science des données en R

Exemple

eigen(t(A)%*%A/(nrow(A) - 1))
décomposition de eigen()
$`values`
[1] 12.5  0.0

$vectors
          [,1]       [,2]
[1,] 0.4472136 -0.8944272
[2,] 0.8944272  0.4472136
Algèbre linéaire pour la science des données en R

Passons à la pratique !

Algèbre linéaire pour la science des données en R

Preparing Video For Download...