Komponen utama adalah kombinasi linier dari variabel asli, yang tidak berkorelasi dan komponen utama yang terbentuk akan diurutkan sehingga beberapa komponen pertama menjelaskan sebagian besar variasi di dalam variabel asli sehingga komponen utama pertama akan memiliki proporsi varian terbesar. Analisis komponen utama berkaitan dengan penjelasan struktur varians-kovarian dari satu set variabel melalui beberapa kombinasi linier dari variabel-variabel tersebut.
enam variabel hematologi diukur pada 51 pekerja (Royston 1983) yaitu: - y1: konsentrasi hemoglobin - y2: volume sel yang dikemas - y3: jumlah sel darah putih - y4: jumlah limfosit - y5: jumlah neutrofil - y6: konsentrasi timbal serum
# 1. Menyiapkan data excel
library(readxl)
data<- read_excel("C:/Users/asus/Documents/STIS/Tingkat 3/Semester 5/APG/Modul 8/Data Praktikum 8.xlsx")
data
## # A tibble: 51 × 6
## Y1 Y2 Y3 Y4 Y5 Y6
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 13.4 39 4100 14 25 17
## 2 14.6 46 5000 15 30 20
## 3 13.5 42 4500 19 21 18
## 4 15 46 4600 23 16 18
## 5 14.6 44 5100 17 31 19
## 6 14 44 4900 20 24 19
## 7 16.4 49 4300 21 17 18
## 8 14.8 44 4400 16 26 29
## 9 15.2 46 4100 27 13 27
## 10 15.5 48 8400 34 42 36
## # ℹ 41 more rows
data_aku<-data.frame(data$Y1,data$Y2,data$Y3,data$Y4,data$Y5,data$Y6)
data_aku
## data.Y1 data.Y2 data.Y3 data.Y4 data.Y5 data.Y6
## 1 13.4 39 4100 14 25 17
## 2 14.6 46 5000 15 30 20
## 3 13.5 42 4500 19 21 18
## 4 15.0 46 4600 23 16 18
## 5 14.6 44 5100 17 31 19
## 6 14.0 44 4900 20 24 19
## 7 16.4 49 4300 21 17 18
## 8 14.8 44 4400 16 26 29
## 9 15.2 46 4100 27 13 27
## 10 15.5 48 8400 34 42 36
## 11 15.2 47 5600 26 27 22
## 12 16.9 50 5100 28 17 23
## 13 14.8 44 4700 24 20 23
## 14 16.2 45 5600 26 25 19
## 15 14.7 43 4000 23 13 17
## 16 14.7 42 3400 9 22 13
## 17 16.5 45 5400 18 32 17
## 18 15.4 45 6900 28 36 24
## 19 15.1 45 4600 17 29 17
## 20 14.2 46 4200 14 25 28
## 21 15.9 46 5200 8 34 16
## 22 16.0 47 4700 25 14 18
## 23 17.4 50 8600 37 39 17
## 24 14.3 43 5500 20 31 19
## 25 14.8 44 4200 15 24 29
## 26 14.9 43 4300 9 32 17
## 27 15.5 45 5200 16 30 20
## 28 14.5 43 3900 18 18 25
## 29 14.4 45 6000 17 37 23
## 30 14.6 44 4700 23 21 27
## 31 15.3 45 7900 43 23 23
## 32 14.9 45 3400 17 15 24
## 33 15.8 47 6000 23 32 21
## 34 14.4 44 7700 31 39 23
## 35 14.7 46 3700 11 23 23
## 36 14.8 43 5200 25 19 22
## 37 15.4 45 6000 30 25 18
## 38 16.2 50 8100 32 38 18
## 39 15.0 45 4900 17 26 24
## 40 15.1 47 6000 22 33 16
## 41 16.0 46 4600 20 22 22
## 42 15.3 48 5500 20 23 23
## 43 14.5 41 6200 20 36 21
## 44 14.2 41 4900 26 20 20
## 45 15.0 45 7200 40 25 25
## 46 14.2 46 5800 22 31 22
## 47 14.9 45 8400 61 17 17
## 48 16.2 48 3100 12 15 18
## 49 14.5 45 4000 20 18 20
## 50 16.4 49 6900 35 22 24
## 51 14.7 44 7800 38 34 16
# 2. Menghitung korelasi antar korelasi
str(data_aku)
## 'data.frame': 51 obs. of 6 variables:
## $ data.Y1: num 13.4 14.6 13.5 15 14.6 14 16.4 14.8 15.2 15.5 ...
## $ data.Y2: num 39 46 42 46 44 44 49 44 46 48 ...
## $ data.Y3: num 4100 5000 4500 4600 5100 4900 4300 4400 4100 8400 ...
## $ data.Y4: num 14 15 19 23 17 20 21 16 27 34 ...
## $ data.Y5: num 25 30 21 16 31 24 17 26 13 42 ...
## $ data.Y6: num 17 20 18 18 19 19 18 29 27 36 ...
round(cor(data_aku), digits = 3)
## data.Y1 data.Y2 data.Y3 data.Y4 data.Y5 data.Y6
## data.Y1 1.000 0.774 0.277 0.233 0.055 -0.084
## data.Y2 0.774 1.000 0.308 0.252 0.076 0.130
## data.Y3 0.277 0.308 1.000 0.791 0.604 0.071
## data.Y4 0.233 0.252 0.791 1.000 0.023 0.083
## data.Y5 0.055 0.076 0.604 0.023 1.000 0.032
## data.Y6 -0.084 0.130 0.071 0.083 0.032 1.000
# 3. Menghitung eigen vector
eig<-eigen(cor(data_aku))
sqrt(eig$values)
## [1] 1.5624326 1.1777208 1.0128241 0.9669829 0.4447461 0.1145007
# Menggunakan SVD atau singular values dari akar kuadrat eigenvalue
svd_result <- svd(cor(data_aku)) # Menggunakan SVD
singular_values <- svd_result$d # Singular values langsung dari SVD
print(singular_values)
## [1] 2.44119578 1.38702622 1.02581262 0.93505585 0.19779912 0.01311041
# 4. Melakukan analisis komponen utama
# untuk melakukan stardardize data (cor =true)
AKU <- princomp(data_aku, cor = T)
# loadings(AKU) tidak digunakan karena diperoleh hasil yang kurang baik
summary(AKU, loadings=TRUE)
## Importance of components:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## Standard deviation 1.562433 1.177721 1.0128241 0.9669829 0.44474613
## Proportion of Variance 0.406866 0.231171 0.1709688 0.1558426 0.03296652
## Cumulative Proportion 0.406866 0.638037 0.8090058 0.9648484 0.99781493
## Comp.6
## Standard deviation 0.114500697
## Proportion of Variance 0.002185068
## Cumulative Proportion 1.000000000
##
## Loadings:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
## data.Y1 0.431 0.548 0.150 0.110 0.692
## data.Y2 0.453 0.505 0.208 -0.698
## data.Y3 0.556 -0.403 -0.717
## data.Y4 0.463 -0.215 -0.172 -0.636 0.552
## data.Y5 0.283 -0.473 0.313 0.648 0.423
## data.Y6 -0.109 -0.916 0.332 0.184
loadings (AKU)
##
## Loadings:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
## data.Y1 0.431 0.548 0.150 0.110 0.692
## data.Y2 0.453 0.505 0.208 -0.698
## data.Y3 0.556 -0.403 -0.717
## data.Y4 0.463 -0.215 -0.172 -0.636 0.552
## data.Y5 0.283 -0.473 0.313 0.648 0.423
## data.Y6 -0.109 -0.916 0.332 0.184
##
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
## SS loadings 1.000 1.000 1.000 1.000 1.000 1.000
## Proportion Var 0.167 0.167 0.167 0.167 0.167 0.167
## Cumulative Var 0.167 0.333 0.500 0.667 0.833 1.000
Ada keanehan pada data karena hasil SS loadingsnya sama semua, yaitu bernilai 1 sehingga jika ingin melakukan reduksi, yang direduksi hanya pada komponen 6
plot(data_aku)
# korelasi nilai KU dengan nilai variabel awal > KU <- AKU$scores
KU <- AKU$scores
KU
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## [1,] -3.1536292143 -1.784436003 0.88684862 -0.47474763 0.264207038
## [2,] -0.5002032911 -0.118670248 0.41758480 0.85199322 -0.711090870
## [3,] -2.2423705945 -1.061605143 0.33655024 -0.81520685 -0.526619819
## [4,] -0.6231222114 1.010766930 0.18215213 -0.95586866 -0.488196941
## [5,] -0.7385365437 -0.668373598 0.72118494 0.53872182 -0.144422927
## [6,] -1.2494401250 -0.640055790 0.25896486 -0.32666618 -0.663083616
## [7,] 0.5233423921 2.671094100 0.38543137 -0.25880977 -0.217125842
## [8,] -0.9660656652 -0.256011168 -1.63427776 1.03903676 0.452040378
## [9,] -0.4733596364 1.153983706 -1.95389867 -0.70853492 0.073855216
## [10,] 3.3670805206 -1.646137005 -2.65312395 1.93902168 0.161159283
## [11,] 0.7034453923 0.217624153 -0.23937604 0.14967028 -0.423937766
## [12,] 1.7272512855 2.708129926 -0.73535267 -0.22979150 0.118952788
## [13,] -0.7939930799 0.008062719 -0.71043093 -0.49993969 0.179544149
## [14,] 0.7046899398 0.647161755 0.58701911 -0.30549248 0.886605112
## [15,] -1.7391718428 0.537905881 0.30705266 -1.56025386 0.122536602
## [16,] -2.5846811600 0.344827789 1.80952088 -0.22150758 0.265776201
## [17,] 0.6225468666 0.697620514 1.49985846 0.72274400 1.063780170
## [18,] 1.3989729887 -1.121486933 -0.16321171 0.70037181 0.452948474
## [19,] -0.5886674655 0.204758309 1.10178740 0.40209253 -0.115398500
## [20,] -1.1178754425 -0.025921063 -1.61759731 1.12220024 -0.705555509
## [21,] 0.0001153689 0.699984319 1.82262667 1.50381360 0.208682334
## [22,] 0.1591225285 1.948279867 0.21165111 -1.04387685 0.045278363
## [23,] 4.5255415402 0.611208837 1.57022728 0.40706736 0.315822348
## [24,] -0.7894140124 -1.270211142 0.66960603 0.18105524 -0.093889364
## [25,] -1.1684141576 -0.050931732 -1.70848266 0.94795440 0.447242522
## [26,] -1.4799035963 -0.289645630 1.39576607 1.00435927 0.324844272
## [27,] -0.0979715827 0.181538899 0.61077178 0.80093120 0.348060816
## [28,] -1.7933954105 0.026816200 -1.17314571 -0.18959782 0.312952665
## [29,] 0.0069327199 -1.319099235 0.06900360 1.36810436 -0.432752382
## [30,] -0.8374590102 -0.268303981 -1.55544934 -0.05970807 0.187732379
## [31,] 1.9620234751 -0.973055285 -0.72565889 -1.57333687 0.296729193
## [32,] -1.5666402045 1.112209231 -1.08941530 -0.19001848 -0.005447771
## [33,] 1.2007207174 0.282723470 0.36630390 0.75056979 0.043663531
## [34,] 1.2340008268 -2.466735056 0.01783717 0.39991285 -0.124182311
## [35,] -1.3637889688 0.772176504 -0.49391154 0.85828576 -0.507776054
## [36,] -0.7999833936 -0.289375159 -0.49133294 -0.85656261 0.432726258
## [37,] 0.6189092589 -0.064967556 0.60538715 -0.78441921 0.171026919
## [38,] 3.4379251424 0.104325216 1.16011757 0.60743248 -0.653224995
## [39,] -0.5081572742 0.059444816 -0.54577409 0.66077070 0.095179137
## [40,] 0.7328512763 -0.095167020 1.38345661 0.41619574 -0.761653658
## [41,] 0.0528894844 1.266091718 -0.20166743 0.20583160 0.540588314
## [42,] 0.4920146300 0.891887954 -0.53906447 0.39389878 -0.616152603
## [43,] -0.5778413931 -2.141687527 0.58805717 0.56378480 0.775252124
## [44,] -1.5775509161 -1.075767361 -0.08046528 -1.23363218 0.453802313
## [45,] 1.4935949130 -1.081085258 -1.11007673 -1.03557976 0.140491633
## [46,] 0.0184391885 -0.886350565 -0.13616746 0.52070736 -0.956891306
## [47,] 2.4861972926 -1.257531508 -0.04473477 -3.84322126 -0.302782925
## [48,] -0.7629940233 2.990276151 0.41015810 0.13492417 -0.086635582
## [49,] -1.3536491993 0.521107657 -0.19576802 -0.54213641 -0.510391701
## [50,] 2.5245075875 1.142255711 -0.83984931 -0.47108738 0.050336646
## [51,] 1.4551640789 -1.959651364 1.26330731 -1.01145573 -0.184604738
## Comp.6
## [1,] -0.024687358
## [2,] -0.008266598
## [3,] -0.110834936
## [4,] -0.115237138
## [5,] 0.077410628
## [6,] -0.048227552
## [7,] 0.055246265
## [8,] 0.070654724
## [9,] 0.178600816
## [10,] 0.021561976
## [11,] 0.171664303
## [12,] 0.060150444
## [13,] 0.059933515
## [14,] 0.045828712
## [15,] -0.033792152
## [16,] -0.035820523
## [17,] 0.089764321
## [18,] 0.085638591
## [19,] 0.252966356
## [20,] 0.033421405
## [21,] -0.258752994
## [22,] -0.130054964
## [23,] 0.045916107
## [24,] 0.022618299
## [25,] 0.003354463
## [26,] 0.073497979
## [27,] -0.058585726
## [28,] -0.017489152
## [29,] -0.043017332
## [30,] 0.043450588
## [31,] -0.288328548
## [32,] 0.058722580
## [33,] 0.086073602
## [34,] -0.012818987
## [35,] 0.026594224
## [36,] -0.209776944
## [37,] 0.063040780
## [38,] -0.062679359
## [39,] -0.090833678
## [40,] 0.089363927
## [41,] 0.050448113
## [42,] -0.329492769
## [43,] -0.095756511
## [44,] 0.017147096
## [45,] -0.001533588
## [46,] 0.029937307
## [47,] 0.168640715
## [48,] 0.017056615
## [49,] 0.098870592
## [50,] -0.206058728
## [51,] 0.084470493
cor(data_aku,KU)
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
## data.Y1 0.6737988 0.6458426 0.15153099 0.10591166 0.307736381 0.001363746
## data.Y2 0.7079684 0.5951545 -0.08904514 0.20094556 -0.310224957 0.004918214
## data.Y3 0.8684676 -0.4747192 0.06608221 -0.09624856 -0.005773225 -0.082108237
## data.Y4 0.7229565 -0.2535954 -0.17436247 -0.61530571 0.004763890 0.063222934
## data.Y5 0.4415050 -0.5564876 0.31681984 0.62657035 0.009288944 0.048408238
## data.Y6 0.1189242 -0.1278951 -0.92724215 0.32094259 0.081948813 -0.001449679