Uji Stasioneritas Data

By | January 13, 2022
Print Friendly, PDF & Email
4,371 Views

— Uji Stasioneritas Data — Dalam analisis time series hal yang perlu diperhatikan yaitu stationary data. Kita berangkat terlebih dahulu mengenai time series yang berarti setiap data mempunyai domain waktu atau dipengaruhi oleh waktu. Setidaknya ada beberapa plot time series seperti konstan (stationary), trend, seaosonal, dan cyclic. Time series digunakan untuk forecasting, nah ada satu metode forecasting yaitu ARIMA yang mengharuskan data tersebut bersifat stationary – konstan – stasioner.

Tulisan ini akan dibagi menjadi 3 bagian yaitu pengertian stationary – konstan – stasioner, deteksi, serta mengubah data tersebut agar stationary – konstan – stasioner. Nanti kita akan menggunakan software seperti R/RStudio dan SPSS.

Pengertian stationary – konstan – stasioner

Data stasioner adalah sekumpulan data dinyatakan stasioner jika nilai rata-rata dan varian dari data time series tersebut tidak mengalami perubahan secara sistematik sepanjang waktu, atau sebagian ahli menyatakan rata-rata dan variannya konstan (nachrowi dan haridus usman, 2006). Kalian bisa melihat jenis plot time series berikut untuk mengetahui mengenai stasioner data

 

Data bersifat stasioner akan tampil acak tapi tetap ditengah/mean nya berbeda dengan data seasonal yang saling menyimpang jauh membentuk sebuah lembah dan gunung. Setelah kita mengetahui tampilan grafik stasioner, kita  lanjut ke deteksi stasioner data

Uji Stasioneritas Data Dick Fuller

Untuk mnguji stasioneritas data, kita akan buat contoh dataset, data ini adalah data kelahiran bayi perhari daily-total-female-births, Yuk kita lihat plot datanya, oiya saya menggunakan R/RStudio buat ploting data biar gampang, nanti kalian bisa menggunakan excel koq. Berikut contoh data stasioner

library(dplyr)
library(ggplot2)
library(scales)


dat = read.csv('daily-total-female-births.csv')
dat$Date <- as.Date(dat$Date,format="%Y-%m-%d")
plot(dat$Births,type='l')

# (sengaja saya hapus tidak pakai ggplot biar nggak kebanyakan kode)

 

atau menggunakan SPSS juga bagus

dari plot diatas akan nampak bahwa data tersebut stationer.

Kita akan membandingkan antara contoh data stasioner dan non stasioner berikut yang diambil dari https://data.transportation.gov/api/views/xgub-n9bw/rows.csv?accessType=DOWNLOAD. Data tersebut adalah data penumpang harian sehingga datanya sangat banyak sekali.  Saya akan olah saja yaitu dengan teknik pivot/aggregasi. Data akan diolah terlebih dahulu agar dijumlah perbulan saja. Berikut contoh snipet datasetnya

   year  month total_bulan tanggal   
   <chr> <chr>       <int> <date>    
 1 1990  01        6271648 1990-01-01
 2 1990  02        5608228 1990-02-01
 3 1990  03        7261485 1990-03-01
 4 1990  04        6666438 1990-04-01
 5 1990  05        6684581 1990-05-01
 6 1990  06        7629021 1990-06-01
 7 1990  07        8677938 1990-07-01
 8 1990  08        9100434 1990-08-01
 9 1990  09        7123752 1990-09-01
10 1990  10        6632612 1990-10-01

Bagi kalian yang suka menggunakan SPSS tentu butuh software tambahan seperti excel, tidak seperti R/RStudio maka proses aggregasi data sangat mudah.

library(dplyr)
library(ggplot2)
library(scales)


dat = read.csv('International_Report_Passengers.csv')

dat = dat %>% select(data_dte,Total) #ambil kolom date_dte dan Total saja
dat = dat %>% rename(date = data_dte) %>% rename(total = Total) #rename kolom

dat$date <- as.Date(dat$date,format="%m/%d/%Y") #ubah jadi format tanggal

#lakukan proses aggregasi dengan melakukan split bulan dan tahun
dat = dat %>%
    mutate(month = format(date, "%m"), year = format(date, "%Y")) %>%
    group_by(year,month) %>%
    summarise(total_bulan = sum(total))

#merging 
dat2 = dat%>%mutate(tanggal=as.Date(paste(1,month,year,sep='/'),format='%d/%m/%Y'))

plot(dat2$total_bulan,type='l')
# (sengaja saya hapus tidak pakai ggplot biar nggak kebanyakan kode)

Kita lihat data time series nya mengandung trend

Namun bila kalian ingin menampilkan dalam SPPS, simpan saja variabel dat2 kedalam format CSV

write.csv(dat2,'data olah passenger.csv')

Berikut tampilan data time series non stasioner di SPSS

uji stasioneritas data time series

Namun demikian melihat plot data akan bersifat subjeksifitas, oleh hal tersebut kita membutuhkan uji stasioneritas data time series menggunakan analisis Uji Stasioneritas Augmented Dickey–Fuller (ADF). Langsung saja kita akan menguji uji stasioneritas data time series pada dataset kelahiran diatas menggunakan package tseries

library(tseries)
adf.test(dat$Births,k=1)

untuk dataset kelahiran bayi harian didapatkan hasil berikut

   Augmented Dickey-Fuller Test

data:  dat$Births
Dickey-Fuller = -11.491, Lag order = 1, p-value = 0.01
alternative hypothesis: stationary

Hipotesis untuk ADF yaitu

H0 : data deret waktu tidak stasioner
H1 : data deret waktu stasioner

jika p value > siginifikan maka HO diterima maka dapat disimpulkan data tidak stasioner. Kita dengan aturan berikut dengan set k=12 karena terjadi perulangan frekuensi 12 kali dalam setahun (jangan sampai salah ya!) sehingga data ke 1 akan dibanding dengan data ke 13

adf.test(dat2$total_bulan,k=12)
   Augmented Dickey-Fuller Test

data:  dat2$total_bulan
Dickey-Fuller = -1.136, Lag order = 12, p-value = 0.9158
alternative hypothesis: stationary

Kalian bisa melihat 0.9158 > 0.05 sehingga HO diterima (data tidak stasioner)

Contoh penggunaan lag pada adf.test

Jangan bingung untuk menggunakan lag diatas, misalkan kita punya data berikut tidak bersifat musiman

data <- c(3, 4, 4, 5, 6, 7, 6, 6, 7, 8, 9, 12, 10)

Bila kita plot akan tampak mengandung trend

plot(data,type='l')

mengingat data tersebut bukan musiman, maka lag /k = 1 saja seperti berikut

adf.test(data,k=1)

hasilnya

   Augmented Dickey-Fuller Test

data:  data
Dickey-Fuller = -1.9753, Lag order = 1, p-value = 0.5818
alternative hypothesis: stationary

nilai p> 0.05 artinya H0 diterima (data tidak stasioner)

untuk membuat data menjadi stasioner akan dibahas lebih lanjut nanti Differencing Data bila tidak Stasioner

ref:

Augmented Dickey-Fuller Test in R (With Example)

One thought on “Uji Stasioneritas Data

Leave a Reply

Your email address will not be published.




Enter Captcha Here :