Analisis Komponen Utama

Contoh 5.1

Pemetaan kerentanan suatu desa secara umum dapat digambarkan berdasarkan kondisi sosial dan infrastruktur yang diwakili oleh variabel seperti jumlah rumah tangga pengguna PLN (X1), jumlah surat miskin (X2), jumlah orang cacat (X3) dan akses desamenuju pusat kecamatan (X4) ( data diambil dari sebagian kecil penelitian Nooraeni dan Pramana, 2017). Lakukan Analisis Komponen utama terhadap keempat variabel dari 10 desa

Tahap 1:Input data kondisi 10 desa berdasarkan keempat variabel

PLN= c(60, 104, 108, 140, 84, 70,77,100,56,92)
Miskin = c( 10,22,18,31,61,83,30,25,21,56)
Cacat = c( 6,4,12,14,4,5,10,1,2,11)
Jarakcamat=c(11,2,24,7,11,3,15,15,20,11)
dataawal= data.frame (PLN,Miskin, Cacat, Jarakcamat)

Tahap 2: Karena satuan masing-masing variabel berbeda maka lakukan transformasi standardisasi normal baku

dataZ=scale(dataawal)
#Manual
zPLN= (PLN-mean(PLN))/sd(PLN)
zMiskin= (Miskin-mean(Miskin))/sd(Miskin)
zCacat = (Cacat-mean(Cacat))/sd(Cacat)
zJarakcamat=(Jarakcamat-mean(Jarakcamat))/sd(Jarakcamat)
dataZ= data.frame(zPLN,zMiskin, zCacat, zJarakcamat)

Hitung matriks korelasi dari data awal

round(cov(dataawal), digits=3)
##                PLN  Miskin  Cacat Jarakcamat
## PLN        641.878 -62.744 62.678    -26.878
## Miskin     -62.744 537.344 -2.589    -73.811
## Cacat       62.678  -2.589 20.322      2.656
## Jarakcamat -26.878 -73.811  2.656     48.322
round(cov(dataZ), digits=3)
##               zPLN zMiskin zCacat zJarakcamat
## zPLN         1.000  -0.107  0.549      -0.153
## zMiskin     -0.107   1.000 -0.025      -0.458
## zCacat       0.549  -0.025  1.000       0.085
## zJarakcamat -0.153  -0.458  0.085       1.000

Tahap 4: Analisis komponen utama (input berupa dataframe) terdapat beberapa cara dalam melakukan pengolahan seperti:

  1. Analisis komponen utama dengan fungsi princomp(), inputnya berupa data frame matriks korelasi = “TRUE”, artinya struktur keragaman awal menggunakan matriks korelasi.
dataawal_pca= princomp (dataawal, cor=TRUE)
summary(dataawal_pca, loadings=TRUE)
## Importance of components:
##                           Comp.1    Comp.2    Comp.3     Comp.4
## Standard deviation     1.2521127 1.2063809 0.8077648 0.56953924
## Proportion of Variance 0.3919466 0.3638387 0.1631210 0.08109374
## Cumulative Proportion  0.3919466 0.7557853 0.9189063 1.00000000
## 
## Loadings:
##            Comp.1 Comp.2 Comp.3 Comp.4
## PLN         0.671  0.254  0.363  0.595
## Miskin     -0.264  0.644 -0.602  0.390
## Cacat       0.680  0.140 -0.490 -0.527
## Jarakcamat  0.134 -0.707 -0.515  0.465

Interpretasi output

  • Output a dan b sama karena matriks korelasi (dataawal)= matriks kovarians (dataZ)
  • Beradasarkan nilai proporsi kumulatif varians komponen utama (KU1) dapat menjelaskan 39 persen dari total varians dan bila ditambahkan dengan komponen kedua (KU2) maka kumulatif proporsi menjadi 75 persen. Menurut Johnson, dasar menentukan banyaknya komponen utama adalah proporsi kumulatif keragaman komponen minimal 80%. Untuk itu kita tambahkan lagi satu komponen menjadi tiga komponen sehingga proporsi kumulatif keragaman menjadi 92 persen.
  • Nilai simpangan baku (standar deviasi) pada baris pertama merupakan nilai eigen (𝝀i)

  • Nilai-nilai loading yang ditampilkan pada hasil di atas adalah nilai eigenvector yang dinormalisasi.

  • Persamaan komponen utama yang dihasilkan adalah

    \(KU1= 0.671zPLN-0.264zMiskin+0.68zCacat+0.134zJarakcamat\)

    \(KU2= 0.254zPLN+0.644zMiskin+0.14zCacat-0.707zJarakcamat\)

    \(KU3= 0.363zPLN-0.602zMiskin-0.49zCacat-0.515zJarakcamat\)

  • Untuk memberi nama -menginterpretasi-masing-masing komponen bisa berdasarkan besaran korelasi antara komponen i dengan variabel asalnya.

Tahap 5: Penentuan jumlah komponen utama yang akan digunakan selain dengan memperhatikan proporsi keragaman kumulatif juga dapat merujuk pada pola scree plot

screeplot(dataawal_pca,type="lines", col=4)

Interpretasi Gambar

Berdasarkan pola garis scree plot jumlah komponen utama yang dapat ditentukan adalah tiga. Penentuan jumlah komponen berdasarkan posisi titik kurva ketika mulai melandai. Pada gambar cree plot di atas pada posisi titik 3 kurva mulai melandai.

Tahap 6: Menampilkan nilai (score) komponen utama

dataawal_pca$scores 
##            Comp.1     Comp.2     Comp.3      Comp.4
##  [1,] -0.66457164 -0.9937630  0.4381400 -1.12841885
##  [2,] -0.08235858  0.7235157  1.7057560 -0.21443513
##  [3,]  1.79754344 -1.4503888 -0.7595787  0.37817586
##  [4,]  2.50567799  1.1581472  0.4658403 -0.04416286
##  [5,] -0.92576126  0.6893407 -0.3672155  0.61640740
##  [6,] -1.58496286  2.0768945 -0.6708940 -0.02724849
##  [7,]  0.28684964 -0.5263700 -0.6239717 -0.56420553
##  [8,] -0.44195439 -0.7235091  0.8917621  1.02594921
##  [9,] -1.36082674 -1.8098688 -0.1679316  0.09512821
## [10,]  0.47036440  0.8560016 -0.9119069 -0.13718981

Interpretasi Output

Nilai scores tersebut dapat digunakan untuk analisis lanjutan menggantikan keempat variabel asal yang diamati.

Contoh 5.2

Input berupa matriks korelasi

Untuk mengetahui tingkat kemandirian anak-anak cacat tunagrahita usia SD di Kota Palembang maka dilakukan penelitian di beberapa sekolah tunagrahita Kota Palembang (data diambil dari penelitian Ardhila dan Nooraeni, 2017).Indikator yang dikumpulkan untuk mengukur kemandiriannya : kemampuan makan sendiri (X1), kemampuan minum sendriri (X2), kemampuan membersihkan diri,mandi (X3) dan kemampuan buang air (X4). Dari data sebanyak 70 siswa diperoleh matriks korelasinya sebagai berikut :

Tahap 1: input matriks korelasi

r= c( 1, 0.988, 0.881, 0.711, 0.988, 1, 0.884,0.697, 0.881, 0.884,1,0.861, 0.711, 0.697, 0.861, 1)
R= matrix(r,4,4)
R
##       [,1]  [,2]  [,3]  [,4]
## [1,] 1.000 0.988 0.881 0.711
## [2,] 0.988 1.000 0.884 0.697
## [3,] 0.881 0.884 1.000 0.861
## [4,] 0.711 0.697 0.861 1.000

Tahap 2: Hitung eigenvalue dan eigenvector dari matriks R

#eigen value
eigen(R)$value
## [1] 3.51718522 0.39534821 0.07618855 0.01127802
#eigenvector
eigen(R)$vector
##            [,1]       [,2]       [,3]        [,4]
## [1,] -0.5109560  0.4202210  0.2935221  0.69006022
## [2,] -0.5095528  0.4471000  0.1598647 -0.71756588
## [3,] -0.5157470 -0.1669555 -0.8368936  0.07576284
## [4,] -0.4618278 -0.7717783  0.4334711 -0.05635680

Tahap 3: Analisis komponen utama menggunakan princomp()

kemandirian_pca=princomp(covmat=R,cor=TRUE)
summary(kemandirian_pca,loadings = T)
## Importance of components:
##                           Comp.1     Comp.2     Comp.3      Comp.4
## Standard deviation     1.8754160 0.62876721 0.27602274 0.106198003
## Proportion of Variance 0.8792963 0.09883705 0.01904714 0.002819504
## Cumulative Proportion  0.8792963 0.97813336 0.99718050 1.000000000
## 
## Loadings:
##      Comp.1 Comp.2 Comp.3 Comp.4
## [1,]  0.511  0.420  0.294  0.690
## [2,]  0.510  0.447  0.160 -0.718
## [3,]  0.516 -0.167 -0.837       
## [4,]  0.462 -0.772  0.433

Interpretasi Output

Berdasarkan nilai Cumulative Proportion, proprosi varians sampel yang dapat dijelaskan oleh komponen pertama sebesar 87,9 persen dari total keragaman sampel. Jika ditambahkan dengan komponen kedua maka Cumulative Proportion Varians sebesar 97,8 persen.

Nilai loading yang diperoleh hasilnya sama dengan nilai eigenvector normalized. Nilai loading ini digunakan sebagai koefisien dari fungsi komponen utamanya.

Persamaan komponen utama yang dihasilkan:

\(KU1=0.511X1+O.51X2+0.516X3+0.462X4\)

\(KU2= 0.42X1+0.447X2-0.167X3-0.772X4\)

\(KU3= 0.294X1+0.16X2-0.837X3+0.433X4\)

\(KU4= 0.69X1-0.718X2\)