Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan...

30
Penerapan Model ARIMA (Bagian II) Dr. Kusman Sadik, M.Si Departemen Statistika IPB, 2017/2018 1

Transcript of Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan...

Page 1: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

Penerapan Model ARIMA

(Bagian II)

Dr. Kusman Sadik, M.Si

Departemen Statistika IPB, 2017/2018

1

Page 2: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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.

Page 3: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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)

Page 4: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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)

Page 5: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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.

Page 6: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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)

Page 7: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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).

Page 8: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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)

Page 9: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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)

Page 10: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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")

Page 11: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

11

Page 12: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

12

Page 13: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

13

Page 14: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

14

Page 15: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

15

Page 16: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 17: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 18: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 19: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 20: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 21: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

21

Page 22: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

22

Page 23: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 24: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

24

Page 25: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 26: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 27: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 28: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

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

Page 29: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

29

Bisa di-download di

kusmansadik.wordpress.com

Page 30: Penerapan Model ARIMA - kusmansadik.files.wordpress.com · 2 a. Misalkan data asal Y t. Lakukan proses pembedaan (differencing) sebanyak dua kali pada data asalsehingga menjadi W

30 30