1. Impor Data

Dataset: https://archive.ics.uci.edu/dataset/571/hcv+data

data_hcv <- read.csv("hcvdat0.csv")

2. Data Cleaning

data_numeric <- data_hcv[, sapply(data_hcv, is.numeric)]
data_clean <- na.omit(data_numeric)

3. Hasil dan Penjelasan

a. Correlation Matrix

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.

b. Variance-Covariance Matrix

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

c. Eigen value dan Eigen vector

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