Dataset: https://archive.ics.uci.edu/dataset/571/hcv+data
data_hcv <- read.csv("hcvdat0.csv")
data_numeric <- data_hcv[, sapply(data_hcv, is.numeric)]
data_clean <- na.omit(data_numeric)
cor_matrix <- cor(data_clean)
print(cor_matrix)
## X Age ALB ALP ALT AST
## X 1.00000000 0.44305790 -0.315204550 0.01794376 -0.20023304 0.30360292
## Age 0.44305790 1.00000000 -0.191093637 0.17771977 -0.04057647 0.07273886
## ALB -0.31520455 -0.19109364 1.000000000 -0.14611991 0.03949714 -0.17760895
## ALP 0.01794376 0.17771977 -0.146119911 1.00000000 0.22160301 0.06702428
## ALT -0.20023304 -0.04057647 0.039497139 0.22160301 1.00000000 0.19865775
## AST 0.30360292 0.07273886 -0.177608947 0.06702428 0.19865775 1.00000000
## BIL 0.17651109 0.03965486 -0.169597498 0.05837241 -0.10679662 0.30957974
## CHE -0.27853454 -0.07586328 0.360919403 0.02948169 0.22434447 -0.19727042
## CHOL -0.05794709 0.12474161 0.210419878 0.12590008 0.14999727 -0.20121300
## CREA -0.02016270 -0.02514225 0.001433247 0.15390895 -0.03610554 -0.01794810
## GGT 0.22146275 0.14337927 -0.147598318 0.46130000 0.21970686 0.47777362
## PROT -0.16648242 -0.15975998 0.570725680 -0.06308514 0.01678633 0.01740394
## BIL CHE CHOL CREA GGT PROT
## X 0.17651109 -0.27853454 -0.057947087 -0.020162704 0.221462754 -0.16648242
## Age 0.03965486 -0.07586328 0.124741615 -0.025142253 0.143379268 -0.15975998
## ALB -0.16959750 0.36091940 0.210419878 0.001433247 -0.147598318 0.57072568
## ALP 0.05837241 0.02948169 0.125900079 0.153908950 0.461299996 -0.06308514
## ALT -0.10679662 0.22434447 0.149997271 -0.036105541 0.219706857 0.01678633
## AST 0.30957974 -0.19727042 -0.201213004 -0.017948098 0.477773617 0.01740394
## BIL 1.00000000 -0.32071323 -0.181569556 0.019909617 0.210566559 -0.05257491
## CHE -0.32071323 1.00000000 0.428018276 -0.012119999 -0.095716131 0.30628754
## CHOL -0.18156956 0.42801828 1.000000000 -0.051464078 0.008822692 0.24504950
## CREA 0.01990962 -0.01212000 -0.051464078 1.000000000 0.125353469 -0.03011070
## GGT 0.21056656 -0.09571613 0.008822692 0.125353469 1.000000000 -0.03712701
## PROT -0.05257491 0.30628754 0.245049503 -0.030110695 -0.037127008 1.00000000
Correlation Matrix
Output correlation matrix menampilkan tingkat keeratan hubungan linier antar 12 variabel (seperti umur dan berbagai nilai uji lab) dengan rentang nilai terstandardisasi dari -1 hingga 1. Angka 1 pada garis diagonal utama menandakan korelasi setiap variabel dengan dirinya sendiri. Dari hasil tersebut, kita dapat melihat beberapa variabel memiliki hubungan positif yang cukup menonjol, contohnya antara ALB dan PROT (0.570) serta AST dan GGT (0.477), yang berarti jika salah satu nilai naik, nilai pasangannya cenderung ikut naik. Sebaliknya, terdapat pula hubungan linier yang negatif meski tidak terlalu kuat, seperti antara X dan ALB (-0.315), di mana kenaikan satu variabel diiringi penurunan variabel lainnya.
cov_matrix <- cov(data_clean)
print(cov_matrix)
## X Age ALB ALP ALT AST
## X 30325.61267 766.254175 -316.2678135 80.997414 -727.477884 1737.677172
## Age 766.25418 98.631388 -10.9348172 45.750544 -8.407388 23.742827
## ALB -316.26781 -10.934817 33.1982701 -21.823283 4.747912 -33.634186
## ALP 80.99741 45.750544 -21.8232826 671.901949 119.841675 57.100968
## ALT -727.47788 -8.407388 4.7479116 119.841675 435.269784 136.220708
## AST 1737.67717 23.742827 -33.6341863 57.100968 136.220708 1080.231200
## BIL 535.04466 6.855155 -17.0094554 26.337454 -38.783770 177.110426
## CHE -106.27733 -1.650806 4.5564303 1.674411 10.255372 -14.206173
## CHOL -11.39233 1.398606 1.3687395 3.684302 3.532962 -7.466047
## CREA -178.00646 -12.658841 0.4186596 202.254881 -38.188738 -29.906045
## GGT 2094.23092 77.323769 -46.1804560 649.315069 248.909775 852.706557
## PROT -155.07302 -8.486697 17.5892871 -8.746677 1.873261 3.059630
## BIL CHE CHOL CREA GGT PROT
## X 535.044661 -106.277326 -11.3923339 -178.0064562 2094.2309247 -155.073024
## Age 6.855155 -1.650806 1.3986055 -12.6588412 77.3237685 -8.486697
## ALB -17.009455 4.556430 1.3687395 0.4186596 -46.1804560 17.589287
## ALP 26.337454 1.674411 3.6843023 202.2548814 649.3150694 -8.746677
## ALT -38.783770 10.255372 3.5329616 -38.1887382 248.9097752 1.873261
## AST 177.110426 -14.206173 -7.4660468 -29.9060449 852.7065571 3.059630
## BIL 302.988734 -12.231702 -3.5680635 17.5694569 199.0314564 -4.895025
## CHE -12.231702 4.800799 1.0587548 -1.3462991 -11.3883550 3.589626
## CHOL -3.568064 1.058755 1.2745375 -2.9455248 0.5408745 1.479767
## CREA 17.569457 -1.346299 -2.9455248 2570.1849279 345.0941704 -8.165186
## GGT 199.031456 -11.388355 0.5408745 345.0941704 2948.7514092 -10.783808
## PROT -4.895025 3.589626 1.4797666 -8.1651857 -10.7838076 28.610549
Variance-Covariance Matrix
Matriks ini menunjukkan arah pergerakan bersama antar variabel tanpa melakukan standardisasi skala, sehingga nilainya sangat bergantung pada satuan pengukuran asli masing-masing variabel. Angka-angka pada garis diagonal (kiri atas ke kanan bawah) adalah varians atau sebaran data dari setiap variabel tunggal. Dari output Anda, terlihat jelas adanya ketimpangan skala data yang sangat ekstrem; misalnya variabel X memiliki varians yang sangat raksasa (30325.61) dibandingkan variabel CHOL yang variansnya sangat kecil (1.27). Perbedaan skala yang masif inilah alasan mengapa saat menganalisis Komponen Utama (PCA), kita lebih disarankan menggunakan Matriks Korelasi agar variabel bernilai besar tidak mendominasi variabel bernilai kecil
Eigen Value:
eigen_result <- eigen(cor_matrix)
print(eigen_result$values)
## [1] 2.7188832 1.8565589 1.3829121 1.2524520 1.0760565 0.7983249 0.6695936
## [8] 0.6032935 0.5020233 0.4296612 0.3927535 0.3174873
Eigen Value
Nilai eigen mendeskripsikan seberapa besar porsi varians (informasi atau keragaman data) yang berhasil ditangkap oleh setiap Komponen Utama (Principal Component) yang baru dibentuk. Karena Anda menganalisis 12 variabel, output menghasilkan 12 nilai eigen yang diurutkan dari yang terbesar hingga terkecil. Berdasarkan aturan umum statistik (Kaiser criterion), komponen yang layak dipertahankan biasanya adalah yang memiliki nilai eigen di atas 1. Pada output Anda, lima komponen pertama memenuhi syarat ini (nilainya mulai dari 2.718 hingga 1.076). Komponen pertama (2.718) adalah dimensi baru yang paling banyak menyerap informasi dari keseluruhan dataset
Eigen Vectors:
print(eigen_result$vectors)
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.37404936 -0.001949098 0.27300235 -0.4359534144 0.05065829
## [2,] -0.23272114 -0.142191886 0.54424771 -0.2944131134 0.05299819
## [3,] 0.41741095 -0.105041392 -0.22456153 -0.3057629069 0.17853265
## [4,] -0.14722639 -0.472337558 0.12600906 0.2887935953 0.21779359
## [5,] 0.06113561 -0.440823230 -0.10899496 0.3001198730 -0.46092861
## [6,] -0.32428939 -0.258405409 -0.38444543 -0.2393008882 -0.22767417
## [7,] -0.29889077 0.010338000 -0.34729806 -0.2179574045 0.12715723
## [8,] 0.39441092 -0.287594998 0.15883065 -0.0186682052 -0.05644773
## [9,] 0.25483241 -0.333571067 0.38091810 -0.1879387006 0.01423412
## [10,] -0.04380062 -0.097627488 -0.07699087 0.2915227159 0.77232669
## [11,] -0.29270199 -0.492322640 -0.16182534 -0.0007366488 0.07401678
## [12,] 0.32201102 -0.196322716 -0.28323674 -0.4804946059 0.17175955
## [,6] [,7] [,8] [,9] [,10] [,11]
## [1,] 0.275989577 0.006758387 0.19802005 -0.08235235 0.28286113 0.62496075
## [2,] 0.079316568 -0.042148248 -0.60091935 0.15504488 -0.14934888 -0.34165559
## [3,] 0.055501223 -0.219638391 -0.32898062 -0.04023672 -0.43214864 0.38519972
## [4,] -0.407120587 -0.415139201 -0.02649268 0.08506853 0.35136156 0.07723055
## [5,] 0.204373402 0.238673999 -0.43476927 -0.27211626 0.17381209 0.26296325
## [6,] 0.341343746 0.097902390 0.13036611 0.09565339 0.03006350 -0.37928678
## [7,] -0.584891485 0.518202842 -0.23405711 0.18098599 0.01026164 0.15760535
## [8,] 0.121843588 0.257554335 0.18722781 0.77188417 0.07774610 0.10896457
## [9,] -0.249810091 0.421924103 0.32597899 -0.46848786 -0.14758844 -0.14310310
## [10,] 0.413432604 0.332423606 -0.08276658 -0.08890246 0.05188888 -0.04737550
## [11,] 0.001293452 -0.220282204 0.28397795 0.02131941 -0.52796421 0.04996795
## [12,] -0.012241462 -0.197808092 -0.03378138 -0.14396723 0.49698277 -0.25181652
## [,12]
## [1,] -0.011628932
## [2,] 0.087662291
## [3,] -0.377679412
## [4,] -0.364776367
## [5,] 0.162371940
## [6,] -0.523599763
## [7,] 0.056137863
## [8,] 0.054862225
## [9,] -0.186385547
## [10,] -0.005094288
## [11,] 0.478968252
## [12,] 0.381598954
Eigen Vectors
Eigen Vectors adalah matriks yang berisi angka koefisien atau “bobot” dari variabel-variabel asli yang digunakan untuk memproyeksikan data ke dalam sumbu komponen utama yang baru. Setiap kolom pada output Eigen Vectors berpasangan dengan urutan Eigen Values di atasnya. Jika kita menafsirkan kolom pertama [,1] (komponen utama pertama), terlihat bahwa variabel ALB (0.417) dan CHE (0.394) memberikan kontribusi positif terbesar terhadap komponen tersebut, sementara variabel X (-0.374) dan AST (-0.324) memberikan tarikan ke arah negatif. Angka-angka ini adalah formula kombinasi linier pembentuk dimensi baru tersebut