Algebra lineare per la Data Science in R
Eric Eager
Data Scientist at Pro Football Focus
La matrice $A^T$, la trasposta di $A$, si ottiene scambiando righe e colonne di $A$.
Se il tuo dataset è in una matrice $A$ e la media di ogni colonna è stata sottratta a ciascun elemento della colonna, allora l’elemento $i,j$ della matrice
$$\frac{A^TA}{n - 1},$$
dove $n$ è il numero di righe di $A$, è la covarianza tra le variabili nella $i$-esima e $j$-esima colonna dei dati.
Quindi, l’elemento $i$ della diagonale di $\frac{A^TA}{n - 1}$ è la varianza della $i$-esima colonna della matrice.
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
Gli autovalori $\lambda_1, \lambda_2, ... \lambda_n$ di $\frac{A^TA}{n - 1}$ sono reali e i relativi autovettori sono ortogonali, cioè puntano in direzioni distinte.
La varianza totale del dataset è la somma degli autovalori di $\frac{A^TA}{n - 1}$.
Questi autovettori $v_1, v_2, ..., v_n$ sono le componenti principali del dataset nella matrice $A$.
La direzione di $v_j$ spiega $\lambda_j$ della varianza totale. Se $\lambda_j$, o un sottoinsieme di $\lambda_1, \lambda_2, ... \lambda_n$, spiega una quota rilevante della varianza totale, c’è spazio per ridurre le dimensioni.
eigen(t(A)%*%A/(nrow(A) - 1))
scomposizione eigen()
$`values`
[1] 12.5 0.0
$vectors
[,1] [,2]
[1,] 0.4472136 -0.8944272
[2,] 0.8944272 0.4472136
Algebra lineare per la Data Science in R