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

Post on 08-Mar-2019

225 views 0 download

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