Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan...
Transcript of Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan...
Penerapan Model ARIMA
(Bagian II)
Dr. Kusman Sadik, M.Si
Departemen Statistika IPB, 2017/2018
1
2
a. Misalkan data asal Yt. Lakukan proses pembedaan
(differencing) sebanyak dua kali pada data asal
sehingga menjadi Wt = (1 – B)2Yt.
b. Lakukan pendugaan parameter pada model AR(1)
berdasarkan data yang yang sudah di-differencing
pada poin (a) di atas yaitu Wt.
3
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 et, yaitu:
menyebar bebas dan identik
et ~ N(0, e2)
4
Pemeriksaan asumsi tersebut dapat dilakukan secara deskriptif
maupun analitik. Secara deskriptif dapat dilakukan sebagai
berikut:
Kebebasan / independent : plot te dengan t
Kenormalan / normality : plot te dengan normal score
(quantile-quantile plot)
5
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.
6
H0 : antar et tidak berkorelasi (bebas)
H1 : antar et berkorelasi
Q* =
K
k
ke
kn
rnn
1
2
)(ˆ
)2(
n = banyaknya data sisaan, te
)(ˆ
ker = autokorelasi te dengan kte ˆ
Tolak H0 jika Q* > 2(db = K – p – q)
Uji Ljung-Box-Pierce (modified Box-Pierce)
7
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).
8
# 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)
9
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)
10
# 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")
11
12
13
14
15
16
> 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
17
> 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
18
> 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
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
> 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
21
22
23
> 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
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 Y101, Y102, Y103.
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
et ~ Normal(0,1). Gunakan 225 data terakhir sebagai data Yt 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 et ~ Normal(0,1). Gunakan 225 data terakhir sebagai data
Yt 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
29
Bisa di-download di
kusmansadik.wordpress.com
30 30