Eigen Vector

Vektor eigen atau eigenvector adalah vektor yang dihasilkan dari perkalian suatu matriks dengan vektor tersebut dan menghasilkan kembali vektor yang searah dengan vektor asalnya (kecuali untuk perubahan skala). Dalam matematika, vektor eigen digunakan untuk mempelajari transformasi linier dan sistem dinamis.

Secara formal, vektor eigen didefinisikan sebagai vektor x yang bukan nol, sehingga apabila dikalikan dengan matriks A, hasilnya adalah suatu skalar λ (lambda) yang merupakan bilangan kompleks atau bilangan riil, yaitu:

Ax = λx

Dalam persamaan ini, A adalah matriks n x n, x adalah vektor n x 1, dan λ adalah bilangan skalar yang disebut nilai eigen atau eigenvalue.

dalam r kita membutuhkan 3 library antara lain library(mvtnorm) digunakan untuk menghitung probabilitas multivariat dari distribusi normal.

,library(ggplot2) berfungsi untuk memvisualisasikan data

,library(matlib) untuk mengolah matrix

berikut step yang dilakukan untuk menghitung eigen vector

library(mvtnorm) 
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
library(matlib)
## Warning: package 'matlib' was built under R version 4.2.3
## Standard deviation
sigma <-matrix(c(4,2,2,3),ncol=2,nrow=2)
## Mean
mu <-c(1,2)

pada data ini kita akan menggunakan 1000 sample

n <- 1000

set.seed() adalah salah satu fungsi di R yang digunakan untuk mengatur seed atau biji acak (random seed) dalam proses pengacakan atau simulasi. Seed acak adalah angka awal yang digunakan oleh algoritma pengacakan komputer untuk menghasilkan angka acak. Jika seed acak tidak diatur, maka akan dihasilkan angka acak yang berbeda setiap kali kode dijalankan, sehingga hasil yang dihasilkan akan sulit diulang atau direproduksi.

set.seed(123)

lalu kita akan meng generate data points

x <-rmvnorm(n=n,mean=mu,sigma=sigma)

untuk meng visualisasi kan data maka harus mengset ke data frame

d <-data.frame(x)

lalu gunakan ggplot untuk membuat visual data

p2 <-ggplot(d,aes(x=X1,y=X2))+
geom_point(alpha =.5)+
geom_density_2d()
p2

y <-x-mu
E <-eigen(sigma)
E$vectors
##            [,1]       [,2]
## [1,] -0.7882054  0.6154122
## [2,] -0.6154122 -0.7882054
y <-y%*%t(inv(E$vectors))
dd <-data.frame(y)
p3 <-ggplot(dd,aes(x=X1,y=X2))+
geom_point(alpha =.5)+
geom_density_2d()
p3

Bersumber dari:

Yoshida, R. (2021). Linear algebra and its applications with R. CRC Press.