Aljabar Linear untuk Data Science di R
Eric Eager
Data Scientist at Pro Football Focus
Matriks $A^T$, transpose dari $A$, adalah matriks yang dibuat dengan menukar baris dan kolom $A$.
Jika data Anda ada pada matriks $A$, dan rerata tiap kolom telah dikurangkan dari setiap elemennya, maka elemen ke-$i,j$ dari matriks
$$\frac{A^TA}{n - 1},$$
di mana $n$ adalah jumlah baris $A$, adalah kovariansi antara variabel pada kolom ke-$i$ dan ke-$j$ dari data pada matriks.
Dengan demikian, elemen ke-$i$ pada diagonal $\frac{A^TA}{n - 1}$ adalah varians kolom ke-$i$ dari matriks.
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
Nilai eigen $\lambda_1, \lambda_2, ... \lambda_n$ dari $\frac{A^TA}{n - 1}$ adalah bilangan real, dan vektor eigennya ortogonal, atau mengarah ke arah berbeda.
Total varians dataset adalah jumlah nilai eigen dari $\frac{A^TA}{n - 1}$.
Vektor-vektor eigen $v_1, v_2, ..., v_n$ disebut komponen utama dari dataset pada matriks $A$.
Arah $v_j$ menjelaskan sebesar $\lambda_j$ dari total varians dalam dataset. Jika $\lambda_j$, atau subset dari $\lambda_1, \lambda_2, ... \lambda_n$, menjelaskan porsi varians yang besar, ada peluang untuk reduksi dimensi.
eigen(t(A)%*%A/(nrow(A) - 1))
decomposition eigen()
$`values`
[1] 12.5 0.0
$vectors
[,1] [,2]
[1,] 0.4472136 -0.8944272
[2,] 0.8944272 0.4472136
Aljabar Linear untuk Data Science di R