penerapan model arima - kusmansadik.files.wordpress.com · 2. metode kuadrat terkecil metode ini...

Post on 23-Mar-2019

290 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Penerapan Model ARIMA

(Bagian I)

Dr. Kusman Sadik, M.Si

Sekolah Pascasarjana Departemen Statistika IPB

Semester Genap 2017/2018

1

Ada tiga tahapan iteratif dalam pemodelan data deret waktu

yang berbasis model ARIMA, yaitu:

1. Penentuan model tentatif (spesifikasi model)

berdasarkan data contoh untuk mengidentifikasi nilai

p, d, dan q.

2. Pendugaan parameter model ARIMA(p, d, q) yang

diidentifikasi, yaitu penduga nilai , , dan σ𝑒2.

3. Analisis diagnostik untuk melihat kelayakan model.

2

Prosedur iterasi ini sering disebut ”Metode Box-Jenkins”.

Untuk model ARIMA(p, d, q), spesifikasi dilakukan untuk

menentukan nilai p, d, dan q.

Alat yang digunakan pada tahap identifikasi ini adalah fungsi

autokorelasi.

Fungsi autokorelasi ini diduga dari data contoh atau disebut

fungsi autokorelasi contoh (sample of autocorrelation function

atau SACF atau ACF saja).

Disamping itu ada pula fungsi autokorelasi parsial (sample of

partial autocorrelation function atau SPACF atau PACF saja)

3

a. ACF

.... ,2 ,1 ,

)(

))((

1

2

1

k

YY

YYYY

rn

t

t

kn

t

ktt

k

n

Y

Y

n

t

t 1

rk merupakan penduga bagi k

4

a. PACF

PACF : kk = Corr(Yt, Yt-k | Yt-1, Yt-2, …, Yt-k+1)

Berdasarkan persamaan Yule-Walker:

j = k1j-1 + k2j-2 + ... + kkj-k

j = 1, 2, ..., k; Catatan: j = -j dan 0 = 1

k ACF; kk PACF

kk̂ penduga bagi kk

5

Contoh:

Misal diketahui data : 4, 2, 5, 1. Tentukan ACF (r1, r2) dan

PACF (𝜙 11 , 𝜙 22)

Melalui persamaan .... ,2 ,1 ,

)(

))((

1

2

1

k

YY

YYYY

rn

t

t

kn

t

ktt

k

Dapat diperoleh penduga ACF : r1 = -0.7 dan r2 = 0.4

6

Berdasarkan persamaan Yule-Walker dapat diperoleh

penduga PACF kk:

j = k1j-1 + k2j-2 + ... + kkj-k

Untuk k =1 j = 1

1 = 110 1 = 11(1) r1 = 𝜙 11 = -0.7

Untuk k = 2 j = 1, 2

1 = 210 + 221 1 = 21 + 221

2 = 211 + 220 2 = 211 + 22

7

1 = 210 + 221 1 = 21 + 221

2 = 211 + 220 2 = 211 + 22

(1)2 = 211 + 22(1)2 ...... Pers(1)

2 = 211 + 22 …….. Pers(2)

Berdasarkan Pers(1) dan Pers(2) diperoleh:

(1)2 - 2 = 22(1)2 - 22

22 = {(1)2 - 2}/{(1)2 - 1}

𝜙 22= {(r1)2 - r2}/{(r1)2 - 1} = 0.09/(-0.51) = -0.176

8

Implementasi dalam Program R

> data <- c(4, 2, 5, 1)

> acf(data, lag.max = 3, plot = FALSE)

Autocorrelations of series ‘data’, by lag

0 1 2 3

1.0 -0.7 0.4 -0.2

> pacf(data, lag.max = 3, plot = FALSE)

Partial autocorrelations of series ‘data’, by lag

1 2 3

-0.700 -0.176 0.012

9

0.0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5

ACF

0.0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5 6

Sample of ACF

kkr

k k

Pengidentifikasian Model

Model MA: Misal MA(1) : Yt = et - et-1

ACF :

1 ; 0

1 ;1 2

k

k

k

10

Karena rk berasal dari data contoh maka diperlukan

galat baku bagi rk yaitu Srk.

Sebagai nilai pendekatan : Srk = n/1 , dimana n

adalah banyaknya data.

Sehingga hipotesis H0 : k = 0 ditolak jika | rk | > 2Srk

atau | rk | > n/2 .

Misalnya, jika | r1 | > n/2 dan | rk | < n/2 untuk

k = 2, 3, …, maka model tentatifnya adalah MA(1).

11

Model AR : Misalkan AR(1) : Yt = Yt-1 + et

ACF : k = k ; k = 1, 2, …

Untuk model AR, ACF merupakan fungsi eksponensial

sehingga ACF tidak dapat digunakan untuk menentukan

nilai p dalam AR(p).

PACF : j = k1j-1 + k2j-2 + ... + kkj-k (Yule-Walker)

untuk k = 1 1 = 11

untuk k = 2 1 = 21 + 221 .... (1)

2 = 211 + 22 .... (2)

12

0.0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5

PACF

0.0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5 6

Sample of PACF

kkkk̂

Berdasarkan persamaan (1) dan (2) 22 = 0.

Demikian juga 33 = 44 = ... = 0.

Sehingga PACF AR(1):

1 ; 0

1 ; 1

k

k

kk

Dengan demikian PACF dapat digunakan sebagai

penentu nilai p dalam model AR(p).

Hipotesis H0 : kk = 0 ditolak jika nkk /2 |ˆ| .

13

0.0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5 6 7 8 9

Sample of ACF

off tails

0.0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5 6 7 8 9

Sample of ACF

q lagafter off cuts

Pengidentifikasian nilai p dan q

14

15

Contoh (1)

16

Contoh (2)

17

Contoh (3)

d = 1

d = 1

18

Pengidentifikasian ARMA(p, q) Melalui EACF

Nilai ACF dan PACF dapat digunakan untuk menentukan

nilai q pada model MA(q) dan nilai p pada model AR(p).

Namun tidak bisa digunakan untuk menentukan nilai p dan

q pada model campuran ARMA(p, q).

Karena itu dikembangkan metode extended autocorrelation

function (EACF) untuk pengidentifikasian model campuran

ARMA(p, q).

Pada Tabel EACF, secara teoritis model ARMA(p, q)

mempunyai pola segitiga-nol (triangle of zeroes), dimana

nilai pada pojok kiri atas bersesuaian dengan ordo ARMA.

19

Pengidentifikasian ARMA(p, q) Melalui EACF

20

Pendugaan Parameter Model

Apabila nilai p, d, dan q sudah dapat diidentifikasi, maka

selanjutnya dilakukan pendugaan terhadap parameter model,

yaitu 1, 2, ..., p untuk model AR(p) dan 1, 2, ..., q untuk

model MA(q) berdasarkan data terobservasi Y1, Y2, ..., Yn.

Metode pendugaan parameter :

Metode momen,

Metode kuadrat terkecil (least-square),

Metode kemungkinan maksimum (maximum likelihood).

21

1. Metode Momen

Metode ini didasarkan pada persamaan momen contoh dan

momen teoritis, kemudian memecahkan persamaan-persamaan

tersebut untuk mendapatkan penduga bagi parameter model.

Misalnya, menduga rataan populasi (teoritis) dengan rataan

contoh Y .

Model AR

a. AR(1) : Yt = Yt-1 + et

k = k ; k = 1, 2, …

1 = ˆˆ1 r1 = ̂

Jadi pada AR(1) penduga bagi parameter model, ,

adalah r1 yang dapat dihitung dari data.

22

b. AR(1) : Yt = + Yt-1 + et

Bagaimana menduga ?

Perhatikan model : (Yt - 𝑌 )= (Yt-1 - 𝑌 ) + et

↔ (Yt - 𝑌 )= (Yt-1 - 𝑌 ) + et

↔ Yt = (1 - )𝑌 + Yt-1 + et

↔ Yt = + Yt-1 + et

Sehingga : = (1 - )𝑌

23

c. AR(2) : Yt = 1Yt-1 + 2Yt-2 + et

Berdasarkan persamaan Yule-Walker :

k = 1k-1 + 2k-2 + ... + pk-p

maka diperoleh

1 = 1 + 21 dan 2 = 11 + 2

dengan metode momen diperoleh:

r1 = 1̂ +

2̂ r1 dan r2 = r1 1̂ + 2̂

penyelesaian terhadap dua persamaan ini diperoleh:

2

1

211

1

)1(ˆr

rr

dan

2

1

2

122

r

rr

24

Model MA

MA(1) : Yt = et - et-1

211

21 ˆ1

ˆ

r

sehingga diperoleh : 1

2

1

2

411ˆr

r

Sebagai catatan untuk persamaan ini, apabila | r1 | > 0.5

maka metode momen gagal untuk menduga parameter .

Untuk MA(2), MA(3), dst, metode momen menjadi

sangat kompleks, sehingga harus menggunakan metode

pendugaan lainnya.

25

Model ARMA

ARMA(1, 1) : Yt = Yt-1 - et-1 + et

1

221

))(1(

k

k

1

2 sehingga penduga bagi adalah : 1

2ˆr

r

Untuk menduga dapat digunakan persamaan pertama

dengan cara mengganti 1 dengan r1 dan dengan ̂ , yaitu

21 ˆˆˆ21

)ˆˆ)(ˆˆ1(

r

26

Contoh Kasus (Latihan):

Misalnya diketahui model AR(2) : Yt = + 1Yt-1 + 2Yt-2 + et.

Berdasarkan data diketahui bahwa r1 = 0.75, r2 = 0.61, dan

Y = 4.5. Tentukan ̂ , 1̂ , dan

2̂ dengan metode momen.

27

2. Metode Kuadrat Terkecil

Metode ini dilakukan dengan cara meminimumkan komponen

pada galat, yaitu

n

t

te1

2.

AR(1) : Yt = Yt-1 + et et = Yt - Yt-1

S() =

n

t

te1

2=

n

t

tt YY1

2

1)(

Penduga bagi parameter model, , dapat diperoleh

dengan cara meminimumkan S().

28

MA(1) : Yt = et - et-1 et = Yt + et-1

et = Yt + ( Yt-1 + et-2)

et = Yt + Yt-1 + 2Yt-2 +

3Yt-3 + ….

S() =

n

t

te1

2

Meminimumkan S() tidak dapat dilakukan secara

analitik / kalkulus karena bersifat non-linear, sehingga

harus diselesaikan secara numerik / iteratif, salah

satunya melalui algoritma Gauss-Newton atau

Newton-Raphson.

29

3. Metode Kemungkinan Maksimum

Metode ini dilakukan dengan cara memaksimumkan fungsi

kemungkinan (likelihood), berdasarkan fungsi sebaran galat (et).

AR(1) : Yt = Yt-1 + et, misal et bsi

~ N(0, e2)

f(e1, e2, …., en) = )2

1exp(.)2(

1

2

2

2/)1(2

n

t

t

e

n

e e

L(, e2) = ))(

2

1exp(.)2( 2

12

2/)1(2

n

t

tt

e

n

e YY

Penduga dan e2 dapat diperoleh dengan cara

memaksimumkan fungsi kemungkinan L(, e2).

30

MA(1) : Yt = et - et-1

Fungsi kemungkinannya, L(, e2), bersifat non-linear

sehingga pemaksimumannya harus dilakukan secara

numerik / iteratif.

Catatan : Program R menggunakan metode iterasi Newton-

Raphson untuk menduga parameter AR(p), MA(q),

dan ARIMA(p, d, q).

31

# 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

# package arima di R, tetha bertanda positif, kebalikan dari Cryer

# misal di R, MA(1) : y = mu + e[i] + tetha*e[i-1]

# akibatnya hasil pendugaan parameter tetha tandanya berkebalikan

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]} #Cryer

32

y <- y[-c(1:50)] # membuang 50 data pertama

plot.ts(y, lty=1, xlab="Waktu", ylab="Data Asal (y)")

points(y)

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)

33

# Plot dan Nilai Dugaan Berdasarkan Model Terbaik

model <- arima(y.dif1, order=c(1,0,1),method="ML") # ARIMA(1,1,1)

dugaan <- fitted(model)

cbind(y.dif1,dugaan)

plot.ts(y.dif1, xlab="Waktu", ylab="Data Diff.Y Ordo 1")

points(y.dif1)

par(col="red")

lines(dugaan)

par(col="black")

34

35

36

37

38

39

> 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

40

> 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

41

> 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

42

> 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

43

> cbind(y.dif1,dugaan)

Time Series:

Start = 1

End = 99

Frequency = 1

y.dif1 dugaan

1 -0.301500868 0.03487535

2 -2.989745815 -0.59954250

3 -1.798462592 -2.91505510

.

.

97 2.664318123 2.84607363

98 0.354648756 1.45281261

99 -0.463277448 -0.49441754

44

Garis Merah : Plot Nilai Dugaan Berdasarkan Model Terbaik

45

> 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

Penduga parameter : 𝜇 = 0.3183, 𝜙 = 0.5423, 𝜃 = −0.7580,

Bandingkan dengan data y yang dibangkitkan:

ARIMA(1,1,1) dengan parameter μ = 0.15, ϕ = 0.55, θ = −0.75

“sigma^2 estimated as 0.8906” adalah nilai dugaan bagi σe2

Model terbaik tersebut selanjutnya bisa digunakan untuk peramalan

46

package arima di R, tetha bertanda positif, kebalikan dari Cryer

1. Melalui Program R, bangkitkan data yt, (n = 125), berupa model

ARIMA(1, 2, 0) dengan = 0.25, Φ = 0.65 serta et ~ Normal(0,1).

Gunakan 100 data terakhir dan lakukan proses berikut:

a. Identifikasilah kestasioneran data, serta lakukan proses

differencing jika data tidak stasioner.

b. Selanjutnya, berdasarkan ACF, PACF, dan EACF, identifikasilah

kandidat model yang sesuai.

c. Berdasarkan kandidat model tersebut, tentukan model terbaik

berdasarkan nilai AIC-nya.

d. Bandingkan penduga parameter yang diperoleh untuk model

terbaik pada poin (c) tersebut dengan nilai parameter yang

sesungguhnya. Apa kesimpulan Anda?

47

2. Melalui Program R, bangkitkan data yt, (n = 125), berupa model

ARIMA(1, 2, 2) dengan = 0.20, Φ = 0.85, θ1 = - 0.65, dan θ2 = 0.40

serta et ~ Normal(0,1). Gunakan 100 data terakhir dan lakukan

proses berikut:

a. Identifikasilah kestasioneran data, serta lakukan proses

differencing jika data tidak stasioner.

b. Selanjutnya, berdasarkan ACF, PACF, dan EACF, identifikasilah

kandidat model yang sesuai.

c. Berdasarkan kandidat model tersebut, tentukan model terbaik

berdasarkan nilai AIC-nya.

d. Bandingkan penduga parameter yang diperoleh untuk model

terbaik pada poin (c) tersebut dengan nilai parameter yang

sesungguhnya. Apa kesimpulan Anda?

48

3. Melalui Program R, kerjakan : Exercise 5.11 (Montgomery, hlm. 290):

49

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.

50

Bisa di-download di

kusmansadik.wordpress.com

51

52 52

top related