Air merupakan salah satu komponen yang sangat dibutuhkan oleh makhluk hidup yang ada di bumi, termasuk manusia. Air dalam kondisi bersih dan layak adalah salah satu kebutuhan penting bagi manusia. Air juga menjadi salah satu poin dalam tujuan pembangunan berkelanjutan atau Suistainable Development Goals (SDGs) pada sektor lingkungan hidup, yaitu memastikan masyarakat mencapai akses universal air bersih dan sanitasi (SDGs, 2022). Air seagai suatu komponen dapat mempengaruhi dan dipengaruhi komponen lainnya (Mukarromah, 2016). Meskipun demikian, tidak terlepas adanya kemungkinan terdapat penyakit bawaan air (water borne disease) sehingga penting adanya penyelenggaraan dan pengadaan air layak konsumsi sebagai bentuk pencegahan terhadap penyakit bawaan air (Slamet, 2000 dalam Mukarromah, 2016). Berdasarkan Peraturan Menteri Kesehatan RI Nomor 492/MENKES/PER/IV/2010 tentang kualitas air minum, yang disebut sebagai air minum adalah air yang memenuhi syarat kesehatan yang dapat langsung diminum (Depkes, 2010). Sedangkan air bersih adalah air yang memenuhi syarat kesehatan dan harus dimasak terlebih dahulu sebelum diminum. Syarat kesehatan yang dimaksud meliputi syarat-syarat fisika, kimia, mikrobiologi, dan radioaktifitas (Hadi, 2007 dalam Mukarromah, 2016). Beberapa faktor yang dapat mempengaruhi akses air minum yang aman konsumsi diantaranya adalah semakin tingginya aktivitas manusia dan semakin kompleksnya proses industri (Kustanto, 2020 dalam Azmi dkk, 2022). Pada 2014, Bank Dunia menghimpun data dan didapatkan hasil bahwa sekitar 780 juta orang tidak memiliki akses air bersih dan lebih dari 2 miliar penduduk bumi tidak memiliki akses terhadap sanitasi. Kekurangan akses air bersih bahkan mengakibatkan ribuan nyawa melayang tiap hari dan kerugian materi hingga 7% dari PDB dunia. Kekurangan akses terhadap air bersih dan fakta bahwa ada dampak buruk dari kurangnya akses air bersih menunjukkan adanya penurunan kualitas air. Penurunan kualitas air ini menyebabkan timbul urgensi kebutuhan untuk mengawasi, menilai,dan mengklasifikasi kualitas air yang layak konsumsi (Azmi dkk, 2022). Kualitas air yang sesuai dengan standar kesehaan dapat diketahui dari zat atau mineral yang terkandung di dalamnya.
Dalam dataset Water Quality (kualitas air) yang terdapat pada situs web kaggle.com, banyak variabel zat-zat kandungan air yang dijadikan parameter standar air bersih. Dari beberapa dataset tentang kualitas air diambil satu set data yang akan dianalisis, yaitu data mengenai kualitas air di lingkungan perkotaan. Data yang digunakan terdiri dari 21 kolom yang berisi 20 variabel bebas dan 1 variabel respon. Dalam data tersebut, variabel bebas yang sangat banyak dapat berdampak pada waktu yang diperlukan untuk analisis. Bukan hanya itu, variabel-variabel tersebut juga terindikasi adanya korelasi antara satu dengan lainnya. Dengan tujuan mempermudah analisis, maka akan dilakukan Analisis Komponen Utama (AKU) atau Principal Component Analysis (PCA) untuk mereduksi variabel yang ada menjadi satu set variabel yang lebih kecil dan saling bebas. Analisis ini dilakukan agar analisis berlangsung efektif, komponen utama yang baru dapat menggantikan variabel yang ain tanpa kehilangan banyak informasi mengenai keseluruhan variabel.
Data yang digunakan dalam analisis ini adalah Water Quality yang
diterbitkan tahun 2021,
(www.kaggle.com/datasets/mssmartypants/water-quality).
Untuk kasus ini, 20 variabel bebas adalah hasil pengukuran terhadap
suatu senyawa yang terkandung pada air tersebut, sedangkan 1 variabel
respon adalah hasil akhir apakah air tersemut aman atau tidak. Variabel
bebas dalam data ini adalah: X1 = Alumunium, X2 =
Amonia, X3 = Arsenik, X4 = Barium, X5 =
Kadmium, X6 = Kloramin, X7 = Kromium,
X8 = Tembaga, X9 = Flouride, X10 =
Bakteri, X11 = Virus, X12 = Timbal, X13
= Nitrat, X14 = Nitrit, X 15 = Merkuri,
X16 = Perkloat, X17 = Radium, X18 =
Selenium, X19 = Perak, dan X20 = Uranium.
Dari data yang didapatkan, terdapat 8000 baris atau dari 8000 objek pengamatan. Karena jumlah yang terlampau besar, untuk memudahkan analisis maka akan dari 8000 data tersebut hanya akan digunakan setengahnya atau 4000 data saja. Adapun pemilian 4000 data yang digunakan adalah 4000 data teratas dari data yang dimiliki. Sebelum dilakukan pengambilan 4000 data, juga dilakukan data cleaning untuk data yang tidak lengkap pada variabel amonia (X2). Data cleaning dilakukan dengan menghapus baris data yang dalam baris tersebut tidak terdapat nilainya atau null. Setiap variabel diukur dalam satuan yang sama, yaitu water/liter.
Principal Component Analysis (PCA) atau yang juga disebut sebagai Analisis Komponen Utama adalahh sebuah analisis yang berkaitan dengan penjelasan dari strutur varians-kovarians dari sekumpulan variabel melalui beberapa kombinasi linier dari variabel-variabel tersebut. Tujuan umum dilakukannya PCA adalah reduksi data dan interpretasi (Johnson, Richard A. and Wichern, Dean W., 2007). Dalam PCA, meskipun diperlukan komponen p untuk mereproduksi variablitas total, seringkali sebagian besar variabilitas dapat dijelaskan oleh sejumlah kecil k pokok komponen. Jika demikian, informasi yang informasi di komponen k hampir sama seperti informasi yang ada pada variabel p. k komponen utama kemudian mengganti variabel awal p dan kumpulan data (dataset) yang asli yang terdiri dari n pengukuran. PCA seringkali mengungkapkan hubungan yang sebenarnya tidak dicurigai sebelumnya dan dengan demikian memungkinkan interpretasi yang tidak biasa (Johnson, Richard A. and Wichern, Dean W., 2007). Dalam analisis komponen utama, varians dari kombinasi linier dari variabel diusahakan maksimal (Rencer, Alvin C., 2002). Pada dasarnya, analisis komponen utama adalah teknik satu sampel yang diterapkan tanpa pengelompokan antar observasi dan tanpa partisi dari variabel menjadi himpunan bagian y dan x. Semua kombinasi linier yang telah dipertimbangkan sebelumnya berkaitan dengan variabel lain atau struktur data. Komponen utama, di sisi lain hanya mementingkan struktur inti dari sampel observasi pada variabel p. Tidak ada satu pun variabel yang ditetapkan sebagai dependen, dan tidak ada pengelompokan pengamatan yang diasumsikan. Dalam beberapa aplikasi, komponen utama merupakan tujuan dari PCA itu sendiri dan dapat diinterpretasikan. Hasil PCA seringkali digunakan sebagai input atau masukan untuk analisis lain (Rencer, Alvin C., 2022).
Berdasarkan buku Multivariate Data Analysis With Readings Edisi ke-4 (1995) yang ditulis oleh Hair J.F., Anderson R.E., Tatham R.I, dan Black W.C., Principal Component Analysis biasanya digunakan untuk:
Identiifikasi variabel baru yang mendasari data variabel ganda.
Mengurangi banyaknya dimensi himpunan variabel yang biasanya terdiri atas variabel yang banyak dan saling berkorelasi dengan mempertahankan sebanyak mungkin keragaman dalam himpunan data tersebut.
Menghilangkan variabel asal yang mempunyai sumbangan informasi yang relatif kecil. Variabel baru yang dimaksud disebut komponen utama yang memiliki ciri:
Berdasarkan jurnal yang ditulis oleh Yafi, Goejantoro, dan Dani pada tahun 2023, disebutkan bahwa secara umum langkah-langkah reduksi variabel dengan menggunakan metode PCA adalah sebagai berikut:
Melakukan standarisasi data: Standarisasi yang digunakan adalah standarisasi Zscore
Menghitung matriks varians-kovarians: Setelah data distandardisasi, matriks kovarians atau matriks korelasi akan dihitung. Matriks kovarians digunakan jika variabel dalam data memiliki satuan yang sama
Menghitung matriks korelasi: Matriks korelasi digunakan jika variabel memiliki satuan yang berbeda.
Menghitung nilai eigen dan vektor eigen: Vektor eigen merepresentasikan arah dari komponen utama dan nilai eigen mempresentasikan jumlah varians yang dijelaskan oleh masing-masing komponen utama. Kemudian nilai eigen diurutkan menurun (variansi terbesar muncul pertama).
Menentukan jumlah principal component (PC) yang mungkin terbentuk dengan melihat kriteria nilai eigen : Untuk nilai eigen yang lebih besar atau sama dengan 1 memiliki kemungkinan terbentuk sedangkan untuk nilai eigen yang kurang dari satu dianggap memiliki kontribusi yang kurang.
Membenuk komponen matriks korelasi yang menunjukkan besarnya korelasi variabel terhadap skor komponen yang terbentuk
Membentuk variabel baru hasil reduksi
Membentuk variabel baru berdasarkan kombinasi linier
Sebagai tambahan, dalam Rpubs yang dipublikasikan oleh Alkahfi dan Ananda, ada beberapa tambahan dalam metode PCA:
Menghitung faktor beban: Hitung faktor beban (loadings) untuk tiap variabel yang merupakan koefisien linear yang menghubungkan variabel dengan tiap komponen utama.
Menghitung variansi yang dijelaskan: Menghitung nilai varian dijelaskan oleh setiap komponen utama. Variansi menunjukkan seberapa besar variasi data yang dapat dijelaskan oleh setiap komponen utama.
Scree Plot: Membuat grafik yang menunjukkan varian yang dijelaskan oleh setiap komponen utama. Scree Plot digunakan untuk menentukan jumlah komponen utama yang dipertahankan. Jumlah komponen utama yang dipertahankan biasanya didasarkan pada titik di mana penurunan signifikan dari varian yang dijelaskan terlihat pada Scree Plot.
Transformasi data: Data diproyeksikan dalam ruang yang lebih rendah ke dalam ruang dimensi yang lebih rendah dengan mengalikan data asli dengan matriks komponen utama.
Visualisasi data dan interpretasi hasil
Dalam setiap penerapan, kepurusan mengenai banyak komponen utama yang harus disimpan agar dapat meringkas data secara efektif. Berdasarkan buku yang ditulis oleh Rencher, berikut adalah pedomannya:
Pertahankan komponen yang cukup untuk memenuhi persentase tertentu dari total varian, misalnya 80%.
Mempertahankan komponen yang nilai eigennya lebih besar dari rata-rata nilai eigen. Untuk matriks korelasi rata-ratanya adalah 1.
Gunakan grafik Scree Plot nilai eigen (i) versus i, cari jeda alami di antara nilai eigen terbesar dan terkecil.
Uji signifikansi komponen yang lebih besar, yaitu komponen yang bersesuaian ke nilai eigen yang lebih besar.
> # Library: Digunakan untuk mengaktifkan library sesuai kebutuhan
> library(rmarkdown) #Untuk mengaktifkan fungsi-fungsi pada R Markdown
> library(readxl) #Untuk input data yang akan digunakan
> library(corrplot) #Untuk menghitung korelasi dan membuat plot dari korelasi tersebut
> library(factoextra) #Untuk menghitung PCA
> library(FactoMineR) #Untuk menghitung PCA
> library(knitr) #Untuk mengaktifkan knit pada RMarkdown (untuk output)
> Data_WaterQuality <- read_excel("E:/Data/WaterQuality1.xlsx")
> paged_table(as.data.frame(Data_WaterQuality))
> summary(Data_WaterQuality)
aluminium ammonia arsenic barium
Min. :0.000 Min. :-0.080 Min. :0.0000 Min. :0.010
1st Qu.:0.070 1st Qu.: 8.217 1st Qu.:0.0200 1st Qu.:1.310
Median :0.280 Median :15.660 Median :0.0500 Median :2.320
Mean :1.281 Mean :15.432 Mean :0.2723 Mean :2.288
3rd Qu.:2.533 3rd Qu.:23.130 3rd Qu.:0.5200 3rd Qu.:3.270
Max. :5.050 Max. :29.840 Max. :1.0500 Max. :4.940
cadmium chloramine chromium copper
Min. :0.00000 Min. :0.000 Min. :0.0000 Min. :0.0000
1st Qu.:0.00400 1st Qu.:2.280 1st Qu.:0.2100 1st Qu.:0.2800
Median :0.00900 Median :4.240 Median :0.4400 Median :0.8700
Mean :0.03529 Mean :4.182 Mean :0.4437 Mean :0.8969
3rd Qu.:0.07000 3rd Qu.:6.130 3rd Qu.:0.6700 3rd Qu.:1.4500
Max. :0.13000 Max. :8.680 Max. :0.9000 Max. :2.0000
flouride bacteria viruses lead
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.00100
1st Qu.:0.4000 1st Qu.:0.0200 1st Qu.:0.0020 1st Qu.:0.04200
Median :0.7650 Median :0.3600 Median :0.0080 Median :0.09900
Mean :0.7714 Mean :0.3851 Mean :0.3292 Mean :0.09568
3rd Qu.:1.1600 3rd Qu.:0.6700 3rd Qu.:0.7100 3rd Qu.:0.14800
Max. :1.5000 Max. :1.0000 Max. :1.0000 Max. :0.20000
nitrates nitrites mercury perchlorate
Min. : 0.010 Min. :0.930 Min. :0.000000 Min. : 0.07
1st Qu.: 5.020 1st Qu.:1.330 1st Qu.:0.003000 1st Qu.:15.62
Median : 9.930 Median :1.580 Median :0.005000 Median :29.48
Mean : 9.819 Mean :1.601 Mean :0.005196 Mean :29.55
3rd Qu.:14.610 3rd Qu.:1.850 3rd Qu.:0.008000 3rd Qu.:43.75
Max. :19.810 Max. :2.920 Max. :0.010000 Max. :60.01
radium selenium silver uranium
Min. :0.000 Min. :0.00000 Min. :0.0000 Min. :0.00000
1st Qu.:2.130 1st Qu.:0.03000 1st Qu.:0.1200 1st Qu.:0.02000
Median :4.100 Median :0.05000 Median :0.2400 Median :0.05000
Mean :4.041 Mean :0.04972 Mean :0.2466 Mean :0.04468
3rd Qu.:5.960 3rd Qu.:0.07000 3rd Qu.:0.3700 3rd Qu.:0.07000
Max. :7.990 Max. :0.10000 Max. :0.5000 Max. :0.09000
Dari deskripsi tersebut dapat diketahui kondisi data yang dimiliki, seperti data minimal, maksimal, rata-rata, kuantil 1, dan kuantil 3 untuk setiap variabel.
> library(corrplot)
> korelasi = cor(Data_WaterQuality)
> korelasi
aluminium ammonia arsenic barium cadmium
aluminium 1.0000000000 0.007083474 0.015791313 0.009978542 0.002020064
ammonia 0.0070834742 1.000000000 -0.014136530 -0.003783400 0.021285227
arsenic 0.0157913133 -0.014136530 1.000000000 0.167618758 0.602181395
barium 0.0099785422 -0.003783400 0.167618758 1.000000000 0.163977780
cadmium 0.0020200645 0.021285227 0.602181395 0.163977780 1.000000000
chloramine -0.0192283464 0.006972457 0.024530132 -0.037939109 0.038653739
chromium 0.0003300716 0.063524897 -0.010097338 -0.029080004 -0.010816340
copper 0.1685418331 -0.005913714 -0.159678723 -0.051404643 -0.156940818
flouride -0.0159300720 -0.028138188 0.007610587 -0.023706855 0.012186045
bacteria -0.2847332802 0.054211331 -0.084062027 -0.031055677 -0.082697300
viruses -0.1158679974 0.060713159 0.017357134 0.002037312 0.030436606
lead 0.0818301808 -0.032368890 -0.092028502 -0.020658473 -0.089246419
nitrates -0.0059019425 0.010011415 0.042812889 -0.016218876 0.028491712
nitrites 0.0196635124 -0.024703436 0.257628192 0.087677200 0.252049655
mercury -0.0065033861 0.020081555 -0.022471538 0.012118336 -0.008953854
perchlorate 0.0054445731 -0.009396862 0.012529547 0.054078687 0.005082391
radium 0.0143769298 0.012631480 0.010362604 0.003574189 -0.008793050
selenium -0.0069648339 0.028810196 -0.010339080 0.040147720 0.009558618
silver 0.0005579318 -0.025956647 0.008745616 0.050584625 -0.020403294
uranium 0.0239729072 0.013749121 0.001656990 -0.008485199 0.010040661
chloramine chromium copper flouride bacteria
aluminium -0.019228346 0.0003300716 0.168541833 -0.015930072 -0.284733280
ammonia 0.006972457 0.0635248966 -0.005913714 -0.028138188 0.054211331
arsenic 0.024530132 -0.0100973380 -0.159678723 0.007610587 -0.084062027
barium -0.037939109 -0.0290800038 -0.051404643 -0.023706855 -0.031055677
cadmium 0.038653739 -0.0108163401 -0.156940818 0.012186045 -0.082697300
chloramine 1.000000000 -0.0262049320 0.022497058 0.011094153 -0.001985956
chromium -0.026204932 1.0000000000 0.024672000 -0.006496114 -0.007084544
copper 0.022497058 0.0246720003 1.000000000 0.014349719 -0.082304155
flouride 0.011094153 -0.0064961137 0.014349719 1.000000000 0.016413986
bacteria -0.001985956 -0.0070845439 -0.082304155 0.016413986 1.000000000
viruses 0.006149165 -0.0022197187 -0.035319774 0.018348012 0.793570066
lead 0.042176481 -0.0047311998 0.208297751 0.015535165 -0.028341663
nitrates -0.002206532 -0.0254505954 -0.015639001 -0.008894965 -0.044847439
nitrites 0.034904332 -0.0277269232 -0.071845308 -0.040423140 -0.062230498
mercury -0.048160138 -0.0488096014 0.020243083 -0.004760274 -0.009477247
perchlorate 0.025447730 -0.0289884474 0.006468362 -0.030726320 -0.000503718
radium 0.027472884 -0.0737205719 -0.002473398 0.026088607 0.021875374
selenium 0.023460114 0.0613941122 -0.003126244 0.022032250 -0.014039443
silver -0.033770991 0.0229077597 -0.011905210 0.024898613 0.022109653
uranium -0.016935460 -0.0127159554 0.004623211 0.017350649 0.056158898
viruses lead nitrates nitrites mercury
aluminium -0.115867997 0.081830181 -5.901942e-03 0.019663512 -0.006503386
ammonia 0.060713159 -0.032368890 1.001141e-02 -0.024703436 0.020081555
arsenic 0.017357134 -0.092028502 4.281289e-02 0.257628192 -0.022471538
barium 0.002037312 -0.020658473 -1.621888e-02 0.087677200 0.012118336
cadmium 0.030436606 -0.089246419 2.849171e-02 0.252049655 -0.008953854
chloramine 0.006149165 0.042176481 -2.206532e-03 0.034904332 -0.048160138
chromium -0.002219719 -0.004731200 -2.545060e-02 -0.027726923 -0.048809601
copper -0.035319774 0.208297751 -1.563900e-02 -0.071845308 0.020243083
flouride 0.018348012 0.015535165 -8.894965e-03 -0.040423140 -0.004760274
bacteria 0.793570066 -0.028341663 -4.484744e-02 -0.062230498 -0.009477247
viruses 1.000000000 0.005228863 -4.101317e-02 -0.033146946 0.012506399
lead 0.005228863 1.000000000 2.440705e-02 -0.060132931 -0.011650438
nitrates -0.041013168 0.024407052 1.000000e+00 0.045533752 -0.020489901
nitrites -0.033146946 -0.060132931 4.553375e-02 1.000000000 -0.048895664
mercury 0.012506399 -0.011650438 -2.048990e-02 -0.048895664 1.000000000
perchlorate 0.006617523 0.040077251 -3.018342e-02 -0.016692152 0.006893718
radium 0.013969175 -0.013853234 -2.366422e-02 -0.001422394 0.044973957
selenium -0.036919797 0.029846866 4.374327e-02 0.022549438 0.033727026
silver 0.024912526 -0.028982303 5.412895e-03 0.015805448 0.011648993
uranium 0.062237583 -0.013905734 2.851781e-05 -0.011241026 0.031434162
perchlorate radium selenium silver uranium
aluminium 0.0054445731 0.014376930 -0.006964834 0.0005579318 2.397291e-02
ammonia -0.0093968618 0.012631480 0.028810196 -0.0259566466 1.374912e-02
arsenic 0.0125295465 0.010362604 -0.010339080 0.0087456160 1.656990e-03
barium 0.0540786875 0.003574189 0.040147720 0.0505846246 -8.485199e-03
cadmium 0.0050823914 -0.008793050 0.009558618 -0.0204032941 1.004066e-02
chloramine 0.0254477302 0.027472884 0.023460114 -0.0337709911 -1.693546e-02
chromium -0.0289884474 -0.073720572 0.061394112 0.0229077597 -1.271596e-02
copper 0.0064683619 -0.002473398 -0.003126244 -0.0119052102 4.623211e-03
flouride -0.0307263202 0.026088607 0.022032250 0.0248986132 1.735065e-02
bacteria -0.0005037180 0.021875374 -0.014039443 0.0221096532 5.615890e-02
viruses 0.0066175230 0.013969175 -0.036919797 0.0249125256 6.223758e-02
lead 0.0400772513 -0.013853234 0.029846866 -0.0289823033 -1.390573e-02
nitrates -0.0301834233 -0.023664222 0.043743271 0.0054128947 2.851781e-05
nitrites -0.0166921522 -0.001422394 0.022549438 0.0158054482 -1.124103e-02
mercury 0.0068937184 0.044973957 0.033727026 0.0116489933 3.143416e-02
perchlorate 1.0000000000 0.032762777 0.021389724 -0.0101575230 6.345295e-04
radium 0.0327627768 1.000000000 0.032325740 0.0467341745 3.375158e-02
selenium 0.0213897242 0.032325740 1.000000000 -0.0456560633 -2.306435e-02
silver -0.0101575230 0.046734174 -0.045656063 1.0000000000 1.794271e-02
uranium 0.0006345295 0.033751577 -0.023064352 0.0179427148 1.000000e+00
> corrplot(korelasi, method = "number")
Dari penghitungan korelasi yang dihasilkan dan pembuatan plot dari
korelasi tersebut, dapat diketahui bahwa ada beberapa variabel yang
terindikasi memiliki hubungan atau korelasi. Namun, tidak seluruh
variabel memiliki korelasi dengan variabel yang lain. Adapun korelasi
diantaranya akan sangat kecil bahkan mendekati 0. Maka ada kemungkinkan
hasil dari R2 akan termasuk kecil dan akan berpengaruh pada
model yang dihasilkan.
“Dalam menghitung nilai PCA, dapat digunakan dua metode, yaitu menggunakan metode matriks varians-kovarians dan menggunakan metode matriks korelasi.”
“Berdasarakan sumber diperoleh data (kaggle.com),diketahui bahwa semua variabel diukur dengan satuan yang sama, yaitu water/liter. Maka, sesuai dengan yang disebutkan di atas, dapat digunakan metode varians-kovarians untuk menghitung PCA.”
> #Kumulatif Nilai Eigen dan Vektor Eigen
> #Dekomposisi Eigen dengan Matriks Varians-Kovarians
> sc = scale(Data_WaterQuality)
> sc = cov(sc)
> s_eigen = eigen(s)
Error in eval(expr, envir, enclos): object 's' not found
> s_eigen
Error in eval(expr, envir, enclos): object 's_eigen' not found
Pada langkah ini akan dihitung nilai eigen dan
vektor eigen dari masing-mamsing variabel. -
Nilai eigen diurutkan menurun dari variabel yang memiliki
nilai eigen tertinggi ke terendah. Nilai ini digunakan untuk melihat
seberapa besar varians yang dapat dijelaskan oleh komponen utama. Pada
kasus ini, nilai eigen berada lebih 1 hingga variabel ke-9. Artinya
hingga variabel ke 9, terdapat varians yang besar dan dapat dijelaskan
oleh komponen utama. - Vektor eigen merupakan nilai
loadings yang digunakan untuk membuat persamaan komponen
utama.
> #Scree Plot
> plot(s_eigen$values, xlab="Nilai Eigen ke-",
+ ylab="Nilai Eigen", main="Scree Plot Varians-Kovarians")
Error in eval(expr, envir, enclos): object 's_eigen' not found
> lines(s_eigen$values)
Error in eval(expr, envir, enclos): object 's_eigen' not found
Dari Scree Plot yang telah terbentuk di atas, ditunjukkan untuk x adalah variabel ke-i dari nilai eigen dan untuk y adalah nilai eigen untuk variabel ke-i. Sesuai dengan yang ditulis Rencer pada bukunya, jika terdapat dua nilai eigen pertama membentuk kurva curam diikuti oleh tikungan dan kemudian terdapat tren garis lurus dengan kemiringan yang dangkal. Rekomendasinya adalah mempertahankan nilai eigen tersebut pada kurva yang curam sebelum yang pertama pada garis lurus. Maka pada kasus ini, dapat diambil kesimpulan berdasarkan hasil plot tersebut, nilai eigen yang dipertahankan adalah hingga x = 3.
> #Nilai Kumulatif Eigen
> for (eg in s_eigen$values)
+ {
+ print(eg/sum(s_eigen$values))
+ }
Error in eval(expr, envir, enclos): object 's_eigen' not found
Ouput berupa nilai kumulatif eigen pada tiap nilai eigen ditunjukkan seperti nilai di atas. Jika diperhatikan lagi, nilai kumulatif eigen terurut dari atas hingga bawah dari terbesar hingga terkecil.
> #Persamaan PC
> s_eigen$vectors[,1:3]
Error in eval(expr, envir, enclos): object 's_eigen' not found
Selain penghitungan manual, R juga menyediakan fungsi
prcomp yang digunakan untuk PCA. Fungsi ini hanya digunakan
untuk raw data, yaitu data yang sudah distandardisasi. Jika sudah
distandardisasi, maka sudah bisa dilakukan dengan memasukkan argumen
TRUE (T) pada parameter scale dan center.
> #Fungsi PCA dengan library prcomp
> PCA1 = prcomp(x=Data_WaterQuality, scale=T, center=T)
> print(PCA1$rotation[,1:3],digits=4)
PC1 PC2 PC3
aluminium -0.149087 0.284180 0.33822
ammonia 0.046357 -0.065534 -0.01208
arsenic -0.481345 -0.319552 0.14692
barium -0.213793 -0.136808 0.16460
cadmium -0.473116 -0.325815 0.15111
chloramine -0.024987 -0.015127 0.24694
chromium 0.025370 0.028107 -0.15398
copper 0.139407 0.297428 0.46256
flouride 0.028881 -0.013728 0.07490
bacteria 0.433796 -0.509219 0.10771
viruses 0.359606 -0.515882 0.24597
lead 0.111526 0.190648 0.53072
nitrates -0.081867 0.015441 -0.03291
nitrites -0.333957 -0.168949 0.09017
mercury 0.035384 0.013040 0.04574
perchlorate -0.008073 -0.003086 0.27696
radium 0.012371 -0.027903 0.19700
selenium -0.031983 0.025005 0.09267
silver 0.006849 -0.043639 -0.04392
uranium 0.046324 -0.065082 0.13632
> summary(PCA1)
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6 PC7
Standard deviation 1.41101 1.38101 1.0973 1.07763 1.05022 1.04734 1.03099
Proportion of Variance 0.09955 0.09536 0.0602 0.05806 0.05515 0.05485 0.05315
Cumulative Proportion 0.09955 0.19491 0.2551 0.31318 0.36832 0.42317 0.47632
PC8 PC9 PC10 PC11 PC12 PC13 PC14
Standard deviation 1.01841 1.01180 0.99855 0.97985 0.96201 0.95583 0.94027
Proportion of Variance 0.05186 0.05119 0.04986 0.04801 0.04627 0.04568 0.04421
Cumulative Proportion 0.52817 0.57936 0.62922 0.67722 0.72350 0.76918 0.81338
PC15 PC16 PC17 PC18 PC19 PC20
Standard deviation 0.91490 0.89935 0.88490 0.85497 0.62846 0.42134
Proportion of Variance 0.04185 0.04044 0.03915 0.03655 0.01975 0.00888
Cumulative Proportion 0.85523 0.89567 0.93483 0.97138 0.99112 1.00000
Nilai sdev merupakan nilai eigen atau varians komponen
utama, rotation merupakan vektor eigen atau koefisien dari
masing-masing variael yang digunakan untuk membentuk komponen utama atau
biasa disebut dengan loadings.
> eig.val <- get_eigenvalue(PCA1)
> eig.val
eigenvalue variance.percent cumulative.variance.percent
Dim.1 1.9909440 9.9547201 9.95472
Dim.2 1.9071950 9.5359750 19.49070
Dim.3 1.2040726 6.0203631 25.51106
Dim.4 1.1612952 5.8064762 31.31753
Dim.5 1.1029660 5.5148300 36.83236
Dim.6 1.0969226 5.4846129 42.31698
Dim.7 1.0629369 5.3146846 47.63166
Dim.8 1.0371659 5.1858296 52.81749
Dim.9 1.0237361 5.1186803 57.93617
Dim.10 0.9971001 4.9855006 62.92167
Dim.11 0.9601008 4.8005041 67.72218
Dim.12 0.9254705 4.6273523 72.34953
Dim.13 0.9136076 4.5680381 76.91757
Dim.14 0.8841050 4.4205251 81.33809
Dim.15 0.8370388 4.1851938 85.52329
Dim.16 0.8088352 4.0441760 89.56746
Dim.17 0.7830405 3.9152026 93.48266
Dim.18 0.7309818 3.6549092 97.13757
Dim.19 0.3949606 1.9748032 99.11238
Dim.20 0.1775246 0.8876231 100.00000
> fviz_eig(PCA1, col.var="blue")
Berdasarkan tingkat pentingnya komponen, terlihat bahwa dua PC pertama
memiliki nilai yang tinggi unttuk proporsi variasi. Pernyataan ini
dibuktikan oleh pengukuran nilai eigen. Nilai eigen besar untuk PC
pertama dan kecil untuk PC selanjutnya, artinya PC perama sesuai dengan
arah dengan jumlah variasi maksimum dalam kumpulan data. Nilai eigen
pertama, kedua, dam ketiga hanya bisa menjelaskan sekitar 30% variasi
sedangkan faktor lain dijelaskan oleh nilai eigen dari variabel lain.
Sehingga, mengambil kesimpulan adanya 3 PC masih kurang tepat.
> #Fungsi PCA dengan library factoextra dan FactoMineR
> library(factoextra)
> library(FactoMineR)
> PCA2 = princomp(x=Data_WaterQuality, cor=T)
> summary(PCA2)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Standard deviation 1.4110082 1.38101231 1.09730243 1.07763409 1.0502219
Proportion of Variance 0.0995472 0.09535975 0.06020363 0.05806476 0.0551483
Cumulative Proportion 0.0995472 0.19490695 0.25511058 0.31317534 0.3683236
Comp.6 Comp.7 Comp.8 Comp.9 Comp.10
Standard deviation 1.04734072 1.03098832 1.0184134 1.0117984 0.99854901
Proportion of Variance 0.05484613 0.05314685 0.0518583 0.0511868 0.04985501
Cumulative Proportion 0.42316977 0.47631662 0.5281749 0.5793617 0.62921672
Comp.11 Comp.12 Comp.13 Comp.14 Comp.15
Standard deviation 0.97984734 0.96201375 0.95582824 0.94026859 0.91489822
Proportion of Variance 0.04800504 0.04627352 0.04568038 0.04420525 0.04185194
Cumulative Proportion 0.67722177 0.72349529 0.76917567 0.81338092 0.85523286
Comp.16 Comp.17 Comp.18 Comp.19 Comp.20
Standard deviation 0.89935266 0.88489577 0.85497476 0.62845894 0.421336715
Proportion of Variance 0.04044176 0.03915203 0.03654909 0.01974803 0.008876231
Cumulative Proportion 0.89567462 0.93482664 0.97137574 0.99112377 1.000000000
Nilai loading bisa didapatkan dari PCA1 maupun PCA2. Jika ingin
menggunakan PCA1 dapat dengan memanggil PCA1$rotation,
sedangkan untuk PCA2 sebagai berikut:
> #Nilai Loading
> print(PCA2$loadings, digits=4, cutoff=0.1)
Loadings:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
aluminium 0.1491 0.2842 0.3382 0.1844 0.2929 0.1743
ammonia -0.1814 0.5222 -0.1218 0.1152 0.3685
arsenic 0.4813 -0.3196 0.1469
barium 0.2138 -0.1368 0.1646 0.1717 0.2247 -0.3132 -0.3164
cadmium 0.4731 -0.3258 0.1511
chloramine 0.2469 -0.2447 -0.3576 -0.3060 0.1383 0.1244
chromium -0.1540 -0.4106 0.4609 0.1878 -0.2568
copper -0.1394 0.2974 0.4626 0.2134
flouride -0.1349 0.5482 -0.4048
bacteria -0.4338 -0.5092 0.1077
viruses -0.3596 -0.5159 0.2460 0.1284
lead -0.1115 0.1906 0.5307 -0.2038 -0.1457
nitrates -0.1874 0.3449
nitrites 0.3340 -0.1689 -0.1020
mercury 0.4094 0.3272 -0.2162 0.1254
perchlorate 0.2770 0.1344 -0.3160 -0.4806
radium 0.1970 0.4374 -0.3017 0.2648
selenium -0.1940 0.3423 -0.5315 0.2051 -0.3408
silver 0.3334 0.3425 -0.4492
uranium 0.1363 0.2526 0.1560 0.2078 0.2896 0.3427
Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 Comp.15 Comp.16
aluminium 0.2322 0.3670 0.5040
ammonia 0.1589 0.2306 0.1655 0.5154 -0.2153 -0.3046
arsenic 0.1671 -0.1395
barium -0.1295 0.1286 -0.6290 -0.2070 0.1513
cadmium -0.1419 0.1241 -0.1277
chloramine 0.3579 0.2439 -0.1182 -0.4805 -0.3182 0.2600
chromium 0.2874 -0.1439 -0.1855 -0.1769 0.3093 -0.2733 0.1118
copper 0.1630
flouride 0.2649 -0.4044 -0.1109 0.4055 0.1960
bacteria
viruses 0.1101 0.1740
lead -0.1995 -0.4014 -0.3780
nitrates -0.6992 0.2976 -0.1696 0.2873 0.1221 0.2412
nitrites 0.1776 0.1111 -0.3089 0.4246 -0.5212
mercury -0.2191 -0.3630 0.3023 -0.1132 -0.5426 0.1537
perchlorate 0.1055 0.1100 -0.4879 0.3138 -0.1504 0.3418 0.2349
radium 0.2216 0.3562 0.1619 0.3836 0.2772 -0.3831
selenium -0.1214 -0.3577 0.1765 0.2580
silver 0.5338 -0.3552 0.1492
uranium -0.6905 -0.2798 -0.2389 -0.1228
Comp.17 Comp.18 Comp.19 Comp.20
aluminium 0.1733 0.3454 0.1449
ammonia
arsenic 0.1392 -0.1939 -0.7094
barium -0.3325 0.1344
cadmium 0.1518 -0.2090 0.7005
chloramine
chromium -0.2968 0.2127
copper -0.3985 -0.6441
flouride -0.1664 0.1314
bacteria 0.7167
viruses -0.6748
lead 0.3592 0.3316
nitrates -0.2223
nitrites -0.3504 0.3026
mercury -0.1241 0.1817
perchlorate
radium -0.1612
selenium 0.3071 -0.1955
silver 0.2931 -0.1199
uranium
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
SS loadings 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
Proportion Var 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05
Cumulative Var 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45
Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 Comp.15 Comp.16 Comp.17
SS loadings 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
Proportion Var 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05
Cumulative Var 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85
Comp.18 Comp.19 Comp.20
SS loadings 1.00 1.00 1.00
Proportion Var 0.05 0.05 0.05
Cumulative Var 0.90 0.95 1.00
> #Plot PCA
> plot(PCA2)
Sejalan dengan hasil pada PCA1, untuk somponen 1 dan 2 masih menjadi
yang paling tinggi. Secara rata-rata, dari 10 komponen, didapatkan hasil
bahwa semuanya memiliiki varians yang sangat dekat dengan 1.
> #Nilai Kontribusi
> pca_contrib = get_pca_var(PCA2)
> pca_contrib$contrib
Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
aluminium 2.222686493 8.075799e+00 11.43898495 0.1878805 3.399104e+00
ammonia 0.214900036 4.294710e-01 0.01459541 3.2916375 2.726993e+01
arsenic 23.169342166 1.021137e+01 2.15847543 0.1672243 1.302393e-02
barium 4.570735694 1.871641e+00 2.70944366 2.9487309 5.048659e+00
cadmium 22.383831850 1.061552e+01 2.28342893 0.5299882 1.771799e-01
chloramine 0.062433791 2.288155e-02 6.09776393 5.9892914 1.278974e+01
chromium 0.064364068 7.900253e-02 2.37095729 16.8564497 2.124616e+01
copper 1.943422870 8.846341e+00 21.39621031 0.9537294 5.902596e-01
flouride 0.083410471 1.884717e-02 0.56106885 0.5302343 1.820744e+00
bacteria 18.817894354 2.593044e+01 1.16009023 0.3986205 1.273738e-02
viruses 12.931617750 2.661347e+01 6.04998730 0.4835948 1.560590e-01
lead 1.243796503 3.634668e+00 28.16678532 4.1549972 5.115057e-01
nitrates 0.670227757 2.384152e-02 0.10829530 3.5106348 5.946359e-01
nitrites 11.152742890 2.854362e+00 0.81307542 1.0401298 9.972974e-01
mercury 0.125201403 1.700301e-02 0.20921618 16.7611301 1.070463e+01
perchlorate 0.006517909 9.521007e-04 7.67052755 1.8075867 1.426094e-02
radium 0.015303680 7.785787e-02 3.88107777 19.1299605 8.799093e-04
selenium 0.102292011 6.252723e-02 0.85873627 3.7646378 1.171379e+01
silver 0.004690259 1.904331e-01 0.19285401 11.1134230 5.067750e-01
uranium 0.214588046 4.235713e-01 1.85842588 6.3801185 2.432632e+00
Dim.6 Dim.7 Dim.8 Dim.9 Dim.10
aluminium 8.578454674 0.05913309 3.036582100 0.339393114 0.281426233
ammonia 1.484714317 1.32723936 13.576295794 2.526469753 5.319911064
arsenic 0.775991372 0.19496081 0.045170352 0.152110747 0.989339775
barium 0.001872685 9.80737153 10.011152661 1.678306718 0.007679126
cadmium 0.306706185 0.30302944 0.318932266 0.302026145 2.013994541
chloramine 9.364326574 1.91143533 1.547041413 12.811507665 5.949257416
chromium 3.528601105 0.06142651 6.592131781 8.258509180 0.674764453
copper 4.553777591 0.06634815 0.001270536 0.096428408 0.083569937
flouride 0.174718463 30.05007771 16.386675745 7.014738838 16.355570198
bacteria 0.105796409 0.04037327 0.052035608 0.409287453 0.007159410
viruses 1.649912231 0.02645380 0.040036218 0.335031887 0.028409958
lead 0.340839346 0.08093969 2.123485141 3.978991597 0.625732053
nitrates 0.710367881 11.89787965 0.034240708 48.883111374 8.859108248
nitrites 0.366871200 0.07577381 0.084647379 0.912654969 3.155525097
mercury 4.673493397 0.51875336 1.572614293 4.799225934 13.178982698
perchlorate 9.986072993 23.09496003 0.988682056 1.111977501 1.209790435
radium 9.099694752 7.01383673 0.044577628 4.909796585 12.688582523
selenium 28.244717527 4.20604344 11.616417533 1.473542076 0.071323316
silver 11.733955593 0.87679972 20.181999819 0.001007225 28.497285288
uranium 4.319115704 8.38716457 11.746010970 0.005882830 0.002588231
Dim.11 Dim.12 Dim.13 Dim.14 Dim.15
aluminium 0.46972974 0.02724773 5.389957534 0.57567775 13.46891992
ammonia 2.73844284 26.56667913 0.001930475 4.63570766 0.56270300
arsenic 0.05063620 0.30421173 0.347792926 2.79241027 1.94580283
barium 0.01110514 0.67093673 1.654640712 39.56112615 4.28691473
cadmium 0.07744924 0.36234928 0.587362463 1.54041097 1.63179168
chloramine 0.53317068 1.39670500 23.091258560 10.12819800 0.01367648
chromium 2.06969280 3.43932910 3.130417569 9.56641117 7.46773376
copper 2.65724260 0.29331057 0.105528750 0.06037787 0.47114853
flouride 1.23097904 16.44440386 0.200518646 0.17054498 3.84332828
bacteria 0.15463379 0.19034854 0.365871332 0.08829716 0.43726595
viruses 0.62123356 0.03600171 0.380588696 0.52065199 1.21134441
lead 0.13938162 0.10579441 0.509961139 0.04090055 16.11261856
nitrates 2.87746227 8.25492063 0.631023231 1.49200547 0.50761956
nitrites 1.23396315 9.54024761 0.741419466 0.39335517 18.02705873
mercury 9.14113396 1.28119785 29.444354606 2.36278607 0.21742194
perchlorate 23.80059513 9.84661381 2.262973297 11.68003254 5.51552261
radium 2.62193271 0.55397285 14.713388425 7.68557327 14.67766117
selenium 0.91907678 12.79363395 3.113802015 0.87623713 6.65440287
silver 0.97450851 0.06287061 12.614664456 0.12144326 2.22480522
uranium 47.67763022 7.82922489 0.712545701 5.70785257 0.72225977
Dim.16 Dim.17 Dim.18 Dim.19 Dim.20
aluminium 25.405443240 3.00208813 11.931045418 0.012150413 2.098295e+00
ammonia 9.277335034 0.59096835 0.008080153 0.162961297 3.152325e-05
arsenic 0.532443893 1.93745288 3.759181422 50.329032704 1.240226e-01
barium 2.289605150 11.05659404 1.806758533 0.000267886 6.457753e-03
cadmium 0.196200245 2.30407828 4.367519855 49.071964567 6.262398e-01
chloramine 6.760376631 0.54849924 0.954718990 0.023344418 4.373736e-03
chromium 1.248906277 8.80848241 4.523903225 0.007373818 5.380162e-03
copper 0.425954408 15.87890366 41.488026137 0.004655713 8.349374e-02
flouride 0.614793328 2.76819188 1.726676361 0.004001757 4.759561e-04
bacteria 0.309574905 0.06309595 0.032140956 0.055205730 5.136913e+01
viruses 3.026120083 0.01601228 0.291855687 0.048603769 4.553302e+01
lead 14.291680100 12.90242265 10.994245558 0.002027756 3.922673e-02
nitrates 5.815333224 4.94063510 0.147041049 0.039932561 1.683766e-03
nitrites 27.167830081 12.27960983 9.157234137 0.001455166 4.746541e-03
mercury 0.073955788 1.53980457 3.302360790 0.024449967 5.228789e-02
perchlorate 0.261862325 0.72890491 0.001509365 0.009727162 9.306377e-04
radium 0.006609826 2.59723038 0.204519415 0.068579870 8.964114e-03
selenium 0.190686629 9.43097016 3.823462457 0.044663281 3.903618e-02
silver 0.598394925 8.58918544 1.438046828 0.076156312 7.014129e-04
uranium 1.506893909 0.01686984 0.041673665 0.013445850 1.505562e-03
> #PCA dengan function PCA
> PCA3 = PCA(Data_WaterQuality, scale.unit=T, graph=FALSE)
> PCA3$eig
eigenvalue percentage of variance cumulative percentage of variance
comp 1 1.9909440 9.9547201 9.95472
comp 2 1.9071950 9.5359750 19.49070
comp 3 1.2040726 6.0203631 25.51106
comp 4 1.1612952 5.8064762 31.31753
comp 5 1.1029660 5.5148300 36.83236
comp 6 1.0969226 5.4846129 42.31698
comp 7 1.0629369 5.3146846 47.63166
comp 8 1.0371659 5.1858296 52.81749
comp 9 1.0237361 5.1186803 57.93617
comp 10 0.9971001 4.9855006 62.92167
comp 11 0.9601008 4.8005041 67.72218
comp 12 0.9254705 4.6273523 72.34953
comp 13 0.9136076 4.5680381 76.91757
comp 14 0.8841050 4.4205251 81.33809
comp 15 0.8370388 4.1851938 85.52329
comp 16 0.8088352 4.0441760 89.56746
comp 17 0.7830405 3.9152026 93.48266
comp 18 0.7309818 3.6549092 97.13757
comp 19 0.3949606 1.9748032 99.11238
comp 20 0.1775246 0.8876231 100.00000
> #Plot Kontribusi Variabel
> fviz_pca_var(PCA3, col.var="contrib", gradient.cols=c("skyblue3",
+ "gold","darkorchid4"),
+ axes=c(1,2), repel=T)
Melalui tampilan pada peta faktor, maka dapat direpresentasikan kualitas
variabel. Variabel yang memiliki korelasi positif dikelompokkan
bersama-sama sedangkan variabel dengan korelasi negatif akan ditempatkan
di sisi berlawanan dari asal plot. Jarak antara variabel yang jauh dari
asal direpresentasikan dengan baik pada peta faktor. Dalam peta
tersebut, dapat terlihat bahwa kebanyakan variabel memiliki kontribusi
yang minim, seperti
mercury, ammonia,
chloramine, dan lain sebagainya. Sedangkan untuk variabel
bacteria, viruses, cadmium, dan
arsenic memiliki kontribusi lebih besar dari pada yang
lainnya. Bagi variabel yang dekat dengan pusat lingkaran cenderung
kurang penting untuk komponen utama.
Terdapat beberapa metode untuk menentukan banyaknya komponen utama, salah satunya adalah dengan melihat proporsi kumulatif varians yang dapat dijelaskan oleh komponen utama. Selain itu juga dapat melihat nilai loadings yang sudah diketahui sebelumnya.
> summary(PCA2)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Standard deviation 1.4110082 1.38101231 1.09730243 1.07763409 1.0502219
Proportion of Variance 0.0995472 0.09535975 0.06020363 0.05806476 0.0551483
Cumulative Proportion 0.0995472 0.19490695 0.25511058 0.31317534 0.3683236
Comp.6 Comp.7 Comp.8 Comp.9 Comp.10
Standard deviation 1.04734072 1.03098832 1.0184134 1.0117984 0.99854901
Proportion of Variance 0.05484613 0.05314685 0.0518583 0.0511868 0.04985501
Cumulative Proportion 0.42316977 0.47631662 0.5281749 0.5793617 0.62921672
Comp.11 Comp.12 Comp.13 Comp.14 Comp.15
Standard deviation 0.97984734 0.96201375 0.95582824 0.94026859 0.91489822
Proportion of Variance 0.04800504 0.04627352 0.04568038 0.04420525 0.04185194
Cumulative Proportion 0.67722177 0.72349529 0.76917567 0.81338092 0.85523286
Comp.16 Comp.17 Comp.18 Comp.19 Comp.20
Standard deviation 0.89935266 0.88489577 0.85497476 0.62845894 0.421336715
Proportion of Variance 0.04044176 0.03915203 0.03654909 0.01974803 0.008876231
Cumulative Proportion 0.89567462 0.93482664 0.97137574 0.99112377 1.000000000
Dari output tersebut, dapat diketahui bahwa nilai kumulatif baru bernilai 0,75 atau 75% ke atas ada pada komponen atau PC 13. Jadi sebaiknya, terdapat 13 komponen utama dari yang sebelumnya terdiri dari 20 komponen.
Persamaan komponen utama dibentuk berdasarkan loadings atau vektor eigen. Dalam membuat persamaan utama juga dapat menggunakan rotation.
> PCA1$rotation
PC1 PC2 PC3 PC4 PC5
aluminium -0.149086770 0.284179507 0.33821568 0.04334519 0.184366601
ammonia 0.046357312 -0.065534039 -0.01208115 -0.18142871 0.522206149
arsenic -0.481345429 -0.319552400 0.14691751 -0.04089307 0.011412242
barium -0.213792790 -0.136807948 0.16460388 0.17171869 0.224692205
cadmium -0.473115545 -0.325814612 0.15111019 -0.07280029 0.042092746
chloramine -0.024986755 -0.015126649 0.24693651 -0.24473029 -0.357627448
chromium 0.025370075 0.028107389 -0.15397913 -0.41056607 0.460935604
copper 0.139406702 0.297427995 0.46256038 -0.09765907 0.076828357
flouride 0.028880871 -0.013728500 0.07490453 0.07281719 -0.134934954
bacteria 0.433795970 -0.509219400 0.10770748 -0.06313640 -0.011286002
viruses 0.359605586 -0.515882445 0.24596722 -0.06954098 0.039504301
lead 0.111525625 0.190648062 0.53072390 -0.20383810 -0.071519626
nitrates -0.081867439 0.015440698 -0.03290825 -0.18736688 -0.077112637
nitrites -0.333957226 -0.168948577 0.09017069 -0.10198676 -0.099864776
mercury 0.035383810 0.013039560 0.04574016 0.40940359 0.327179251
perchlorate -0.008073357 -0.003085613 0.27695717 0.13444652 0.011941919
radium 0.012370804 -0.027903023 0.19700451 0.43737810 0.002966327
selenium -0.031983122 0.025005445 0.09266802 -0.19402674 0.342254165
silver 0.006848546 -0.043638638 -0.04391515 0.33336801 0.071188132
uranium 0.046323649 -0.065082356 0.13632409 0.25258896 0.155968972
PC6 PC7 PC8 PC9 PC10
aluminium -0.292889991 -0.02431730 -0.174257915 0.058257456 0.053049621
ammonia 0.121848854 -0.11520588 -0.368460253 0.158948726 0.230649324
arsenic -0.088090372 -0.04415437 -0.021253318 0.039001378 -0.099465561
barium 0.004327453 0.31316723 0.316404056 -0.129549478 -0.008763063
cadmium -0.055381060 -0.05504811 -0.056474088 0.054956905 -0.141915275
chloramine 0.306011872 -0.13825467 -0.124380119 0.357931665 0.243910996
chromium -0.187845711 -0.02478437 0.256751471 0.287376220 0.082144047
copper -0.213395820 -0.02575814 -0.003564458 -0.031052924 -0.028908465
flouride -0.041799338 -0.54817951 0.404804592 0.264853522 -0.404420205
bacteria -0.032526360 0.02009310 0.022811315 -0.063975578 0.008461329
viruses -0.128448909 0.01626462 -0.020009052 -0.057881939 -0.016855254
lead -0.058381448 0.02844990 0.145721829 -0.199474098 -0.079103227
nitrates 0.084283325 -0.34493303 -0.018504245 -0.699164583 0.297642541
nitrites -0.060569894 -0.02752704 -0.029094223 -0.095532977 0.177637977
mercury 0.216182640 -0.07202453 -0.125403919 -0.219071357 -0.363028686
perchlorate 0.316007484 0.48057216 0.099432492 0.105450344 0.109990474
radium 0.301657003 -0.26483649 -0.021113415 0.221580608 0.356210367
selenium 0.531457595 -0.20508641 0.340828660 -0.121389541 -0.026706425
silver -0.342548618 -0.09363758 0.449243807 0.003173681 0.533828486
uranium -0.207824823 -0.28960602 -0.342724539 0.007669961 -0.005087466
PC11 PC12 PC13 PC14 PC15
aluminium -0.06853683 -0.01650689 0.232162821 0.07587343 -0.36700027
ammonia -0.16548241 -0.51542875 0.004393717 -0.21530694 -0.07501353
arsenic -0.02250249 -0.05515539 -0.058973971 0.16710506 0.13949204
barium -0.01053809 -0.08191073 0.128632838 -0.62897636 0.20704866
cadmium -0.02782970 -0.06019546 -0.076639576 0.12411329 0.12774160
chloramine -0.07301854 0.11818227 -0.480533647 -0.31824830 -0.01169465
chromium 0.14386427 0.18545428 -0.176929861 0.30929616 0.27327155
copper -0.16301051 0.05415815 -0.032485189 0.02457191 -0.06864026
flouride 0.11094949 -0.40551700 0.044779308 -0.04129709 -0.19604408
bacteria -0.03932350 0.04362895 0.060487299 0.02971484 -0.06612609
viruses -0.07881837 0.01897412 0.061691871 0.07215622 -0.11006109
lead -0.03733385 -0.03252605 -0.071411563 0.02022389 0.40140526
nitrates 0.16963084 -0.28731378 -0.079436971 0.12214768 0.07124743
nitrites -0.11108389 0.30887291 0.086105718 0.06271803 -0.42458284
mercury -0.30234308 0.11319001 -0.542626525 0.15371357 -0.04662853
perchlorate 0.48785854 -0.31379315 -0.150431822 0.34176063 -0.23485150
radium -0.16192383 0.07442935 0.383580349 0.27722866 0.38311436
selenium 0.09586849 0.35768190 0.176459684 -0.09360754 -0.25796129
silver -0.09871720 -0.02507401 -0.355171289 -0.03484871 -0.14915781
uranium 0.69048990 0.27980752 -0.084412422 -0.23891113 0.08498587
PC16 PC17 PC18 PC19 PC20
aluminium 0.504038126 0.17326535 0.345413454 -0.011022891 0.1448549398
ammonia -0.304587180 0.07687447 -0.008988967 0.040368465 0.0005614557
arsenic 0.072968753 0.13919242 -0.193886086 0.709429579 0.0352168423
barium 0.151314413 -0.33251457 0.134415718 -0.001636722 0.0080360146
cadmium 0.044294497 0.15179191 -0.208986120 -0.700513844 0.0791353161
chloramine 0.260007243 -0.07406073 0.097709723 0.015278880 0.0066134226
chromium 0.111754475 -0.29679088 0.212694693 -0.008587094 0.0073349585
copper -0.065265183 -0.39848342 -0.644111994 0.006823279 0.0288952827
flouride -0.078408758 -0.16637884 0.131403058 0.006325944 0.0021816419
bacteria 0.055639456 -0.02511891 0.017927899 0.023495900 0.7167226200
viruses 0.173957468 0.01265396 0.054023670 -0.022046263 -0.6747815581
lead -0.378043385 0.35919942 0.331575716 0.004503061 0.0198057403
nitrates 0.241150020 -0.22227539 0.038345932 -0.019983133 0.0041033724
nitrites -0.521227686 -0.35042274 0.302609222 -0.003814664 -0.0068895146
mercury 0.027194814 -0.12408886 0.181723988 0.015636485 0.0228665444
perchlorate -0.051172485 -0.08537593 -0.003885055 -0.009862638 0.0030506355
radium 0.008130084 -0.16115925 0.045223823 -0.026187759 -0.0094679003
selenium 0.043667680 0.30709885 -0.195536760 0.021133689 -0.0197575754
silver -0.077355990 0.29307312 -0.119918590 -0.027596433 0.0026484200
uranium -0.122755607 0.01298839 -0.020414129 0.011595624 -0.0038801578
Berdasarkan output tersebut komponen utama yang dapat dibentuk adalah: \[ KU_{1} = -0.15X_{1} + 0.05X_{2} - 0.48X_{3} + ... + 0.006X_{19}+0.05X_{20} \] \[ KU_{2} = 0.28X_{1} - 0.065X_{2} - 0.32X_{3} + ... - 0.04X_{19}-0.06X_{20} \] \[ . \] \[ . \] \[ . \] \[ KU_{13} = 0.23X_{1} + 0.00X_{2} - 0.05X_{3} + ... - 0.35X_{19} - 0.08X_{20} \]
Setelah dilakukan analisis, dapat disimpulkan bahwa terdapat
perbedaan hasil dari beberapa metode yang telah dihasilkan. Kembali
kepada teori untuk menentukan banyaknya komponen utama, diperoleh 13
komponen utama dari 20 komponen. Semakin besar koefisien suatu variabel
pada komponen utama, semakin besar pula hubungna variabel tersebut
dengan komponen utama yang bersesuaian. Seperti pada KU1,
komponen dengan koefisien terbesar adalah arsenic, cadmium, dan
bacteria. Melihat besaran yang sama dalam ketiga komponen tersebut, ada
kemungkinan ketiganya dalam satu kategori yang sama atau memiliki
kemiripan dalam bidang terkait. Akan tetapi, karena penganalisis
memiliki pengetahuan yang kurang terkait hal ini maka tidak dapat
diberikan nama secara pasti. Selain itu, setelah dianalisis dapat
diketahui bahwa kebanyakan variabel memiliki kontribusi yang minim,
seperti mercury, ammonia,
chloramine, dan lain sebagainya. Sedangkan untuk variabel
bacteria, viruses, cadmium, dan
arsenic memiliki kontribusi lebih besar dari pada yang
lainnya. Adanya minim korelasi ini memungkinkan adanya banyak kekurangan
dan ketidaksempurnaan pada analisis PCA ini. Hal ini dikarenakan PCA
mungkin bisa hanya dilakukan untuk beberapa variabel saja tanpa harus
menyertakan keseluruhan variabel dalam data yang dimiliki.
Untuk penelitian atau analisis selanjutnya, dapat diperhatikan lagi data yang digunakan. Jika terdapat data yang kurang baik, maka dapat dimaksimalkan dalam tahap pre-processing data sehingga hasil analisis yang dihasilkan lebih maksimal dan akurat. Misalnya sama dalam analisis PCA ini, mungkin bisa dispesifikkan kepada variabel-variabel yang memiliki korelasi sehingga hasil analisis bisa lebih spesifik dan tidak terlalu luas.
Alkahfi, Cahya dan Ananda, Rizky. STA1382 Principal Component Analysis. From: https://rpubs.com/rizkia/sta1382-principal-component-analysis (diakses pada 03 November 2023).
Azmi, Nurul, Baiq., Hermawan, Arief., dan Avianto, Donny. 2022. Analisis Pengaruh PCA Pada Klasifikasi Kualitas Air Menggunakan Algoritma K-Nearest Neighbor dan Logistic Regression. Jurnal. Yogyakarta: Universitas Teknologi Yogyakarta.
J. F. Hair, R.E. Anderson, R.I. Tatham., & W.C.Black, 1995. Multivariate Data Analysis With Readings Edisi Ke-4.
Johnson, Richard A. and Wichern, Dean W. 2007. Applied Multivariate Statistical Analysis Sixth Edition. New Jersey: Pearson Education, Inc.
Mukarromah, Rosyida., Yulianti, Ian., dan Sunarno. 2016. Analisis Sifat Fisis Air Di Mata Air Sumber Asem, Dusun Kalijeruk, Desa Siwuran, Kecamatan Garung, Kabupaten Wonosobo. Semarang: Universitas Negeri Semarang.
Rencer, Alvin C. 2022. Methods of Multivariate Analysis Second Edition. Canada: John Wiley & Sons, Inc.
Yafi, Muhammad., Goejantoro, Rito., dan Dani, Andrea, Tri Rian. 2023. Pengelompokan Algoritma K-Medoids dengan Principal Component Analysis (PCA) (Studi Kasus: Kabupaten/Kota di Pulau Kalimantan Berdasarkan Indikator Kemiskinan Tahun 2021)