Penerapan Model ARIMA (Bagian II) Dr. Kusman Sadik, M.Si Departemen Statistika IPB, 2017/2018 1
a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asal sehingga menjadi W t = (1 B) 2 Y t. b. Lakukan pendugaan parameter pada model AR(1) berdasarkan data yang yang sudah di-differencing pada poin (a) di atas yaitu W t. 2
Analisis Sisaan Sisaan = Nilai Aktual Nilai Prediksi Apabila model ARIMA(p, d, q) benar dan dugaan parameter sangat dekat ke nilai yang sebenarnya maka sisaan akan memiliki sifat seperti yang diasumsikan pada e t, yaitu: menyebar bebas dan identik e t ~ N(0, 2 e ) 3
Pemeriksaan asumsi tersebut dapat dilakukan secara deskriptif maupun analitik. Secara deskriptif dapat dilakukan sebagai berikut: Kebebasan / independent : plot êt dengan t Kenormalan / normality : plot êt dengan normal score (quantile-quantile plot) 4
Uji Ljung-Box-Pierce (modified Box-Pierce) Secara analitik, uji ini dapat digunakan untuk memeriksa asumsi kebebasan antar et (independence) berdasarkan autokorelasi pada et. H0 : antar et tidak berkorelasi (bebas) H1 : antar et berkorelasi Apabila H0 diterima maka dapat dikatakan bahwa model ARIMA yang digunakan adalah layak. 5
Uji Ljung-Box-Pierce (modified Box-Pierce) H 0 : antar e t tidak berkorelasi (bebas) H 1 : antar e t berkorelasi K Q* = n( n 2) k 1 2 ˆ e( k ) r n k n = banyaknya data sisaan, ê t ˆ e ( k ) r = autokorelasi êt dengan ˆ et k Tolak H 0 jika Q* > 2 (db = K p q) 6
Overfitting Diagnostik model dapat pula dilakukan melalui overfitting. Misalnya : Jika teridentifikasi AR(2) mungkin bisa dilakukan overfitting dengan AR(3). Pada kasus tersebut, AR(2) dipilih jika : Penduga parameter tambahan ( 3 ) tidak nyata / tidak signifikan. Penduga parameter 1 dan 2 tidak mengalami perubahan secara signifikan antara AR(2) dengan AR(3). 7
# Pemodelan ARIMA(1,1,1) library("forecast") library("ttr") library("tsa") library("graphics") # Membangkitkan y, ARIMA(1,1,1): mu=0.15 phi=0.55 tetha=0.75 set.seed(1001) e <- rnorm(150,0,1) n <- length(e) mu <- 0.15 phi <- 0.55 tetha <- -0.75 y <- c(1:n) for (i in 3:n) { y[i] <- mu + (1+phi)*y[i-1] - phi*y[i-2] + e[i] - tetha*e[i-1]} y <- y[-c(1:50)] # membuang 50 data pertama plot.ts(y, lty=1, xlab="waktu", ylab="data Asal (y)") points(y) 8
acf(y, lag.max=20) # cek kestasioneran y.dif1 <- diff(y, difference=1) # differencing ordo 1 plot.ts(y.dif1, lty=1, xlab="waktu", ylab="data Y.Diff Ordo 1") points(y.dif1) # Pengidentifikasian Model acf(y.dif1, lag.max=20) pacf(y.dif1, lag.max=20) eacf(y.dif1) # Pendugaan Parameter dan Penentuan Model Terbaik # Berdasarkan Kandidat Model Hasil Identifikasi arima(y.dif1, order=c(0,0,2),method="ml") # ARIMA(0,1,2) arima(y.dif1, order=c(3,0,0),method="ml") # ARIMA(3,1,0) arima(y.dif1, order=c(1,0,1),method="ml") # ARIMA(1,1,1) 9
# Diagnostik Pada Model Terbaik # Model ARIMA(1,1,1) Menggunakan Data Awal Y modelku <- arima(y, order=c(1,1,1),method="ml") sisaan <- residuals(modelku) qqnorm(sisaan) qqline(sisaan) tsdiag(modelku,gof=16,omit.initial=f) # p-value untuk uji Ljung-Box # Peramalan Berdasarkan Model Terbaik forecast(modelku, h=5) plot(modelku,n.ahead=5,type='b',xlab="waktu",ylab="data Y") 10
11
12
13
14
15
> eacf(y.dif1) AR/MA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 x x o o o o o o o o x x x x 1 x o o o o o o o o o o x o o 2 x x o o o o o o o o o x o o 3 x x o o o o o o o o o x o o 4 x x o x o o o o o o o x o o 5 x o o o o o o o o o o x o o 6 x o o o o o o o o o o x o o 7 x o o o o o o o o o o o o o 16
> arima(y.dif1, order=c(0,0,2),method="ml") # ARIMA(0,1,2) Call: arima(x = y.dif1, order = c(0, 0, 2), method = "ML") Coefficients: ma1 ma2 intercept 1.2345 0.3810 0.3195 s.e. 0.0910 0.0936 0.2525 sigma^2 estimated as 0.9365: log likelihood = -138.18, aic = 282.37 17
> arima(y.dif1, order=c(3,0,0),method="ml") # ARIMA(3,1,0) Call: arima(x = y.dif1, order = c(3, 0, 0), method = "ML") Coefficients: ar1 ar2 ar3 intercept 1.2249-0.7571 0.2688 0.3249 s.e. 0.0987 0.1438 0.1016 0.3662 sigma^2 estimated as 0.9572: log likelihood = -139.08, aic = 286.16 18
> arima(y.dif1, order=c(1,0,1),method="ml") # ARIMA(1,1,1) Call: arima(x = y.dif1, order = c(1, 0, 1), method = "ML") Coefficients: ar1 ma1 intercept 0.5423 0.7580 0.3183 s.e. 0.0894 0.0668 0.3585 sigma^2 estimated as 0.8906: log likelihood = -135.69, aic = 277.37 19
> arima(y.dif1, order=c(1,0,1),method="ml") # ARIMA(1,1,1) Call: arima(x = y.dif1, order = c(1, 0, 1), method = "ML") Coefficients: ar1 ma1 intercept 0.5423 0.7580 0.3183 s.e. 0.0894 0.0668 0.3585 sigma^2 estimated as 0.8906: log likelihood = -135.69, aic = 277.37 20
21
22
> forecast(modelku, h=5) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 101 46.50978 45.29580 47.72376 44.65315 48.36640 102 46.41641 43.36077 49.47204 41.74322 51.08960 103 46.36469 41.57765 51.15172 39.04355 53.68583 104 46.33604 39.98558 52.68650 36.62384 56.04823 105 46.32017 38.56971 54.07063 34.46687 58.17347 23
24
a. Berdasarkan hasil Program R di atas, uraikan persamaan modelnya secara lengkap untuk model terbaik yang diperoleh, yaitu ARIMA(1, 1, 1). b. Berdasarkan persamaan model pada poin (a) di atas, tentukan ramalan 3 waktu ke depan, yaitu Y 101, Y 102, Y 103. c. Bandingkan hasil jawaban Anda pada poin (b) di atas dengan hasil keluaran Program R. 25
1. Melalui Program R, bangkitkan data (n = 250) berupa model ARIMA(1, 2, 1) dengan = 0.50, Φ = 0.750 dan θ = - 0.85 serta e t ~ Normal(0,1). Gunakan 225 data terakhir sebagai data Y t dan selanjutnya lakukan proses berikut: a. Identifikasilah kandidat model yang sesuai. b. Berdasarkan kandidat model tersebut, tentukan model terbaik berdasarkan nilai AIC-nya. c. Lakukan analisis diagnostik pada model terbaik tersebut. Apa kesimpulan Anda? d. Bandingkan penduga parameter yang diperoleh untuk model terbaik pada poin (b) dan (c) tersebut dengan nilai parameter yang sesungguhnya. Apa kesimpulan Anda? e. Berdasarkan model terbaik tersebut, tentukan nilai ramalan untuk 5 waktu ke depan. 26
2. Melalui Program R, bangkitkan data (n = 250) berupa model ARIMA(2, 1, 2) dengan = 1.0 dan Φ 1 = - 0.85, Φ 2 = - 0.50, θ 1 = 0.75, θ 2 = - 0.65 serta e t ~ Normal(0,1). Gunakan 225 data terakhir sebagai data Y t dan selanjutnya lakukan proses berikut: a. Identifikasilah kandidat model yang sesuai. b. Berdasarkan kandidat model tersebut, tentukan model terbaik berdasarkan nilai AIC-nya. c. Lakukan analisis diagnostik pada model terbaik tersebut. Apa kesimpulan Anda? d. Bandingkan penduga parameter yang diperoleh untuk model terbaik pada poin (b) dan (c) tersebut dengan nilai parameter yang sesungguhnya. Apa kesimpulan Anda? e. Berdasarkan model terbaik tersebut, tentukan nilai ramalan untuk 5 waktu ke depan. 27
Montgomery, D.C., et.al. 2008. Forecasting Time Series Analysis 2nd. John Wiley. Cryer, J.D. and Chan, K.S. 2008. Time Series Analysis with Application in R. Springer. Cowpertwait, P.S.P. and Metcalfe, A.V. 2009. Introductory Time Series with R. Springer New York. Wei, William, W.S. 1990. Time Series Analysis, Univariate and Multivariate Methods. Adison-Wesley Publishing Company Inc, Canada. 28
Bisa di-download di kusmansadik.wordpress.com 29
30 30