PENDAHULUAN

Latar Belakang

Disetiap negara tentunya memiliki biaya hidup yang berbeda beda. Terdapat beberapa negara yang memiliki biaya hidup yang relatif tinggi namun ada pula negara dengan biaya hidup relatif rendah. Negara yang digolongkan sebagai negara maju biasanya memiliki biaya hidup yang tinggi dibandingkan dengan negara berkembang. Hal ini berbanding lurus dengan pendapatan dari negara negara maju yang juga relatif tinggi dibandingkan negara berkembang. Biaya hidup yang tinggi tidak hanya dipengaruhi oleh faktor negara maupun pendapatan saja. Terdapat faktor-faktor lain yang juga mempengaruhi tingginya biaya hidup seperti harga sewa, harga barang, harga makanan di restoran dan lain sebagainya. Dilakukan analisis komponen utama guna menentukan komponen utama yang dipilih dari faktor faktor yang mempengaruhi cost of living pada tahun 2017.

Tinjauan Pustaka

Analisis Komponen Utama

Analisis komponen utama (AKU) yang biasa disebut Principal Component Analysis (PCA) merupakan suatu teknik yang digunakan untuk menyederhanakan data dengan dilakukan transformasi linear agar terbentuk sistem koordinat baru dengan variansi maksimum. Metode ini dapat digunakan untuk mengatasi adanya mutikolinearitas antar variabel dan didapatkan variabel baru yang saling bebas. Berdasarkan kaiser index, jumlah komponen utama yang penting sama dengan jumlah relatif nilai eigen yang nilainya lebih dari 1.

Menentukan Banyaknya Komponen Utama

Terdapat 3 metode yang dapat digunakann untuk menentukan banyak komponen utama antara lain : - Berdasarkan proporsi kumulatif ragam total. - Berdasarkan nilai eigennya. Komponen yang memiliki nilai eigen lebih dari 1 adalah komponen yang akan dipilih - Dipilih dari scree plot. Untuk menentukan jumlah komponen dengan scree plot, dapat dilihat pada siku scree plot.

Persamaan komponen utama dapat ditulis sebagai berikut :

\[ Y_i = \phi{x_1} + \phi{x_2} +...+ \phi{x_p} \]

Data

Data yang digunakan adalah data mengenai cost of living pada tahun 2017. Data diperoleh dari kaggle dengan tautan sebagai berikut: https://www.kaggle.com/code/nareshbhat/outlier-the-silent-killer/input?select=cost-of-living-2017.csv. Pada data terdapat beberapa variabel. Variabel yang akan dianalisis adalah variabel Rent index, Groceries Index, Restourant price index, dan Local purchasing power index. Dari keempat variabel tersebut akan didapatkan komponen yang dapat menjelaskan semua variabel yang disebut dengan komponen utama. Data yang digunakan adalah sebagai berikut :

SOURCE CODE

Library yang Dibutuhkan

# Library
library(readxl)
library(FactoMineR)
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(corrr)
library(ggcorrplot)
library(corrplot)
## corrplot 0.92 loaded

Import Data Awal

data.pca <- read.csv("C:/Users/user/Downloads/cost-of-living-2017.csv")

Deskripsi Data

names(data.pca)
##  [1] "City"                           "State"                         
##  [3] "Country"                        "Cost.of.Living.Plus.Rent.Index"
##  [5] "CLI"                            "Rent.Index"                    
##  [7] "Groceries.Index"                "Restaurant.Price.Index"        
##  [9] "Local.Purchasing.Power.Index"   "Leverage.Model.1"              
## [11] "Leverage.Model.2"

Deteksi Outlier

outlier1 = boxplot.stats(data.pca$Cost.of.Living.Plus.Rent.Index)$out
outlier1
## [1] 108.77 133.20 105.54 106.73  97.47 110.65 100.00
outlier2 = boxplot.stats(data.pca$Rent.Index)$out
outlier2
##  [1]  66.76 117.80  67.39  70.25 119.63  77.52 100.00  74.32  76.36  67.79
## [11]  67.97  78.69  78.41  73.37  66.99  83.63  67.55  70.52  68.03  82.67
## [21]  71.92  71.85  68.70  69.75
outlier3 = boxplot.stats(data.pca$Groceries.Index)$out
outlier3
## [1] 163.71 145.20 148.36 147.13 149.54 145.72
outlier4 = boxplot.stats(data.pca$Restaurant.Price.Index)$out
outlier4
## [1] 152.54
outlier5 = boxplot.stats(data.pca$Local.Purchasing.Power.Index)$out
outlier5
## numeric(0)

Outlier di hapus secara manual dan data yang sudah bersih dari outlier dapat diimport ulang

Import Data Bersih

data.pca_bersih<- read_xlsx("C:/Users/user/Downloads/cost-of-living-2017.xlsx")

Cek ulang Outlier

outlier1 = boxplot.stats(data.pca_bersih$`Cost of Living Plus Rent Index`)$out
outlier1
## numeric(0)
outlier2 = boxplot.stats(data.pca_bersih$`Rent Index`)$out
outlier2
## numeric(0)
outlier3 = boxplot.stats(data.pca_bersih$`Groceries Index`)$out
outlier3
## numeric(0)
outlier4 = boxplot.stats(data.pca_bersih$`Restaurant Price Index`)$out
outlier4
## numeric(0)
outlier5 = boxplot.stats(data.pca_bersih$`Local Purchasing Power Index`)$out
outlier5
## numeric(0)

Outlier pada data sudah tidak ditemukan. Sehingga data sudah siap digunakan.

Membentuk data dengan variabel yang akan di analisis

data.pca1 <- data.pca_bersih[,c(6,7,8,9)]
names(data.pca1)
## [1] "Rent Index"                   "Groceries Index"             
## [3] "Restaurant Price Index"       "Local Purchasing Power Index"
datatable(data.pca1)
summary(data.pca1)
##    Rent Index    Groceries Index  Restaurant Price Index
##  Min.   : 3.13   Min.   : 22.03   Min.   : 12.12        
##  1st Qu.:12.33   1st Qu.: 41.37   1st Qu.: 32.60        
##  Median :22.77   Median : 61.12   Median : 62.55        
##  Mean   :23.34   Mean   : 60.45   Mean   : 56.11        
##  3rd Qu.:31.68   3rd Qu.: 77.84   3rd Qu.: 75.72        
##  Max.   :56.81   Max.   :120.83   Max.   :128.03        
##  Local Purchasing Power Index
##  Min.   :  2.96              
##  1st Qu.: 48.77              
##  Median : 80.28              
##  Mean   : 77.69              
##  3rd Qu.:102.28              
##  Max.   :171.26

Check PCA eligibility

cor(data.pca1)
##                              Rent Index Groceries Index Restaurant Price Index
## Rent Index                    1.0000000       0.8139631              0.8182958
## Groceries Index               0.8139631       1.0000000              0.8225458
## Restaurant Price Index        0.8182958       0.8225458              1.0000000
## Local Purchasing Power Index  0.6725303       0.6779412              0.6618702
##                              Local Purchasing Power Index
## Rent Index                                      0.6725303
## Groceries Index                                 0.6779412
## Restaurant Price Index                          0.6618702
## Local Purchasing Power Index                    1.0000000
mean (cor(data.pca1))
## [1] 0.8083933

Jika nilai mean dari korelasi lebih dari 0,3 maka terdapat korelasi yang tinggi antar variabel. Korelasi antar variabel juga dapat dilihat menggunakan matriks korelasi.

Korelasi

datamatrix <- cor(data.pca1)
corrplot(datamatrix, method="number")

PCA

pca <- prcomp(data.pca1, center = TRUE,scale. = TRUE)
summary(pca)
## Importance of components:
##                           PC1     PC2     PC3     PC4
## Standard deviation     1.7998 0.63071 0.43207 0.41975
## Proportion of Variance 0.8098 0.09945 0.04667 0.04405
## Cumulative Proportion  0.8098 0.90928 0.95595 1.00000
pca$rotation
##                                     PC1        PC2           PC3         PC4
## Rent Index                   -0.5120240  0.2533529  0.7886066755 -0.22747138
## Groceries Index              -0.5135526  0.2368538 -0.5789505105 -0.58735023
## Restaurant Price Index       -0.5118599  0.3064887 -0.2071592531  0.77533806
## Local Purchasing Power Index -0.4605372 -0.8864408 -0.0009282131  0.04612349

Nilai Eigen dan Vektor Eigen

eigen(cov(data.pca1))
## eigen() decomposition
## $values
## [1] 1878.61227  322.70981   91.52842   36.21892
## 
## $vectors
##            [,1]       [,2]        [,3]        [,4]
## [1,] -0.2412659 -0.1923099 -0.05662537  0.94952683
## [2,] -0.4321261 -0.4057680 -0.76944073 -0.23786625
## [3,] -0.4945865 -0.5588119  0.63459536 -0.20100302
## [4,] -0.7144522  0.6972076  0.04520236 -0.03763288

Plot

plot(pca)

fviz_eig(pca, addlabels = TRUE)

fviz_pca_var(pca, col.var = "black")

fviz_pca_var(pca, col.var = "cos2",
             gradient.cols = c("black", "orange", "green"),
             repel = TRUE)

HASIL DAN PEMBAHASAN

Statistika Deskriptif

Jelaskan statistika deskriptif dari data yang digunakan

  1. Data awal dicari statistika deskriptifnya dan diidentifikasi apakah data mengandung outlier atau tidak. Didapatkan hasil bahwa data mengandung outlier sehingga data harus dibersihkan dari outlier. Pembersihan outlier dilakukan dengan cara manual dari excel kemudian data yang telah bersih dapat diimport ulang pada R.
  2. Variabel yang digunakan adalah rent index, Groceries Index, Restourant price index, dan Local purchasing power index. Deskriptif Statistik Untuk keempat variabel tersebut adalah
  1. Rata rata \[ \mu = \frac {\Sigma X_i} {n} \]
  • Variabel rent index memiliki rata-rata yaitu 23,34
  • Variabel Groceries index memiliki rata-rata yaitu 60,45
  • Variabel Restaurant price index memiliki rata-rata yaitu 56,11
  • Variabel Local Purchasing Power index memiliki rata-rata yaitu 77,69
  1. Varian dan kovarian
  • Rumus Varian \[ \sigma^2 = \frac {\Sigma (X_i - X_{rata-rata})^2} {n-1} \]
  • Rumus Kovarian \[ Cov (X, Y) = \frac {\Sigma (X_i - X_{rata-rata}) (Y_i - Y_{rata-rata})} {n-1} \]
  • Matriks Varian Kovarian
##                              Rent Index Groceries Index Restaurant Price Index
## Rent Index                     154.2359        216.8486               248.6473
## Groceries Index                216.8486        460.1699               431.7177
## Restaurant Price Index         248.6473        431.7177               598.6339
## Local Purchasing Power Index   279.0246        485.8352               540.9926
##                              Local Purchasing Power Index
## Rent Index                                       279.0246
## Groceries Index                                  485.8352
## Restaurant Price Index                           540.9926
## Local Purchasing Power Index                    1116.0297

Korelasi

Korelasi antar variabel dapat menjadi indikator bahwa data bisa dianalisis menggunakan PCA atau tidak. Data dengan korelasi tinggi antar variabel nya dapat dianalisis menggunakan PCA sebelum dilanjutkan ke tahap analisis lain seperti regresi. Data yang eligible untuk di analisis menggunakan PCA adalah data dengan rata rata korelasi antar variabelnya di atas 0,3. Pada data cost of living didapatkan rata rata korelasi sebesar 0,8 sehingga data eligible untuk dianalisis menggunakan PCA. Selain menggunakan rata rata dari korelasi, dapat juga dilihat dari korelasi antar varibel didapatkan hasil sebagai berikut : - korelasi rent index dengan groceries index sebesar 0,81 - korelasi rent index dengan Restaurant price sebesar 0,82 - korelasi rent index dengan local purchasing power index sebesar 0,67 - korelasi groceries index dengan restaurant price index sebesar 0,82 - korelasi groceries index dengan local purchasing power index sebesar 0,68 - korelasi restaurant price index dengan local purchasing power index sebesar 0,66 Dari hasil di atas didapati bahwa korelasi antar variabel tinggi. Sehingga data dapat dilakukan analisis dengan PCA.

PCA

Hasil pada summary PCA menggunakan fungsi “prcomp” didapatkan hasil bahwa komponen yang memiliki nilai eigen lebih dari satu adalah komponen pertama. Komponen pertama memiliki cumulative proportion sebesar 0,8098 atau sekitar 81%. Artinya komponen pertama dapat menangkap 81% keragaman data. Sehingga komponen pertama dapat dipilih sebagai komponen utama. Untuk menuliskan persamaan komponen utama perlu mengetahui vektor eigennya menggunakan sintax pca$rotation. Didapatkan persamaan komponen utama yaitu

\[ KU_1 = -0.512Rent Index - 0.514 Groceries Index - 0.512 RestaurantPrice Index - 0.46 LocalPurchasingIndex \]

Plot

Scree Plot

Pada scree plot didapatkan bahwa komponen utama adalah komponen pertama (PC1) yang dapat menjelaskan 81% keragaman data.

Plot Kontribusi Variabel

Pada plot terlihat bahwa variabel Local Purchasing power index memiliki nilai cos2 yang sangat tinggi. Artinya variabel ini menunjukkan representasi yang baik terhadap komponen utama. Berbeda denga 3 variabel lain yang memiliki nilai cos2 rendah yang artinya menunjukkan representasi yang kurang baik terhadap komponen utama.

KESIMPULAN

Berdasarkan hasil analisis menggunakan PCA didapatkan hasil komponen utama yang dipilih adalah komponen pertama. Karena komponen pertama memiliki nilai eigen lebih dari 1 dan dapat menjelaskan keragaman data sebesar 81%.

DAFTAR PUSTAKA

  • https://www.kaggle.com/code/nareshbhat/outlier-the-silent-killer/input?select=cost-of-living-2017.csv
  • Firliana, R Wulanningrum, R & Sasongko, W. 2015. Implementasi Principal Component Analysis (PCA) Untuk Pengenalan Wajah Manusia. Nusantara of Engineering, 2(1) : 65 - 69.
  • Tahir, N.I Alwi, W & Nurfadillah, K. 2021. Aplikasi Metode Analisis Komponen Utama dalam mengidentifikasi Faktor yang Mempengaruhi Kemiskinan di Kabupaten/Kota Provinsi Sulawesi Selatan. Journal of Mathematics : Theory and Applications, 3(2) : 38 - 44.