P01 Arima

Download as pdf or txt
Download as pdf or txt
You are on page 1of 68

Peramalan dengan Metode

Box-Jenkins
Bagian I: ARIMA
Karakteristik
Does not assume any particular pattern in the
historical data of the series to be forecast.
It uses an iterative approach of identifying a possible
model from a general class of models.
The chosen model is then checked against the
historical data to see whether it accurately describes
the series.
The model fits well if the residuals are generally small
and randomly distributed and contain no useful
information.
Bentuk Umum
Didefinisikan operator backward shift B sedemikian
hingga BYt = Yt-1 dan Bj(Yt) = Yt-j
Proses ARMA (p,q) didefinisikan sebagai
C(B)Yt = D(B)at
 Yt : proses runtun waktu
 at : proses white noise
 C(B) = 1 + 1 B + 2B2 + 3B3 + … + pBp
 D(B) = 1 - 1B - 2B2 - 3B3 - … - qBq
 C(B) dan D(B) tidak memiliki akar-akar yang sama.
Contoh: Tentukan orde
ARMA(p,q) pada model berikut.
Theoretically of ACF and PACF of The First-order
Moving Average Model or MA(1)

The model
Zt =  + at – 1 at-1 , where  = 
 Invertibility condition : –1 < 1 < 1

Theoretically of ACF Theoretically of PACF


Theoretically of ACF and PACF of The First-order
Moving Average Model or MA(1) … [Graphics illustration]

ACF PACF

ACF PACF
Simulation example of ACF and PACF of The First-
order Moving Average Model or MA(1) … [Graphics illustration]
Theoretically of ACF and PACF of The Second-order
Moving Average Model or MA(2)

The model
Zt =  + at – 1 at-1 – 2 at-2 , where  = 
 Invertibility condition : 1 + 2 < 1 ; 2  1 < 1 ; |2| < 1

Theoretically of ACF Theoretically of PACF

Dies Down (according to a


mixture of damped exponentials
and/or damped sine waves)
Theoretically of ACF and PACF of The Second-order
Moving Average Model or MA(2) … [Graphics illustration] … (1)

ACF PACF

ACF PACF
Theoretically of ACF and PACF of The Second-order
Moving Average Model or MA(2) … [Graphics illustration] … (2)

ACF PACF

ACF PACF
Simulation example of ACF and PACF of The Second-order
Moving Average Model or MA(2) … [Graphics illustration]
Theoretically of ACF and PACF of The First-order
Autoregressive Model or AR(1)

The model
Zt =  + 1 Zt-1 + at , where  =  (1-1)
 Stationarity condition : –1 < 1 < 1

Theoretically of ACF Theoretically of PACF


Theoretically of ACF and PACF of The First-order
Autoregressive Model or AR(1) … [Graphics illustration]

ACF PACF

ACF PACF
Simulation example of ACF and PACF of The First-
order Autoregressive Model or AR(1) … [Graphics illustration]
Theoretically of ACF and PACF of The Second-order
Autoregressive Model or AR(2)

The model
Zt =  + 1 Zt-1 + 2 Zt-2 + at, where  = (112)
 Stationarity condition : 1 + 2 < 1 ; 2  1 < 1 ; |2| < 1

Theoretically of ACF Theoretically of PACF


Theoretically of ACF and PACF of The Second-order
Autoregressive Model or AR(2) … [Graphics illustration] … (1)

ACF PACF

ACF PACF
Theoretically of ACF and PACF of The Second-order
Autoregressive Model or AR(2) … [Graphics illustration] … (2)

ACF PACF

ACF PACF
Simulation example of ACF and PACF of The Second-order
Autoregressive Model or AR(2) … [Graphics illustration]
Theoretically of ACF and PACF of The Mixed Autoregressive-
Moving Average Model or ARMA(1,1)

The model
Zt =  + 1 Zt-1 + at  1 at-1 , where  =  (11)
 Stationarity and Invertibility condition : |1| < 1 and |1| < 1

Theoretically of ACF Theoretically of PACF

Dies Down (in fashion


dominated by damped
exponentials decay)
Theoretically of ACF and PACF of The Mixed Autoregressive-
Moving Average Model or ARMA(1,1) … [Graphics illustration] … (1)

ACF PACF

ACF PACF
Theoretically of ACF and PACF of The Mixed Autoregressive-
Moving Average Model or ARMA(1,1) … [Graphics illustration] … (2)

ACF PACF

ACF PACF
Theoretically of ACF and PACF of The Mixed Autoregressive-
Moving Average Model or ARMA(1,1) … [Graphics illustration] … (3)

ACF PACF

ACF PACF
Simulation example of ACF and PACF of The Mixed Autoregressive-
Moving Average Model or ARMA(1,1) … [Graphics illustration]
General Theoretical ACF and PACF of ARIMA Models

Model ACF PACF


MA(q): moving average of order q Cuts off Dies down
after lag q
AR(p): autoregressive of order p Dies down Cuts off
after lag p
ARMA(p,q): mixed autoregressive- Dies down Dies down
moving average of order (p,q)
AR(p) or MA(q) Cuts off Cuts off
after lag q after lag p
No order AR or MA No spike No spike
(White Noise or Random process)
Kausalitas
Proses ARMA(p,q) {Xt} dikatakan kausal bila
terdapat konstanta {j} dengan jumlahan
|j| berhingga sedemikian sehingga

X t   j at  j
j 0

Kondisi ini ekuivalen dengan


C(z) ≠ 0
untuk sembarang |z| ≤ 1.
Invertibilitas
Proses ARMA(p,q) {Xt} dikatakan invertible
bila terdapat konstanta {j} dengan jumlahan
|j| berhingga sedemikian sehingga

at    j X t  j
j 0

Kondisi ini ekuivalen dengan


D(z) ≠ 0
untuk sembarang |z| ≤ 1.
Tentukan apakah proses berikut
bersifat kausal dan/atau invertibel

a) Yt + 1,5 Yt-1 = at - 0,4 at-1

b) Yt = 0,7 Yt-1 – 0,1 Yt-2 + at

c) Yt + 1,6 Yt-1 = at – 0,4 at-1 + 0,04 at-2

d) Yt + 1,9 Yt-1 + 0,88 Yt-2 = at + 0,2 at-1 + 0,7at-2


Penyelesaian Kausal proses ARMA
Pandang proses ARMA(p,q)
C  B  X t  D  B  at
Bila proses tersebut kausal, maka dapat

dinyatakan sebagai
X t   j at  j
j 0

Penyelesaian kausal didefinisikan sebagai


solusi dari persamaan
 
C  B    j at  j   D  B 
 j 0 
Contoh
Pandang proses ARMA(1,1) kausal
Xt – 0,5 Xt-1 = at + 0,4 at-1, at ~ WN(0,σ2)
Penyelesaian kausal untuk proses di atas
diperoleh dengan menyelesaikan
 
C  B    j at  j   D  B 
 j 0 
1  0,5B   0  1B  2 B  ...  1  0, 4 B 
 2

Untuk nilai-nilai 0, 1, dan seterusnya.


Peramalan proses ARMA(p,q)
Pandang proses ARMA(p,q) kausal yang
dapat dinyatakan sebagai 
X t   j at  j
j 0
Peramalan data periode berikutnya dapat
diperoleh dengan t = n + l, sehingga

X n l   j an l  j
j 0
Akan digunakan metode minimum mean
squared error.
Misal Xˆ n  l  menyatakan nilai prediksi/
ramalan yang meminimumkan MSE, yakni
l 1 


E X nl  Xˆ n  l      
2 2
 2 2
j  2
l j  
l j
j 0 j 0

Dengan demikian, diperoleh



Xˆ n  l    l  j an j
dan j 0

Xˆ n  l   E  X n l X n , X n 1 ,...
Kesalahan Peramalan
Perhitungan peramalan di atas masih
mengandung kesalahan sebesar

en  l   X nl  Xˆ n  l    j an l  j
j 0
Adapun variansi kesalahan peramalan sebesar
l 1
var  en  l     2  j
j 0
dan interval konfidensi 100% hasil ramalan:
1/2
 l 1 
X n  l   Z /2 1    j  
ˆ 2

 j 0 
Contoh:
Estimasi 
Estimator untuk mean populasi  suatu
proses stokastik {Xt} adalah mean sampel:
Estimasi Autokorelasi
Estimasi autokovariansi

Estimasi autokorelasi
Sifat Estimasi
Dasar Pemikiran
Misal dimiliki data runtun waktu Xt yang
diidentifikasi mengikuti model ARMA(p,q).
Bagaimana menentukan nilai koefisien AR
dan/atau koefisien MA pada model tersebut?
Terdapat berbagai metode estimasi
 Metode Yule-Walker
 Metode Burg
 Metode Kemungkinan maksimum (maximum
likelihood)
Prosedur Peramalan dengan R
• Langkah-langkah:
1. Prapemrosesan Data
2. Identifikasi Model
3. Estimasi Parameter
4. Uji Diagnostik dan Penentuan Model Terbaik
5. Aplikasi Model untuk Peramalan
• Pustaka/library yang digunakan:
• forecast, FitAR, lmtest, tseries
1. Prapemrosesan Data

Buat plot data


 Plot data asli dengan ts.plot
Transformasi data, bila perlu
Operasi diferensi, detrend (penghilangan
trend), deseasonalisasi (penghilangan efek
musiman), dll.
 Untuk diferensi gunakan diff
Tujuan: memperoleh data stasioner.
Langkah 1a: Masukkan data sebagai objek dalam R,
pastikan data terurut mulai dari yang terlama ke terbaru.

Hasil yang diperoleh akan berbeda apabila data


dimasukkan secara terbalik (misal dari baru ke lama).

Contoh:
Data harian cuaca di kota New York pada bulan Mei
hingga September 1973 tersedia dalam objek airquality
(dalam library datasets). Pada objek ini tersedia data
kadar ozon, penyinaran matahari, kecepatan angin, suhu
udara, bulan, dan tanggal.

Misal diperhatikan variabel suhu (airquality$temp). Data


ini telah diurutkan dari yang terlama ke terbaru.
Langkah 1b: Buat diagram garis untuk data runtun waktu yang telah
dimasukkan dengan perintah
ts.plot(nama objek)

Perhatikan grafik yang terbentuk. Lakukan pemeriksaan apakah data


tersebut telah bersifat stasioner.
Beberapa cara menguji stasioneritas:

1. Pengamatan visual: adanya tren atau pola musiman menandakan


belum stasioner.
2. Plot ACF: Grafik yang menurun perlahan-lahan menandakan data
belum stasioner.
3. Uji Unit Root Test dengan Augmented Dickey-Fuller (ADF) test.

H0 : data memuat unit root


(tidak stasioner)
H1 : data tidak memuat unit
root (stasioner)
Langkah 1c: Apabila data yang tersedia belum bersifat stasioner, lakukan
differencing dengan perintah
diff(nama objek, orde diferencing)
Sebelum dilakukan differencing, dapat pula dilakukan transformasi
logaritma atau – yang lebih umum – transformsasi Box-Cox. Transformasi
ini digunakan untuk menstabilkan variansi.
2. Identifikasi Model
Buat plot dengan perintah acf dan pacf.
Bandingkan plot ACF dan PACF dengan teorinya.
Tentukan bentuk/model yang kira-kira sesuai untuk
data.
Model ACF PACF
MA(q): moving average of order q Cuts off Dies down
after lag q
AR(p): autoregressive of order p Dies down Cuts off
after lag p
ARMA(p,q) Cuts off Cuts off
after lag q after lag p
No order AR or MA (white noise/random) No spike No spike
Langkah 2: Lakukan identifikasi model.

Sajikanlah plot ACF dan PACF berdasarkan data stasioner:

Diperoleh hasil:

Dengan membandingkan grafik dan garis batas, terlihat bahwa lag ke-1
ACF (kiri) signifikan; adapun pada PACF (kanan) lag ke-1 dan ke-2
bersifat signifikan.
3. Estimasi Parameter
Lakukan estimasi parameter dari model ARMA yang
dipilih dengan perintah Arima
Lakukan overfitting, yakni estimasi parameter model
dengan order lebih tinggi dibandingkan hasil
identifikasi (misal pada tahap identifikasi didapat
model ARMA(1,1), maka estimasi pula model
ARMA(2,1), ARMA(2,2), dan ARMA(1,2).
Uji signifikansi hasil estimasi dengan perintah
coeftest (dalam library lmtest)
Koefisien yang tidak signifikan dapat dibuang dan
lakukan estimasi ulang tanpa komponen tersebut.
Catatan terkait model:

ARIMA(p,d,q) = ARMA(p,q) pada data yang telah


mengalami diferrencing orde d.

ARIMA(p,0,0) = AR(p)
ARIMA(0,0,q) = MA(q)
ARIMA(p,0,q) = ARMA(p,q)

Penentuan orde p dan q dapat dilihat dari kurva ACF dan PACF.

Grafik ACF dan PACF dari data seringkali tidak mirip


dengan grafik ACF dan PACF teoritis. Di sinilah peran
penting kemahiran dari pengolah data untuk menduga
orde p dan q pada model ARIMA(p,d,q).
Catatan tentang uji Hipotesis:

Uji signifikansi parameter model ARMA (p,q) dapat dilakukan


dengan statistic uji student-t sebagai berikut. Bila digunakan komputer,
dapat dilakukan pengujian dengan p-value:

Parameters
ARIMA
model estimates
Langkah 3: Dari langkah sebelumnya diduga model ARIMA(2,1,1). Oleh
karena itu, dalam melakukan pendugaan atau estimasi parameter,
lakukan overfitting ke model ARIMA (2,1,2) dan ARIMA (3,1,1) pula.
Persamaan model:
(1 - 0.68321 B + 0.16876 B2)(1-B) Yt = at + 0.36199 at-1 – 0.544 at-2
Persamaan model:
(1 - 0.804942 B)(1-B) Yt = at + 0.464611 at-1 – 0.396945 at-2
Persamaan model:
(1 + 0.038697 B – 0.119238 B2)(1-B) Yt = at – 0.372885 at-1
4. Diagnostic Check dan Pemilihan
Model Terbaik

Lakukan diagnostic check dengan melihat:


 Residual bersifat white noise
 Residual tidak mengandung autokorelasi
Pilih model terbaik dengan kriteria misal:
 AIC (Akaike’s Information Criterion) lebih kecil
 BIC (Bayesian Information Criterion) lebih kecil
 SBC (Schwarzt Bayesian Criteria) lebih kecil
 CAT (Criterion for Autoregressive Transfer
function) lebih kecil
Langkah 4: Lakukan uji diagnostic pada model yang terbentuk, dengan
mengamati plot residual. Plot dimunculkan dengan perintah:

Syarat model yang baik: tidak ada autokorelasi yang signifikan pada
residual (lihat pada ACF tidak ada lag yang keluar dari batas garis putus-
putus).
Uji hipotesis Ljung-Box

H0 : model tidak mengandung lack of fit


H1 : model mengandung lack of fit

Statistik uji:

Model yang baik tentunya H0 harus ditolak  p-value semua lag berada
di atas garis batas biru.
Langkah 5: Merangkum hasil peramalan terbaik.

Model Koefisien SSR AICc BIC/SBC Uji


Diagnostik
ARIMA(3,1, Semua Asumsi
3) signifikan dipenuhi/
… tidak
dipenuhi
ARIMA(2,1,
2)
ARIMA(2,1,
1)
Dst.
5. Aplikasi Model untuk Peramalan

Peramalan satu atau beberapa langkah (one


step forecasting atau k-step forecasting).
Peramalan tunggal maupun pembentukan
interval konfidensi hasil ramalan.
Langkah 6: Dari langkah sebelumnya diperoleh model terbaik, yang
dapat dipergunakan untuk melakukan peramalan 1 langkah ke depan, k
langkah ke depan, serta pembentukan interval konfidensi hasil ramalan.
Tugas Kelompok
(semua kelompok mengerjakan)
1. Mencari data time series, minimal 100 buah (harian > 4 bulan,
mingguan > 2 tahun, bulanan > 8,5 tahun)
2. Data tidak mengandung pola musiman dan/atau outlier
3. Bagi data menjadi data in sampel dan data out sampel (4-6
data terbaru).
4. Melakukan peramalan data dengan metode ARIMA.
5. Pilih dua model yang memenuhi syarat.
6. Cocokkan hasil ramalan dari kedua model dengan data out
sampel
7. Hitung MAPE, MAE, dan lain-lain.
8. Bandingkan ramalan mana yang lebih baik.

You might also like