Package
Pada Praktikum kali ini package yang dibutuhkan adalah
• factoextra
• ggcorrplot
• openxlsx
Silahkan install jika belum ada
#install.packages("factoextra")
#install.packages("ggcorrplot")
#install.packages("openxlsx")
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.3.2
Data Pelari Wanita
Berikut adalah data catatan waktu hasil tujuh nomor cabang lari atletik wanita yang berasal dari 55 negara pada salah satu event olimpiade yaitu lari 100 meter, 200 meter, 400 meter, 800 meter, 1500 meter, 3000 meter, dan maraton. Tiga nomor cabang lari pertama dicatat dalam satuan detik, sedangkan empat nomor yang lain dalam menit.
data_women_records <- openxlsx::read.xlsx("women_track_records.xlsx")
head(data_women_records)
## 100m 200m 400m 800m 1500m 3000m Marathon country
## 1 11.61 22.94 54.50 2.15 4.43 9.79 178.52 argentina
## 2 11.20 22.35 51.08 1.98 4.13 9.08 152.37 australia
## 3 11.43 23.09 50.62 1.99 4.22 9.34 159.37 austria
## 4 11.41 23.04 52.00 2.00 4.14 8.88 157.85 belgium
## 5 11.46 23.05 53.30 2.16 4.58 9.81 169.98 bermuda
## 6 11.31 23.17 52.80 2.10 4.49 9.77 168.75 brazil
Note : openxlsx::read.xlsx berarti
menggunakan fungsi read.xlsx yang berada pada package
openxlsx tanpa memanggil packagenya terlebih dahulu
menggunakan library. Fungsi head digunakan untuk
menampilkan data 6 baris pertama.
rownames(data_women_records) <- data_women_records$country
data_women_records <- data_women_records[,-8]
data_women_records[,-8] berarti kita menghilangkan kolom
kedelapan pada data (kolom country).
Tahap 2 Eksplorasi dengan menggunakan matrix korelasi
cor_women <- cor(data_women_records)
cor_women
## 100m 200m 400m 800m 1500m 3000m Marathon
## 100m 1.0000000 0.9527911 0.8346918 0.7276888 0.7283709 0.7416988 0.6863358
## 200m 0.9527911 1.0000000 0.8569621 0.7240597 0.6983643 0.7098710 0.6855745
## 400m 0.8346918 0.8569621 1.0000000 0.8984052 0.7878417 0.7776369 0.7054241
## 800m 0.7276888 0.7240597 0.8984052 1.0000000 0.9016138 0.8635652 0.7792922
## 1500m 0.7283709 0.6983643 0.7878417 0.9016138 1.0000000 0.9691690 0.8779334
## 3000m 0.7416988 0.7098710 0.7776369 0.8635652 0.9691690 1.0000000 0.8998374
## Marathon 0.6863358 0.6855745 0.7054241 0.7792922 0.8779334 0.8998374 1.0000000
Agar mudah dilihat matrix korelasi ini bisa dibuat dalam bentuk grafik dengan cara berikut.
ggcorrplot(cor_women,type="lower",lab = TRUE)
Tahap 3 Menerapkan PCA (AKU)
Dalam R, Penerapan PCA ini dapat dilakukan dengan menggunakan fungsi
prcomp. Fungsi ini memiliki argumen scale dan
center. Jika kedua argumen ini TRUE maka
matrix yang digunakan untuk menghitung PCA adalah matrix korelasi.
Namun, jika kedua argumen ini FALSE atau
scale=FALSE, maka matrix yang digunakan adalah matrix
covariance.
pca_women_records <- prcomp(data_women_records,scale=TRUE,center=TRUE)
summary(pca_women_records)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 2.4095 0.80848 0.54762 0.35423 0.23198 0.19761 0.14981
## Proportion of Variance 0.8294 0.09338 0.04284 0.01793 0.00769 0.00558 0.00321
## Cumulative Proportion 0.8294 0.92276 0.96560 0.98353 0.99122 0.99679 1.00000
Hasil yang dikeluarkan dari sintaks di atas terdiri dari tiga macam,
yaitu Standard deviation, Proportion of Variance dan Cumulative
Proportion dari masing-masing Komponen Utama (Principal
Component).
* Standard deviaton merupakan akar dari akar ciri (eigenvalue). Dalam
hal ini akar ciri berperan sebagai variance dari masing-masing komponen
utama.
* Proportion of Variance didapatkan dari akar ciri pada masing-masing
komponen dibagi dengan total akar ciri. Proportion of Variance
menjelaskan seberapa besar keragaman peubah asal yang dapat dijelaskan
oleh masing-masing komponen utama. Semakin besar nilainya berarti
semakin baik pula komponen utama tersebut untuk merepresentasikan peubah
asal.
* Cumulative Proportion menjelaskan seberapa besar keragaman yang dapat
dijelaskan oleh komponen utama secara kumulatif. Misalnya saja dengan
menggunakan dua komponen utama saja (PC1 dan PC2), sudah bisa
menjelaskan lebih dari 92% keragaman dari data.
Berdasarkan hal ini, kita akan memilih menggunakan dua komponen utama
saja.
fviz_screeplot(pca_women_records,geom="line")
Hal lain yang bisa dilakukan untuk menentukan berapa banyak komponen
utama yang digunakan adalah dengan screeplot. Fungsi untuk
menampilkan screeplot pada R adalah fviz_screeplot yang
didapat dari package factoextra. Banyaknya komponen utama
bisa ditentukan dengan screeplot dengan melihat di komponen utama yang
mana garisnya berbentuk seperti siku (elbow).
Pada gambar diatas, garis membentuk siku saat berada di komponen utama
kedua (dimension kedua) sehingga banyaknya komponen utama yang digunakan
sebanyak dua (Komponen Utama 1 dan Komponen Utama 2).
Tahap 4 Interpretasi PCA (AKU)
Interpretasi metode PCA dapat dilakukan dengan menggunakan vektor ciri pada masing-masing komponen utama. Semakin besar vektor ciri pada komponen utama tertentu, maka semakin besar pula kontribusi dari peubah asal untuk membangun komponen utama tersebut. Catatan lain yang perlu diperhatikan adalah nilai negatif pada vektor ciri menandakan peubah asal memberikan kontribusi yang berkembalikan pada pembentukan komponen utama. Dalam konteks vektor ciri negatif, semakin besar nilai peubah asal semakin kecil nilai pada komponen utama.
pca_women_records$rotation
## PC1 PC2 PC3 PC4 PC5 PC6
## 100m 0.3683561 0.4900597 -0.28601157 0.31938631 0.23116950 0.619825234
## 200m 0.3653642 0.5365800 -0.22981913 -0.08330196 0.04145457 -0.710764580
## 400m 0.3816103 0.2465377 0.51536655 -0.34737748 -0.57217791 0.190945970
## 800m 0.3845592 -0.1554023 0.58452608 -0.04207636 0.62032379 -0.019089032
## 1500m 0.3891040 -0.3604093 0.01291198 0.42953873 0.03026144 -0.231248381
## 3000m 0.3888661 -0.3475394 -0.15272772 0.36311995 -0.46335476 0.009277159
## Marathon 0.3670038 -0.3692076 -0.48437037 -0.67249685 0.13053590 0.142280558
## PC7
## 100m 0.05217655
## 200m -0.10922503
## 400m 0.20849691
## 800m -0.31520972
## 1500m 0.69256151
## 3000m -0.59835943
## Marathon 0.06959828
Karena kita hanya menggunakan dua komponen saja, maka vector ciri
yang akan dinterpretasikan hanya pada PC1 dan PC2. PC1 memiliki vektor
ciri yang relatif sama yaitu berkisar di 0.3 untuk semua cabang lomba.
Vektor ciri yang relatif sama ini menandakan bahwa kontribusi peubah
asal untuk membangun komponen utama ini relatif sama. Artinya
nilai-nilai yang ada di PC1 (score value) dapat menggambarkan waktu lari
untuk semua cabang lomba. Oleh karena itu kita dapat dapat menggunakan
PC1 untuk menentukan negara mana yang memiliki pelari tercepat untuk
semua kategori lomba.
Vektor ciri di PC2 memiliki nilai positif untuk cabang lari jarak dekat
(100m -400m) dan nilai negatif untuk cabang lari jarak jauh
(800m-marathon). Hal ini berarti semakin besar score value pada PC2 maka
waktu lari cabang jarak dekat semakin lambat namun waktu lari untuk
cabang jarak jauh semakin cepat. Oleh karena itu, PC2 dapat digunakan
untuk menentukan negara mana yang pada cabang lari jarak dekat waktunya
mirip seperti cabang lari jarak jauh.
Note: Interpretasi komponen utama memiliki subjektifitas yang tinggi, oleh karena itu setiap orang menginterpretasikanya berbeda.
Hal terakhir yang bisa diinterpretasikan adalah score value pada PC1 dan PC2. Score value merupakan observasi/koordinat baru pada peubah komponen utama. Dalam konteks data pelari diatas, observasinya adalah negara, sehingga kita dapat memberi insight cabang perlombaan lari dari setiap negara. Untuk melihat score value pada komponen utama dapat dilihat dengan menggunakan sintaks berikut.
pca_women_records$x
## PC1 PC2 PC3 PC4 PC5
## argentina 0.52726229 -0.674719057 0.61558926 0.04552931 -0.0025575859
## australia -2.09355119 -0.532798687 -0.04317487 0.18737792 -0.2183555124
## austria -1.38044331 -0.274995495 -0.53231305 0.42623519 -0.0255039187
## belgium -1.50998970 0.090963946 -0.08345684 -0.03942270 -0.0303263716
## bermuda 0.38781757 -0.976409482 0.64887210 0.47445652 0.2043216118
## brazil -0.11839732 -0.911515514 0.32214131 0.34096557 -0.0959612766
## burma 1.68203844 0.586191540 0.07582590 -0.14511731 0.6034322854
## canada -2.60813211 -0.695287897 0.10954223 0.03328484 0.1410820801
## chile 0.54783013 1.171926564 -0.23733316 -0.09612578 -0.2156317054
## china 0.64127320 0.980047440 0.05370738 0.02293887 -0.0579061799
## columbia 0.14157212 0.154468463 0.21456812 0.17614694 0.1895221521
## cookis 6.07727834 1.399503624 -0.21282983 -0.28085726 -0.0529187535
## costa 2.61922856 0.305956420 1.09460087 0.41203614 -0.5847203364
## czech -3.05379905 -1.012730429 -1.04879114 0.37317120 -0.0258660649
## denmark -1.11637538 0.540131452 0.41098527 -0.17591883 -0.1041309755
## domrep 2.29543640 -0.616097039 0.64633093 -0.26243482 0.3964092177
## finland -2.18183995 -0.670248707 0.08087437 0.08706670 0.3299422783
## france -1.89216992 -0.443832046 0.14465457 -0.05322917 -0.1896245118
## gdr -3.50601681 -1.202500275 -0.52603497 -0.12430576 0.0884050075
## frg -2.92577741 -0.437137537 -0.20120561 -0.02584472 0.0480344770
## gbni -2.78315609 -0.578349737 0.13304952 -0.13024804 0.0417404253
## greece 0.81424542 0.233714829 -0.15991295 -0.08693903 -0.4548804436
## guatemal 3.22729824 -0.919057694 0.44304609 -0.09073846 0.3545878042
## hungary -1.47721337 0.059384256 -0.15006131 0.12504871 0.0924438246
## india 1.01453673 0.253605564 -0.51071114 0.05275360 0.0509072296
## indonesia 2.11236466 -0.378269923 0.33669289 -0.18769360 0.3751519942
## ireland -1.11735099 0.513043238 0.44713600 -0.08797261 -0.0255638127
## israel -0.14296749 0.155867013 0.75136633 -0.16605776 -0.2905821673
## italy -2.13954076 0.351991902 -0.07731676 -0.29052538 -0.2244816386
## japan -0.05923268 0.657973909 0.40042678 0.42998430 0.1230753651
## kenya -0.43089430 0.480611126 -0.75309705 -0.32602370 -0.0643810184
## korea 1.23386149 0.814398564 0.55640268 0.23959883 0.0129823046
## dprkorea 0.46229683 1.717885467 -1.91963681 0.34183702 0.3375496932
## luxembou 1.30174495 1.182174513 -0.10512035 -0.03151618 -0.4495547106
## malaysia 2.34053535 -0.001259817 0.11819610 0.84655411 0.1277242627
## mauritiu 4.23384717 -1.180202966 -0.08772947 -1.39411471 -0.1640608518
## mexico -0.06348187 0.568969717 -0.09040891 0.45214535 -0.2961853317
## netherla -1.79442661 -0.047085355 0.14270838 -0.10800877 -0.3625892311
## nz -1.51125893 0.377920885 0.06112304 0.36901628 0.2627172276
## norway -1.48300990 0.904195203 0.38741591 -0.14529920 0.1311735490
## png 3.98086034 -0.340244237 -0.28834865 -0.29398974 0.1595586421
## philippi 1.64018955 -0.876042797 0.22214354 -0.02227534 0.2056514197
## poland -2.67209659 -0.702323548 -0.59597055 -0.02384024 0.0364171238
## portugal -0.22428415 1.252662130 0.46217831 -0.02349218 0.2384703479
## rumania -2.02982623 0.618046803 -0.83844940 -0.46958197 -0.0740123635
## singapor 1.97013151 0.951982007 -0.38929662 0.40329233 0.0732785524
## spain -0.35565287 0.925478452 -0.05010366 -0.10341725 0.0927143013
## sweden -1.82775494 -0.254820864 0.24805824 -0.14902201 -0.0006283576
## switzerl -1.34665382 0.514180988 0.24518048 -0.22415740 -0.0858444392
## taipei -0.50011940 -1.234653297 0.31159932 -0.04781148 0.0094018502
## thailand 1.95317730 -0.139873925 0.81360772 0.65551039 -0.1576314482
## turkey 1.60820411 0.594342560 0.16105018 -0.81523551 0.1477445097
## usa -3.33581190 -0.685104574 0.38123893 -0.27057989 -0.1954822627
## ussr -3.46468721 -0.245078447 -0.64637481 -0.20743799 -0.0824770130
## wsamoa 8.33288156 -2.326979228 -1.49263486 0.40428466 -0.3425812545
## PC6 PC7
## argentina 0.457907931 -0.079962873
## australia 0.137966927 -0.009815157
## austria -0.081682704 -0.106172559
## belgium 0.062877332 0.138490873
## bermuda -0.049426348 0.047829472
## brazil -0.300448073 -0.006724259
## burma 0.277326099 0.055825566
## canada -0.116436013 -0.117243747
## chile 0.128882585 0.003967955
## china 0.046618764 0.172340012
## columbia -0.324561612 -0.122442477
## cookis -0.055706058 -0.289275038
## costa -0.065656582 -0.044687998
## czech 0.047409019 0.188230868
## denmark -0.179964399 0.322413538
## domrep -0.006777189 0.321472376
## finland -0.031636754 -0.182734885
## france -0.035807689 0.053223788
## gdr -0.047152707 -0.176067724
## frg -0.191479813 0.086729269
## gbni 0.012368224 0.059974475
## greece 0.093873143 -0.121106747
## guatemal -0.279702884 -0.030512752
## hungary 0.061704372 -0.002880404
## india 0.134490600 -0.442230795
## indonesia -0.013434970 -0.058448424
## ireland -0.149414709 -0.043637389
## israel -0.090944777 -0.094991490
## italy 0.012049601 0.080196477
## japan -0.182028982 0.141996717
## kenya 0.119151878 -0.011054538
## korea -0.028182131 -0.027699883
## dprkorea -0.561883421 -0.072075631
## luxembou -0.115327186 0.123404789
## malaysia 0.374021886 -0.140160623
## mauritiu -0.321676670 -0.209056067
## mexico 0.402826018 -0.127280417
## netherla 0.051567793 -0.071966309
## nz 0.078135023 0.198553009
## norway 0.226377016 0.086297791
## png 0.111686449 0.039358192
## philippi 0.267820061 -0.094783185
## poland 0.144920475 -0.248593496
## portugal -0.041084319 0.041047319
## rumania -0.050795933 0.167824160
## singapor 0.091437114 0.018007615
## spain 0.124420761 -0.021530131
## sweden -0.159842868 0.036333974
## switzerl 0.047330468 0.068598802
## taipei 0.024237079 -0.093082005
## thailand -0.482014923 -0.032198783
## turkey 0.287104548 0.191270368
## usa -0.047049486 0.040368337
## ussr 0.097960158 0.017756855
## wsamoa 0.087647875 0.376903191
Agar lebih mudah dalam menginterpretasikan score value maka digunakaan grafik di bawah ini.
fviz_pca_ind(pca_women_records,col.ind = "darkred")
Berdasarkan grafik score value dapat diketahui bahwa negara yang memiliki catatan waktu pelari terlambat untuk semua cabang lomba adalah negara wsamoa. Hal ini dikarenakan wsamoa score value wsakoa untuk PC1 (Dim1) paling besar diantara yang lain. Walaupun negara wsamoa memiliki cabang lari terlama disemua cabang lomba, namun perbedaan waktu terkecil antara pelari jarak jauh dan jarak dekat adalah negara wsamoa. Hal ini berarti pelari untuk lomba jarak dekat sangat lambat karena memiliki waktu yang hampir mirip seperti pelari jarak jauh. Sedangkan negara yang memiliki pelari tercepat untuk semua cabang lomba adalah gdr.