Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Fakultas : Sains dan Teknologi

0.1 Pengantar

Pada studi kasus kali ini, kita akan membahas teknik mengisi nilai yang hilang pada data runtun waktu. Terdapat banyak teknik untuk yang dapat digunakan untuk mengisi data yang hilang. Salah satu teknik yang dapat digunakan adalah dengan melakukan interpolasi.

0.2 Interpolasi Data Runtun Waktu

Pengisian data hilang pada data runtun waktu (time series) dapat dilakukan dengan berbagai cara sesuai dengan situasi yang dihadapi. Pengisian dapat menggunakan nilai rata-rata jika data memiliki pola white noise, observasi terakhir atau observasi dimasa mendatang, dan interpolasi linier.

Data yang digunakan pada contoh kasus kali ini adalah data airquality. Dataset tersebut merupakan data kualitas udara bulan Mei sampai September 1973 yang ada di New York. Berikut adalah ringkasan data airquality tersebut:

summary(airquality)

##      Ozone          Solar.R         Wind      
##  Min.   :  1.0   Min.   :  7   Min.   : 1.70  
##  1st Qu.: 18.0   1st Qu.:116   1st Qu.: 7.40  
##  Median : 31.5   Median :205   Median : 9.70  
##  Mean   : 42.1   Mean   :186   Mean   : 9.96  
##  3rd Qu.: 63.2   3rd Qu.:259   3rd Qu.:11.50  
##  Max.   :168.0   Max.   :334   Max.   :20.70  
##  NA's   :37      NA's   :7                    
##       Temp          Month           Day      
##  Min.   :56.0   Min.   :5.00   Min.   : 1.0  
##  1st Qu.:72.0   1st Qu.:6.00   1st Qu.: 8.0  
##  Median :79.0   Median :7.00   Median :16.0  
##  Mean   :77.9   Mean   :6.99   Mean   :15.8  
##  3rd Qu.:85.0   3rd Qu.:8.00   3rd Qu.:23.0  
##  Max.   :97.0   Max.   :9.00   Max.   :31.0  
## 

str(airquality)

## 'data.frame':    153 obs. of  6 variables:
##  $ Ozone  : int  41 36 12 18 NA 28 23 19 8 NA ...
##  $ Solar.R: int  190 118 149 313 NA NA 299 99 19 194 ...
##  $ Wind   : num  7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
##  $ Temp   : int  67 72 74 62 56 66 65 59 61 69 ...
##  $ Month  : int  5 5 5 5 5 5 5 5 5 5 ...
##  $ Day    : int  1 2 3 4 5 6 7 8 9 10 ...

head(airquality)

##   Ozone Solar.R Wind Temp Month Day
## 1    41     190  7.4   67     5   1
## 2    36     118  8.0   72     5   2
## 3    12     149 12.6   74     5   3
## 4    18     313 11.5   62     5   4
## 5    NA      NA 14.3   56     5   5
## 6    28      NA 14.9   66     5   6

Pada contoh kasus kali ini kita akan mencoba melakukan pengisian data hilang pada data Solar.R pada dataset airquality. Langkah pertama yang perlu dilakukan adalah membuat objek data runtun waktu pada data tersebut.

Solar <- ts(airquality[,"Solar.R"])

Visualisasi data tersebut disajikan pada Gambar 8.5.

Visualisasi variabel radiasi matahari pada dataset airquality.

Gambar 8.5: Visualisasi variabel radiasi matahari pada dataset airquality.

Berdasarkan visualisasi tersebut terdapat garis yang terputus yang menunjukkan data yang hilang. Agar garis tersebut dapat tersambung, kita perlu melakukan pengisian nilai yang hilang pada data tersebut. Berikut adalah sintaks yang digunakan untuk melakukan pengisian nilai hilang tersebut:

library(xts)

## Warning: package 'xts' was built under R version 3.5.3

## Loading required package: zoo

## Warning: package 'zoo' was built under R version 3.5.3

## 
## Attaching package: 'zoo'

## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric

# metode nilai rata-rata
Solar_mean <- na.fill(Solar, fill=mean(Solar, na.rm=TRUE))

# metode last observation carried forward
Solar_locf <- na.locf(Solar)

# metode next observation caried backward
Solar_nocb <- na.locf(Solar, fromLast = TRUE)

# metode interpolasi linier
Solar_linterp <- na.approx(Solar)

Berikut adalah visualisasi menggunakan metode nilai rata-rata:

0.3 Visualisasi data radiasi matahari menggunakan metode nilai rata-rata.

Visualisasi data radiasi matahari menggunakan metode nilai rata-rata.

Gambar 8.6: Visualisasi data radiasi matahari menggunakan metode nilai rata-rata.

Secara berturut-turut berikut adalah visualisasi dari metode locf, nocb, dan interpolasi linier:

0.4 Visualisasi data radiasi matahari menggunakan metode locf

Visualisasi data radiasi matahari menggunakan metode locf.

Gambar 8.7: Visualisasi data radiasi matahari menggunakan metode locf.

0.5 Visualisasi data radiasi matahari menggunakan metode nocb

Visualisasi data radiasi matahari menggunakan metode nocb.

Gambar 8.8: Visualisasi data radiasi matahari menggunakan metode nocb.

0.6 Visualisasi data radiasi matahari menggunakan metode interpolasi linier

Visualisasi data radiasi matahari menggunakan metode interpolasi linier.

Gambar 8.9: Visualisasi data radiasi matahari menggunakan metode interpolasi linier.

Pemilihan metode interpolasi mana yang sesuai akan berbeda pada setiap situasi dan jenis data yang akan dilakukan interpolasi. Interpolasi data runtun waktu pada bidang lingkungan umumnya menggunakan metode interpolasi nilai rata-rata dan linier dan tidak menutup kemungkinan interpolasi dengan metode lain yang telah dijelaskan pada buku ini dapat pula digunakan.

Pada situasi dimana data membentuk pola white noises (pola acak disekitar nilai rata-rata dan memiliki varians yang konstan) seperti yang ditunjukkan variabel Solar.R, interpolaasi dengan nilai rata-rata cukup sesuai untuk digunakan untuk mengisi nilai hilang (missing value) pada data runtun waktu tersebut.

0.7 Referensi

  • Howard, J.P. 2017. Computational Methods for Numerical Analysis with R. CRC Press.

  • Kreyszig, E. 2011.Advanced Engineering Mathematics, 10th Edition.

  • John Wiley & Sons. Suparno, S. 2008. Komputasi untuk Sains dan Teknik Edisi II. Departemen Fisika-FMIPA Universitas Indonesia.