Dalam sebuah dataset, keberadaan pencilan (outlier) sangat lazim terjadi. Pencilan ini dapat muncul akibat adanya kesalahan input data, kesalahan perhitungan, hingga keberadaan yang mutlak adanya. Adanya amatan pencilan ini dapat mengganggu proses analisis data sehingga diperlukan sebuah metode pendugaan yang kekar terhadap adanya pencilan, yaitu penduga robust.

A. Pencilan

Pencilan adalah amatan yang keberadaannya relatif jauh terhadap data lain pada sebuah dataset (Montgomery et al 2012). Keberadaan pencilan dapat mengganggu proses analisis data, tetapi mungkin pula menjadi data yang berguna dalam proses eksplorasi data. Terdapat beberapa metode pengidentifikasian pencilan, dua di antaranya adalah metode rataan dan simpangan baku serta metode IQR (Interquartile Range).

  1. Metode Rataan dan Simpangan Baku. Sesuai namanya, metode rataan dan simpangan baku memerlukan informasi nilai rata-rata dan simpangan baku dari dataset. Suatu amatan teridentifikasi sebagai pencilan apabila memiliki nilai amatan yang lebih besar atau lebih kecil daripada 3 kali simpangan baku-nya.

  2. Metode Jarak Antarkuartil. Dengan menggunakan metode IQR, suatu amatan teridentifikasi sebagai pencilan apabila memiliki nilai amatan yang lebih besar daripada Q3 + 1.5 (jarak antarkuartil) atau lebih kecil daripada Q1 - 1.5 (jarak antarkuartil).

Berikut beberapa contoh proses identifikasi pencilan pada sejumlah dataset,

1. Peubah x1

Langkah pertama yang perlu dilakukan adalah mengimpor dataset dalam file Data praktikum 12.xlsx menggunakan library readxl dengan rangkaian sintaks sebagai berikut,

library(readxl)
data2 <- as.data.frame(read_excel("D:/DATA AKMAL/IPB/Semester 4/Analisis Eksplorasi Data/Pertemuan 12/Data praktikum 12.xlsx", sheet = "data 10"))
x1 <- data2$x1
x1
##  [1] 21.37096 19.43530 20.36313 20.63286 20.40427 19.89388 21.51152 19.90534
##  [9] 22.01842 24.75342

Karena dataset peubah x1 memiliki sejumlah 10 amatan, metode identifikasi pencilan dengan simpangan baku menjadi kurang relevan karena jumlah amatan yang terlalu sedikit. Oleh karena itu, digunakan metode identifikasi pencilan lain, yaitu metode IQR (Interquartile Range) dengan rangkaian sintaks sebagai berikut,

nilai.pencilan1 <- boxplot.stats(x1)$out
nilai.pencilan1
## [1] 24.75342

Berdasarkan rangkaian sintaks di atas, terdapat satu amatan dalam peubah x1 yang teridentifikasi sebagain pencilan dengan metode IQR.

2. Peubah x2

Peubah kedua yang akan diidentifikasi keberadaan pencilannya adalah peubah x2 sebagai berikut,

x2 <- data2$x2
x2
##  [1]  3.9391243  0.5685317  1.4378205  1.8829931  1.4982059  0.8993127
##  [7]  4.5336257  0.9096830  7.5264517 -2.9913779

Masih serupa dengan dataset peubah x1, peubah x2 memiliki jumlah amatan yang tergolong sedikit (10 amatan) sehingga proses identifikasi pencilan lebih cocok menggunakan metode IQR dengan rangkaian sintaks sebagai berikut,

nilai.pencilan2 <- boxplot.stats(x2)$out
nilai.pencilan2
## numeric(0)

Berdasarkan rangkaian sintaks di atas, tidak ada satu pun amatan dalam peubah x2 yang teridentifikasi sebagain pencilan dengan metode IQR.

3. Peubah y1

Peubah ketiga yang akan diidentifikasi keberadaan pencilannya adalah peubah y1 sebagai berikut,

data <- as.data.frame(read_excel("D:/DATA AKMAL/IPB/Semester 4/Analisis Eksplorasi Data/Pertemuan 12/Data praktikum 12.xlsx", sheet = "data 100"))
y1 <- data$y1
y1
##   [1]  0.9148060435  0.9370754133  0.2861395348  0.8304476261  0.6417455189
##   [6]  0.5190959491  0.7365883146  0.1346665972  0.6569922904  0.7050647840
##  [11]  0.4577417762  0.7191122517  0.9346722472  0.2554288243  0.4622928225
##  [16]  0.9400145228  0.9782264284  0.1174873617  0.4749970816  0.5603327462
##  [21]  0.9040313873  0.1387101677  0.9888917289  0.9466682326  0.0824375581
##  [26]  0.5142117843  0.3902034671  0.9057381309  0.4469696281  0.8360042600
##  [31]  0.7375956178  0.8110551413  0.3881082828  0.6851697294  0.0039483388
##  [36]  0.8329160803  0.0073341469  0.2076589728  0.9066014078  0.6117786434
##  [41]  0.3795592405  0.4357715850  0.0374310329  0.9735399138  0.4317512489
##  [46]  0.9575765966  0.8877549055  0.6399787695  0.9709666104  0.6188382073
##  [51]  0.3334272113  0.3467482482  0.3984854114  0.7846927757  0.0389364911
##  [56]  0.7487953862  0.6772768302  0.1712643304  0.2610879638  0.5144129347
##  [61]  0.6756072745  0.9828171979  0.7595442676  0.5664884241  0.8496897186
##  [66]  0.1894739354  0.2712866147  0.8281584852  0.6932048204  0.2405447396
##  [71]  0.0429887960  0.1404790941  0.2163854151  0.4793985642  0.1974103423
##  [76]  0.7193558377  0.0078847387  0.3754899646  0.5144077083  0.0015705542
##  [81]  0.5816040025  0.1579052082  0.3590283059  0.6456318784  0.7758233626
##  [86]  0.5636468416  0.2337033986  0.0899805163  0.0856120649  0.3052183695
##  [91]  0.6674265147  0.0002388966  0.2085699569  0.9330341273  0.9256447486
##  [96]  0.7340943010  0.3330719834 -0.4999000000 -0.4999900000 -0.4999990000

Karena memiliki jumlah amatan cukup banyak, yaitu sejumlah 100 amatan, proses identifikasi pencilan pada dataset peubah y1 dapat menggunakan metode rataan dan simpangan baku dengan rangkaian sintaks sebagai berikut,

m3 <- mean(y1)
s3 <- sd(y1)
pencilan3 <- (y1 > m3+3*s3) | (y1 < m3-3*s3)
y1[which(pencilan3)]
## numeric(0)

Berdasarkan rangkaian sintaks di atas, tidak ada satu pun amatan dalam peubah y1 yang teridentifikasi sebagain pencilan dengan metode rataan dan simpangan baku.

4. Peubah y2

Peubah terakhir yang akan diidentifikasi keberadaan pencilannya adalah peubah y2 sebagai berikut,

y2 <- data$y2
y2
##   [1] 15.756248  6.763631  9.204304  4.923651  8.555383  6.426607 19.600464
##   [8]  8.735893  4.981772  4.072030 15.443456 13.628419 13.129901 11.162082
##  [15] 13.563682  5.875831  7.746056 19.085155 17.795811 10.584797 10.328838
##  [22]  7.405577  3.073905  5.423439 11.036029 12.238769 13.927292  6.601940
##  [29]  6.259038  5.979510 11.633412  7.703963  9.895196  7.533345  9.692599
##  [36]  4.210122 10.929957  5.886730 11.848147  9.160946 10.332667  5.988611
##  [43] 16.926704 11.934251  9.384851 10.211546 12.112695  9.385164 13.670723
##  [50]  8.067057 11.637728 15.918212  6.178838 10.147469 16.680128  9.874906
##  [57]  4.607597  5.118470 12.563589 13.248386 17.043018  5.127104 12.554156
##  [64] 11.075139  5.634269 11.095812  9.546486  5.746847  8.494387  5.612217
##  [71]  8.102329  4.949969 12.824144 15.875244  7.093136 12.048401 12.802735
##  [78]  6.781029  4.838856 20.799854 14.816423 13.978256  5.246960  8.836803
##  [85]  9.453224  7.297670 13.686885  7.474331  8.893856 18.063767 13.312637
##  [92]  5.604101  7.450985  2.279965  4.148711  8.178069  3.842560 37.564014
##  [99] 43.296158 48.863047

Serupa dengan dataset sebelumnya, karena memiliki jumlah amatan cukup banyak, yaitu sejumlah 100 amatan, proses identifikasi pencilan pada dataset peubah y2 dapat menggunakan metode rataan dan simpangan baku dengan rangkaian sintaks sebagai berikut,

m4 <- mean(y2)
s4 <- sd(y2)
pencilan4 <- (y2 > m4+3*s4) | (y2 < m4-3*s4)
y2[which(pencilan4)]
## [1] 37.56401 43.29616 48.86305

Berdasarkan rangkaian sintaks di atas, terdapat tiga amatan dalam peubah y2 yang teridentifikasi sebagain pencilan dengan metode rataan dan simpangan baku.

B. Penduga Robust Rataan

Rataan (mean) sebagai salah satu ukuran pemusatan data menjadi salah satu ukuran yang besarnya akan cukup dipengaruhi oleh keberadaan amatan pencilan. Amatan pencilan yang terlalu besar akan meningkatkan besar nilai rataan, begitupun sebaliknya. Oleh karena itulah, diperlukan suatu penduga robust (kekar) rataan yang nilainya tidak terganggu oleh keberadaan pencilan. Terdapat beberapa metode pendugaan robust, tiga di antaranya adalah sebagai berikut.

  1. Rataan Terpangkas (Trimmed Mean). Sesuai namanya, pendugaan kekar rataan ini memakai konsep pemangkasan nilai amatan tertinggi dan terendah dari suatu dataset dengan jumlah yang disesuaikan dengan persentase pemangkasan dengan harapan mampu menghilangkan sejumlah amatan pencilan pada dataset.

  2. Winsorized Mean. Nilai dugaan rataan yang didapat dari metode pendugaan rataan ini diperoleh dari menghitung rataan dari dataset yang sejumlah nilai terbesar dan terkecilnya telah diubah dengan nilai terbesar dan terkecil selanjutnya dengan harapan supaya rataan yang dihasilkan lebih representatif terhadap pemusatan data.

  3. M-estimators untuk Rataan. Dugaan rataan kekar yang dihasilkan dari metode ini diperoleh dari hasil meminimumkan kuadrat dari selisih antara nilai amatan dan dugaan rataannya.

Berikut beberapa contoh proses perhitungan nilai dugaan robust rataan pada sejumlah dataset,

1. Peubah x1

Karena dataset pada peubah x1 memiliki jumlah yang sedikit, yaitu hanya sejumlah 10 amatan, metode rataan terpangkas menjadi kurang relevan untuk digunakan karena akan menghilangkan data sehingga rataan menjadi kurang representatif. Oleh karena itu, metOde yang tepat digunakan adalah metode winsorized mean.

Untuk menjalankan sintaks metode tersebut, perlu melakukan instalasi library psych terlebih dahulu, kemudian dilanjut dengan rangkaian sintaks sebagai berikut,

mean(x1)
## [1] 21.02891
library(psych)
## Warning: package 'psych' was built under R version 4.1.3
winsor.mean(x1, trim = 0.05)
## [1] 20.92647

Berdasarkan output sintaks di atas, dapat diamati adanya penurunan nilai rataan dari senilai 21.03 menjadi 20.93 setelah memangkas sejumlah masing-masing 5% amatan terendah dan tertinggi. Hal ini membuktikan bahwa metode winsorized mean dengan default Q(0.1) dan Q(0.9) sukses mengekarkan rataan dataset yang sebelumnya terpengaruh oleh amatan pencilan atas.

2. Peubah x2

Masih serupa dengan kondisi dataset peubah x1 yang memiliki jumlah amatan sedikit, pendugaan rataan kekar untuk dataset peubah x2 lebih tepat dengan menggunakan metode winsorized mean dengan rangkaian sintaks sebagai berikut,

mean(x2)
## [1] 2.020437
winsor.mean(x2, trim = 0.05)
## [1] 2.045956

Berdasarkan output sintaks di atas, dapat diamati bahwa nilai rataan normal dan hasil pendugaan kekar tidak berbeda signifikan dalam metode winsorized mean setelah memangkas sejumlah masing-masing 5% amatan terendah dan tertinggi. Hal ini disebabkan tidak adanya amatan pencilan pada dataset peubah x2.

3. Peubah y1

Karena dataset peubah y1 memiliki jumlah yang cukup banyak, yaitu sejumlah 100 amatan, pendugaan rataan kekar dapat dilakukan dengan metode rataan terpangkas 10%. Besar 10% bermakna sejumlah 5% data terkecil dan 5% data terbesar akan dipangkas. Langkah yang dilakukan untuk melakukan metode ini dapat dilakukan dengan rangkaian sintaks sebagai berikut,

mean(y1)
## [1] 0.4906979
mean(y1, trim = 0.05)
## [1] 0.5074825

Berdasarkan output sintaks di atas, dapat diamati bahwa nilai rataan normal dan hasil pendugaan kekar tidak berbeda signifikan setelah memangkas sejumlah masing-masing 5% amatan terendah dan tertinggi. Hal ini disebabkan tidak adanya amatan pencilan pada dataset peubah y1.

4. Peubah y2

Serupa dengan kasus pada dataset peubah y1, pendugaan rataan kekar pada dataset peubah y2 lebih tepat dengan menggunakan metode rataan terpangkas 10% dengan rangkaian sintaks sebagai berikut,

mean(y2)
## [1] 10.82127
mean(y2, trim = 0.05)
## [1] 9.939848

Berdasarkan output sintaks di atas, dapat diamati adanya penurunan nilai rataan dari senilai 10.82 menjadi 9.94 setelah memangkas sejumlah masing-masing 5% amatan terendah dan tertinggi. Hal ini membuktikan bahwa metode rataan terpangkas 10% sukses mengekarkan rataan dataset yang sebelumnya terpengaruh oleh tiga amatan pencilan atas.

C. Penduga Robust Ragam

Meskipun berbeda sifat dengan nilai rataan sebagai ukuran pemusatan data, ragam sebagai ukuran penyebaran data pun bukanlah suatu ukuran yang kekar terhadap adanya amatan pencilan. Besar ragam akan sangat bergantung terhadap adanya amatan pencilan, baik itu pencilan atas maupun bawah, sehingga nilainya mungkin menjadi kurang representatif dalam menggambarkan penyebaran data yang sesungguhnya. Oleh karena itulah, diperlukan suatu pendugaan ragam yang kekar terhadap pencilan.

Besar nilai ragam yang kekar terhadap pencilan dapat diduga dengan melakukan perhitungan pendugaan kekar simpangan baku yang kemudian dikuadratkan. Terdapat beberapa metode pendugaan simpangan baku kekar, antara lain adalah sebagai berikut.

  1. Metode IQR (Interquartile Range). Metode pendugaan simpangan baku ini memanfaatkan informasi mengenai jarak antarkuartil data (Q3 - Q1). Nilai pendugaan simpangan baku kekar yang dihasilkan merupakan hasil bagi antara besar jarak antarkuartil data dengan besar jarak antarkuartil sebaran teoretis yang sesuai.

  2. Metode MAD (Median Absolute Deviation). Berbeda dengan metode sebelumnya, metode pendugaan simpangan baku ini memanfaatkan informasi mengenai nilai median data. Metode MAD ini merupakan metode yang paling populer digunakan untuk pengukuran penyebaran karena memanfaatkan nilai median yang terkenal kekar terhadap adanya pencilan. Nilai pendugaan simpangan baku kekar dihasilkan dari hasil kali antar nilai mutlak selisih antara data dan median dataset dengan nilai mutlak selisih antara data dan median sebaran teoretis yang sesuai.

  3. Metode Gini’s Mean Difference. Metode ini didefinisikan sebagai akumulasi dari rata-rata selisih antara satu amatan dengan amatan lain pada dataset.

Berikut beberapa contoh proses perhitungan nilai dugaan robust simpangan baku untuk menduga ragam pada sejumlah dataset,

1. Peubah x1

Berdasarkan pola sebaran data, peubah x1 merupakan dataset yang menyebar secara Normal. Oleh karena itu, apabila kita hendak menggunakan metode MAD, nilai faktor skala yang digunakan adalah sebesar 1.4826. Nilai dugaan ragam kekar untuk peubah x1 dapat diperoleh dengan rangkaian sintaks sebagai berikut,

var(x1)
## [1] 2.364628
sb1 <- mad(x1)
sb1^2
## [1] 1.198941

Berdasarkan output dari rangkaian sintaks di atas, dapat diamati adanya penurunan nilai ragam dari senilai 2.36 menjadi 1.2. Hal ini membuktikan bahwa metode MAD sukses mengekarkan ragam dataset yang sebelumnya terpengaruh oleh adanya amatan pencilan.

2. Peubah x2

Berdasarkan pola sebaran data, peubah x2 merupakan dataset yang menyebar secara lognormal. Sebelum melakukan perhitungan dengan metode MAD, terlebih dahulu perlu dilakukan identifikasi skala faktor untuk sebaran lognormal dengan melakukan simulasi pembangkitan 10 sebaran lognormal yang masing-masing memiliki 1.000.000 amatan sebagai berikut,

for(i in 1:10){
  data <- rlnorm(1000000)
  y <- sd(data)/mad(data, constant = 1)
  return(y)
}
mean(y)
## [1] 3.602177

Berdasarkan output simulasi di atas, dapat diamati bahwa nilai-nilai yang muncul memiliki rata-rata 3.59. Dengan demikian, nilai 3.59 dapat kita gunakan sebagai skala faktor MAD untuk pola sebaran lognormal.

Kemudian, nilai simpangan baku kekar untuk peubah x2 dapat diperoleh dengan rangkaian sintaks sebagai berikut,

var(x2)
## [1] 7.851305
sb2 <- mad(x2, constant = 3.59)
sb2^2
## [1] 6.945263

Berdasarkan output dari rangkaian sintaks di atas, dapat diamati adanya penurunan nilai ragam dari senilai 7.85 menjadi 6.95 berkat perhitungaan dugaan simpangan baku kekar.

3. Peubah y1

Berdasarkan pola sebaran data, peubah y1 merupakan dataset yang menyebar secara seragam. Sebelum melakukan perhitungan dengan metode MAD, terlebih dahulu perlu dilakukan identifikasi skala faktor untuk sebaran seragam dengan melakukan simulasi pembangkitan 10 sebaran seragam yang masing-masing memiliki 1.000.000 amatan sebagai berikut,

for(i in 1:10){
  data <- runif(1000000)
  y <- sd(data)/mad(data, constant = 1)
  return(y)
}
mean(y)
## [1] 1.154725

Berdasarkan output simulasi di atas, dapat diamati bahwa nilai-nilai yang muncul memiliki rata-rata 1.16. Dengan demikian, nilai 1.16 dapat kita gunakan sebagai skala faktor MAD untuk pola sebaran seragam.

Kemudian, nilai simpangan baku kekar untuk peubah y1 dapat diperoleh dengan rangkaian sintaks sebagai berikut,

var(y1)
## [1] 0.1212436
sb3 <- mad(y1, constant = 1.16)
sb3^2
## [1] 0.09960706

Berdasarkan output dari rangkaian sintaks di atas, dapat diamati adanya penurunan nilai ragam dari senilai 0.12 menjadi 0.1 berkat perhitungaan dugaan simpangan baku kekar.

4. Peubah y2

Berdasarkan pola sebaran data, peubah y2 merupakan dataset yang menyebar secara chi-square Sebelum melakukan perhitungan dengan metode MAD, terlebih dahulu perlu dilakukan identifikasi skala faktor untuk sebaran chi-square dengan melakukan simulasi pembangkitan 10 sebaran chi-square yang masing-masing memiliki 1.000.000 amatan sebagai berikut,

for(i in 1:10){
  data <- rchisq(1000000, 99)
  y <- sd(data)/mad(data, constant = 1)
  return(y)
}
mean(y)
## [1] 1.491061

Berdasarkan output simulasi di atas, dapat diamati bahwa nilai-nilai yang muncul memiliki rata-rata 1.49. Dengan demikian, nilai 1.49 dapat kita gunakan sebagai skala faktor MAD untuk pola sebaran chi-square.

Kemudian, nilai simpangan baku kekar untuk peubah y2 dapat diperoleh dengan rangkaian sintaks sebagai berikut,

var(y2)
## [1] 50.14205
sb4 <- mad(y2, constant = 1.49) 
sb4^2
## [1] 24.35228

Berdasarkan output dari rangkaian sintaks di atas, dapat diamati adanya penurunan cukup drastis nilai ragam, yaitu dari senilai 50.14 menjadi 24.36. Hal ini membuktikan bahwa metode MAD sukses mengekarkan ragam dataset yang sebelumnya terpengaruh oleh adanya tiga amatan pencilan.

D. Kesimpulan

Keberadaan pencilan dalam sebuah data merupakan suatu keniscayaan. Keberadaan pencilan dalam sebuat dataset dapat diidentifikasi melalui beberapa metode, dua di antaranya adalah metode rataan dan simpangan baku serta metode jarak antarkuartil. Supaya amatan pencilan tersebut tidak mengganggu proses analisis data, diperlukan suatu nilai pengukuran pemusatan dan persebaran data yang tidak terpengaruh oleh keberadaannya, salah satu di antaranya adalah pendugaan robust (kekar) untuk rataan dan ragam.

Proses pendugaan kekar untuk nilai rataan dapat dilakukan melalui tiga metode, yaitu metode rataan terpangkas, winsorized mean, dan M-estimator untuk rataan. Metode rataan terpangkas cocok digunakan untuk sebuah dataset yang memiliki jumlah cukup banyak (>30 amatan), sementara metode winsorized mean lebih cocok untuk dataset dengan jumlah amatan yang sedikit (<30 amatan).

Sementara itu, pendugaan kekar untuk ragam dapat diduga dengan menghitung nilai dugaan kekar untuk simpangan baku yang dikuadratkan. Terdapat beberapa metode untuk melakukan pendugaan kekar simpangan baku, antara lain metode jarak antarkuartil, median absolute deviation (MAD), dan Gini’s mean difference. Di antara ketiga metode ini, teknik MAD menjadi teknik yang paling populer digunakan untuk menduga nilai simpangan baku kekar pada sebuah dataset karena sifat median yang kekar terhadap pencilan.