Peran nilai eigen dalam PCA
dengan Julia, menggunakan MultivariateStats …
Apa itu Nilai Eigen?
Nilai eigen dapat dianggap sebagai ukuran jumlah variasi dalam data yang dijelaskan oleh masing-masing komponen utama.
Data biasanya berupa matriks atau transformasi linear dari data.
Dalam Analisis Komponen Utama (PCA), nilai eigen digunakan untuk menentukan kepentingan relatif dari setiap komponen utama.
Bagaimana nilai Eigen dihitung?
Mereka dihitung dengan menyelesaikan persamaan Av = λv, di mana A adalah matriks, v adalah vektor bukan nol, dan λ adalah nilai skalar yang disebut nilai eigen . Vektor v disebut vektor eigen dari matriks A. Nilai eigen dari matriks A adalah skalar λ yang persamaan Av = λv memiliki solusi bukan nol.
Penyelesaiannya melibatkan pencarian nilai eigen dan vektor eigen dari matriks A. Nilai eigen adalah solusi dari persamaan karakteristik |A — λI| = 0, di mana I adalah matriks identitas. Setelah nilai eigen ditemukan, vektor eigen dapat ditemukan dengan menyelesaikan persamaan Av = λv untuk setiap nilai eigen. Vektor eigen adalah solusi bukan nol untuk persamaan ini dan juga dikenal sebagai vektor eigen dari A.
Komponen utama pertama memiliki nilai eigen tertinggi, dan komponen utama kedua memiliki nilai eigen tertinggi kedua, dan seterusnya…
Komponen utama adalah vektor eigen dari matriks kovarians data.
Mari kita lihat sebuah contoh
using MultivariateStats, Plots, StatsPlots, DataFrames, CSV;
data = CSV.read("Pizza.csv",DataFrame)
first(data,8)
Elemen-elemen dalam kumpulan data di atas tercantum di bawah ini:
- merek — Merek pizza (label kelas)
- id - dari sampel yang dianalisis
- mois — Jumlah air per 100 gram per sampel
- prot — Jumlah protein per 100 gram per sampel
- lemak — Jumlah lemak per 100 gram per sampel
- abu — Jumlah abu per 100 gram per sampel
- natrium — Jumlah natrium per 100 gram per sampel
- karbohidrat — Jumlah karbohidrat per 100 gram per sampel
- kal — Jumlah kalori per 100 gram per sampel
matrix = Array(data[:, 3:9])'
matrix'
M = fit(PCA, matrix;pratio=1, maxoutdim=3)
Di Julia, pratio=1digunakan sebagai opsi dalam fitfungsi. Ini mengacu pada proporsi varians total yang harus dijelaskan oleh kkomponen utama pertama, di mana kjumlah dimensi dalam data yang ditransformasikan. Dalam hal ini, di mana pratio=1, algoritme PCA akan dijalankan sedemikian rupa sehingga kkomponen utama pertama akan menjelaskan 100% dari total varian dalam data.
3 komponen utama diproduksi.
Transpose matriks
q = projection(M)'
Transpose matriks adalah matriks baru di mana baris dan kolom dari matriks asli dibalik. Dalam kasus matriks proyeksi, transpos juga dikenal sebagai pseudoinvers Moore-Penrose dari matriks. Transpos matriks proyeksi digunakan untuk memproyeksikan komponen utama data kembali ke ruang asal untuk mendapatkan perkiraan data asli.
Plot
using Plots
h = plot(q[1,:], q[2,:], seriestype=:scatter, label=label="")
plot!(xlabel="PC1", ylabel="PC2", framestyle=:box)
title!("Principal Components")
T = principalvars(M) ./ tvar(M) * 100
PC1 pada 78,01 menjelaskan sebagian besar varian dalam hal persentase dari total varian yang dijelaskan oleh masing-masing komponen, juga dijelaskan oleh plot di bawah ini.
plot(T)
plot!(ylabel="Percentage")
title!("Variance by principal component")
Eigenvalues memainkan peran penting dalam analisis komponen utama (PCA). PCA adalah teknik reduksi dimensi yang digunakan untuk mengubah sekumpulan variabel berkorelasi menjadi sekumpulan variabel tidak berkorelasi yang disebut komponen utama. Komponen utama adalah kombinasi linear dari variabel asli, dan nilai eigen dari matriks korelasi/kovarians data digunakan untuk menentukan kepentingan relatif dari setiap komponen utama.
Nilai eigen dapat dianggap sebagai ukuran jumlah variasi dalam data yang dijelaskan oleh masing-masing komponen utama.
Nilai eigen juga dapat memainkan peran dalam MDS, atau penskalaan multidimensi, dalam arti bahwa teknik ini sering kali melibatkan penemuan proyeksi data berdimensi rendah yang mempertahankan jumlah varians terbesar.
M = fit(MDS, matrix; distances=false)
plot(M)
title!("MDS Plot")
PCA (Analisis Komponen Utama) adalah pendekatan pembelajaran tanpa pengawasan, karena digunakan untuk menganalisis dan memahami pola dalam data tanpa output berlabel atau variabel target. Ini digunakan untuk mengidentifikasi pola dan hubungan dalam data, dan untuk mengurangi dimensi data sambil mempertahankan informasi sebanyak mungkin. Tujuan PCA adalah untuk menemukan variabel baru, yang disebut komponen utama, yang merupakan kombinasi linier dari variabel asli, dan yang menangkap sebanyak mungkin varian dalam data . Nilai eigen memainkan peran penting dalam PCA karena digunakan untuk menentukan jumlah varians yang ditangkap oleh masing-masing komponen utama.
Semoga Anda menikmati artikelnya!
Mari terhubung di Linkedin , atau github , atau ikuti saya untuk artikel lainnya tentang Julia, Python atau R, dan statistik terapan.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































