Exercise: Time Series Analysis
Data diambil dari latihan di buku Analisis Deret Waktu (Penulis: Aswi dan Sukarna, Penerbit: Andira Publisher Makassar).
Exercise ini akan dijalankan di software R.
Library yang digunakan ada beberapa, yaitu: tseries, forecast, lmtest, normtest, dan nortest. Packages tersebut terdiri dari beberapa function, di antaranya: tseries adalah package yang digunakan pada time series analysis and computational finance, forecast adalah package yang digunakan untuk melakukan forecast (prediksi) untuk time series and linear model, lmtest adalah package yang digunakan untuk melakukan uji signifikansi parameter model, normtest dan nortest adalah packages yang digunakan untuk melakukan uji normalitas.
Step 1: Load Packages
Step 2: Input Data
Data yang diinput adalah data penjualan voucher di Koperasi Telkomsel Komwil IV Sulmalirja Makassar selama 62 minggu mulai Januari 2004 sampai dengan Maret 2005 (Aswi & Sukarna, 2017).
Step 3: Plot Time Series
Langkah selanjutnya melakukan plot terhadap data yang telah diinput. Berikut syntax yang dijalankan:
Dari grafik yang ditampilkan, datanya belum stasioner terhadap mean (rataan) sehingga harus dilakukan proses differencing. Akan tetapi, untuk memastikan secara akurat apakah data tersebut sudah stasioner terhadap rataan dapat dilakukan uji Augmented Dickey Fuller (ADF) dan dapat dilihat melalui plot Autocorrelation Function (ACF) dan Partial Autocorrelation Function (PACF) yang akan dilakukan pada step 4.
Step 4: Uji Stasioner
Berikut syntax dari uji ADF yang dilakukan di R:
adf.test(data_penjualan$penjualan)
Berikut output yang dihasilkan:
p-value = 0,1902 lebih dari tingkat signifikansi alpha = 0,05 menandakan bahwa data belum stasioner terhadap rataan. Hal ini bisa dilihat pada plot ACF dan PACF. Berikut ini syntax-nya:
Plot ACF cenderung turun secara lambat yang menandakan datanya belum stasioner terhadap rataan, sehingga harus dilakukan differencing terhadap data.
Step 5: Differencing Data
Berikut ini syntax untuk dilakukan differencing data:
Setelah dilakukan first differencing, data tersebut sudah stasioner terhadap rataan karena p-value = 0,01 kurang dari 0,05 (tingkat signifikansi alpha). Berdasarkan nilai lamda yang dihasilkan, data tersebut juga sudah stasioner terhadap variansi karena nilai lamda yang dihasilkan lebih dari 1.
Dari plot ACF dan PACF, terlihat bahwa plot ACF cut-off after lag 1 dan plot PACF menurun secara eksponensial atau dies down, sehingga dugaan model ARIMA yang terbentuk adalah ARIMA (0, 1, 1).
Step 6: ARIMA Model
Berikut ini syntax yang dimasukkan:
Koefisien dari parameter Moving Average (MA) adalah -0,6967 dengan nilai Akaike Information Criterion sebesar 1061,01. Langkah selanjutnya, menguji koefisien dari parameter MA apakah signifikan atau tidak.
Step 7: Uji Kesignifikan Parameter
Dengan menggunnakan coeftest() function, kesignifikan dari parameter yang dihasilkan pada model akan tampil.
Koefisien dari parameter MA signifikan berbeda dari nol sebab koefisien yang dihasilkan kurang dari 0,05 (tingkat signifikansi yang digunakan).
Step 8: Uji Residual (White Noise)
Uji residual yang digunakan menggunakan uji ljung-test. Berikut ini syntax dan output yang dihasilkan:
p-value yang dikeluarkan sebesar 0,7013 lebih dari 0,05 menandakan bahwa residual yang dihasilkan pada model sudah white noise.
Step 9: Uji Normalitas
Ada beberapa uji normalitas yang dapat dilakukan, di antaranya: Shapiro-Wilk test, Shapiro-Francia normality test, Anderson-Darling normality test, dan Lilliefors (Kolmogorov-Smirnov) normality test. Berikut ini syntax dan output yang ditampilkan:
p-value dari tiap uji normalitas masing-masing menghasilkan p-value lebih dari 0,05 yang berarti bahwa residual dari model sudah terdistribusi normal.
Step 10: Forecasting
Berikut ini syntax dan hasil output yang dapat digunakan untuk forecasting 5 minggu ke depan:
Hasil ramalan pada minggu ke-63 sampai minggu ke-67 menghasilkan nilai yang sama, yaitu 1950 sebab model ini hanya dipengaruhi oleh moving average dari datanya sehingga data ini hanya dapat melakukan forecast dalam jangka pendek atau short term.