Algebra liniowa w PCA

Algebra liniowa dla data science w R

Eric Eager

Data Scientist at Pro Football Focus

Teoria

Macierz $A^T$, transpozycja macierzy $A$, powstaje przez zamianę wierszy i kolumn macierzy $A$.

Jeśli zbiór danych jest zawarty w macierzy $A$, a od każdego elementu każdej kolumny odjęto średnią tej kolumny, to element $i,j$ macierzy

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

gdzie $n$ to liczba wierszy macierzy $A$, jest kowariancją między zmiennymi w $i$-tej i $j$-tej kolumnie danych.

Tym samym $i$-ty element przekątnej macierzy $\frac{A^TA}{n - 1}$ jest wariancją $i$-tej kolumny.

Algebra liniowa dla data science w 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
Algebra liniowa dla data science w 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
Algebra liniowa dla data science w R

PCA

  • Wartości własne $\lambda_1, \lambda_2, ... \lambda_n$ macierzy $\frac{A^TA}{n - 1}$ są rzeczywiste, a odpowiadające im wektory własne są ortogonalne, tzn. wskazują różne kierunki.

  • Całkowita wariancja zbioru danych to suma wartości własnych macierzy $\frac{A^TA}{n - 1}$.

  • Wektory własne $v_1, v_2, ..., v_n$ noszą nazwę głównych składowych zbioru danych zawartego w macierzy $A$.

  • Kierunek wektora $v_j$ wyjaśnia $\lambda_j$ całkowitej wariancji. Jeśli $\lambda_j$ lub podzbiór $\lambda_1, \lambda_2, ... \lambda_n$ wyjaśnia znaczną część wariancji, istnieje możliwość redukcji wymiaru.

Algebra liniowa dla data science w R

Przykład

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
Algebra liniowa dla data science w R

Czas na ćwiczenia!

Algebra liniowa dla data science w R

Preparing Video For Download...