Analisis multivariat merupakan metode statistik yang digunakan untuk menganalisis lebih dari satu variabel secara bersamaan. Metode ini bertujuan untuk memahami hubungan antar variabel serta pola yang terdapat dalam data. Pada tugas ini dilakukan analisis awal berupa perhitungan matriks korelasi, matriks variance–covariance, serta nilai eigen dan vektor eigen menggunakan R studio.
library(readr)
data_asli = read_csv("SIRTUIN6.csv")
## Rows: 100 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Class
## dbl (6): SC-5, SP-6, SHBd, minHaaCH, maxwHBa, FMF
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
str(data_asli)
## spc_tbl_ [100 × 7] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ SC-5 : num [1:100] 0.541 0.815 0.734 0.625 0.46 ...
## $ SP-6 : num [1:100] 7.64 6.59 6.86 7.01 4.93 ...
## $ SHBd : num [1:100] 0.162 0 0 0.45 0.449 ...
## $ minHaaCH: num [1:100] 0.445 0.497 0.508 0.484 0.482 ...
## $ maxwHBa : num [1:100] 2.21 2 1.89 2.03 2.06 ...
## $ FMF : num [1:100] 0.468 0.415 0.4 0.5 0.537 ...
## $ Class : chr [1:100] "High_BFE" "High_BFE" "High_BFE" "High_BFE" ...
## - attr(*, "spec")=
## .. cols(
## .. `SC-5` = col_double(),
## .. `SP-6` = col_double(),
## .. SHBd = col_double(),
## .. minHaaCH = col_double(),
## .. maxwHBa = col_double(),
## .. FMF = col_double(),
## .. Class = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
kol_num = data_asli[, sapply(data_asli, is.numeric)]
Data dibaca menggunakan fungsi read_csv() dari paket readr, yang menghasilkan dataset dengan 100 observasi dan 7 variabel. Berdasarkan informasi struktur data (str()), terdapat 6 variabel bertipe numerik yaitu SC-5, SP-6, SHBd, minHaaCH, maxwHBa, dan FMF, serta 1 variabel bertipe karakter, yaitu Class. Variabel Class berfungsi sebagai label kategori dan tidak digunakan dalam perhitungan numerik.
Selanjutnya, dilakukan seleksi variabel numerik menggunakan fungsi sapply() untuk memastikan bahwa analisis korelasi, variance–covariance, serta dekomposisi eigen hanya diterapkan pada data yang sesuai. Hasil seleksi ini disimpan dalam objek kol_num, yang kemudian digunakan pada seluruh tahap analisis selanjutnya.
korelasi_mat = cor(kol_num)
korelasi_mat
## SC-5 SP-6 SHBd minHaaCH maxwHBa FMF
## SC-5 1.00000000 0.66208234 -0.10165734 0.1101450 -0.08366394 0.1816990
## SP-6 0.66208234 1.00000000 -0.11309294 0.1956995 0.08952777 0.5798669
## SHBd -0.10165734 -0.11309294 1.00000000 0.2325906 0.04922928 0.0525741
## minHaaCH 0.11014501 0.19569946 0.23259056 1.0000000 0.46076976 0.2582501
## maxwHBa -0.08366394 0.08952777 0.04922928 0.4607698 1.00000000 0.1898255
## FMF 0.18169903 0.57986685 0.05257410 0.2582501 0.18982546 1.0000000
Fungsi cor() digunakan untuk menghitung matriks korelasi antar variabel numerik. Matriks ini menunjukkan kekuatan dan arah hubungan linear antar variabel dengan rentang nilai −1 hingga 1.
Hasil menunjukkan bahwa sebagian besar hubungan antar variabel berada pada tingkat rendah hingga sedang. Korelasi positif cukup kuat terlihat antara SC-5 dan SP-6, serta antara SP-6 dan FMF, yang mengindikasikan bahwa peningkatan pada satu variabel cenderung diikuti oleh peningkatan variabel lainnya. Tidak terdapat nilai korelasi yang sangat tinggi, sehingga dapat disimpulkan bahwa data tidak mengalami masalah multikolinearitas yang signifikan.
covariance_mat = cov(kol_num)
covariance_mat
## SC-5 SP-6 SHBd minHaaCH maxwHBa
## SC-5 0.038073191 0.18129548 -0.006730516 0.002986591 -0.008537740
## SP-6 0.181295476 1.96938510 -0.053851871 0.038164206 0.065707969
## SHBd -0.006730516 -0.05385187 0.115133039 0.010967139 0.008736117
## minHaaCH 0.002986591 0.03816421 0.010967139 0.019310901 0.033487306
## maxwHBa -0.008537740 0.06570797 0.008736117 0.033487306 0.273520544
## FMF 0.002561709 0.05879780 0.001288960 0.002593040 0.007173265
## FMF
## SC-5 0.002561709
## SP-6 0.058797800
## SHBd 0.001288960
## minHaaCH 0.002593040
## maxwHBa 0.007173265
## FMF 0.005220775
Matriks variance–covariance dihitung menggunakan fungsi cov() untuk melihat tingkat penyebaran data dan hubungan bersama antar variabel dalam satuan aslinya.
Nilai pada diagonal utama menunjukkan bahwa variabel SP-6 dan maxwHBa memiliki varians lebih besar dibandingkan variabel lainnya, yang menandakan variasi data yang lebih tinggi. Sementara itu, nilai kovarians antar variabel relatif kecil, sehingga hubungan antar variabel secara keseluruhan tidak terlalu kuat dan tidak mendominasi struktur data.
eigen_result = eigen(covariance_mat)
nilai_eig = eigen_result$values
nilai_eig
## [1] 1.992769556 0.276942728 0.113877882 0.020953542 0.013224463 0.002875384
vektor_eig = eigen_result$vectors
vektor_eig
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.09219130 0.06060081 -0.003107518 0.970452736 -0.156055543
## [2,] -0.99396947 0.03294359 0.029422161 -0.090947728 -0.005846681
## [3,] 0.02852534 -0.07545079 0.990744881 -0.004387236 -0.107950230
## [4,] -0.01988516 -0.12606134 0.096256185 0.172774447 0.969390992
## [5,] -0.03789685 -0.98654030 -0.087766817 0.037590405 -0.127206548
## [6,] -0.02966771 -0.01990490 0.024103802 -0.136626137 0.089770986
## [,6]
## [1,] 0.147264400
## [2,] -0.042048512
## [3,] -0.015670467
## [4,] -0.069842391
## [5,] -0.002121028
## [6,] 0.985604940
Fungsi eigen() digunakan untuk melakukan dekomposisi terhadap matriks variance–covariance untuk mengetahui kontribusi masing-masing komponen utama.
Nilai eigen terbesar menunjukkan bahwa komponen utama pertama mampu menjelaskan variasi data paling besar. Nilai eigen selanjutnya menurun cukup tajam, yang menandakan bahwa sebagian besar informasi data dapat direpresentasikan oleh satu atau dua komponen utama saja. Vektor eigen menunjukkan peran masing-masing variabel dalam membentuk komponen tersebut, sehingga hasil ini mengindikasikan bahwa data memungkinkan untuk dilakukan reduksi dimensi pada analisis lanjutan.