Dalam matematika, eigenvalues (nilai eigen) dan eigenvectors (vektor eigen) adalah konsep yang penting dalam teori matriks dan aljabar linier. Mereka terkait dengan transformasi linear dan matriks, dan memberikan informasi penting tentang sifat-sifat dasar dari matriks tersebut.
Dalam konteks ruang vektor riil (R^n), eigenvalues dan eigenvectors dari sebuah matriks persegi dapat ditemukan dengan mencari solusi dari persamaan:
A * v = λ * v
di mana A adalah matriks persegi n x n, v adalah vektor eigen, dan λ adalah nilai eigen yang sesuai.
Eigenvalues (nilai eigen) adalah solusi dari persamaan karakteristik:
det(A - λ * I) = 0
di mana det adalah determinan, A adalah matriks n x n, λ adalah nilai eigen yang dicari, dan I adalah matriks identitas n x n.
Eigenvalues bisa berupa bilangan real atau kompleks tergantung pada sifat matriks. Jika sebuah matriks memiliki bilangan kompleks sebagai eigenvalues, maka akan ada pasangan eigenvectors kompleks konjugat yang sesuai.
Setelah eigenvalues ditemukan, eigenvectors (vektor eigen) yang sesuai dapat ditentukan dengan memecahkan persamaan sistem linier:
(A - λ * I) * v = 0
di mana A adalah matriks n x n, λ adalah nilai eigen yang dicari, I adalah matriks identitas n x n, dan v adalah vektor eigen.
Eigenvectors tidak unik, artinya jika v adalah eigenvector yang sesuai dengan eigenvalue λ, maka skalar c * v (dengan c ≠ 0) juga merupakan eigenvector yang sesuai dengan eigenvalue yang sama.
Dalam praktiknya, untuk menemukan eigenvalues dan eigenvectors, biasanya digunakan metode numerik seperti metode iteratif atau dekomposisi matriks seperti dekomposisi eigen (eigenvalue decomposition) atau dekomposisi singular (singular value decomposition).
library(mvtnorm)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
library(matlib)
## Standard deviation
sigma <- matrix(c(4,3,3,4), ncol = 2, nrow = 2)
## Mean
mu <- c(5, 5)
n <- 1000
set.seed(123)
x <- rmvnorm(n = n, mean = mu, sigma = sigma)
d <- data.frame(x)
p2 <- ggplot(d, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p2
Untuk Aplikasi Praktis pada bagian ini, kita akan membahas bagaimana kita dapat menghitung komponen utama pertama dan kedua dari kumpulan data. Kembali ke contoh kerja untuk bagian ini, kami menghasilkan 1000 titik data di bawah distribusi normal bivariat dengan µ = 5 5 , σ = 4 3 3 4 , di mana µ adalah rata-rata dan σ adalah matriks kovarians yang mendefinisikan deviasi standar untuk distribusi normal bivariat.
Perhatikan bahwa matriks kovarians ini simetris. Untuk mendefinisikan deviasi standar untuk distribusi normal multivariat, matriks kovarians harus simetris. Namun, dalam kehidupan nyata, kita tidak mengamati µ dan σ. Kita hanya mengamati kumpulan data x yang berisi 1000 titik data. Oleh karena itu, kita harus mengestimasinya dari titik-titik data tersebut. Sekarang kita mengestimasi matriks kovarian.
Misalkan x adalah matriks yang baris-barisnya mewakili setiap titik data dalam kumpulan data dan kolom-kolomnya mewakili setiap variabel. Kemudian kita dapat mengestimasi matriks kovarian ˆ σ dengan xT -x, di mana xT adalah transposisi dari matriks x. ˆ σ adalah matriks simetris berukuran k×k di mana k adalah jumlah variabel acak. Dalam R, kita dapat mengestimasi dengan:
y <- t(x) %*% x
eigen(y)
## eigen() decomposition
## $values
## [1] 58081.296 1069.938
##
## $vectors
## [,1] [,2]
## [1,] 0.7067305 -0.7074829
## [2,] 0.7074829 0.7067305
prcomp(d, center = FALSE)
## Standard deviations (1, .., p=2):
## [1] 7.624922 1.034896
##
## Rotation (n x k) = (2 x 2):
## PC1 PC2
## X1 -0.7067305 -0.7074829
## X2 -0.7074829 0.7067305