ANALISIS DERET WAKTU Ganjil 2011 kuliah ke-5

Download Report

Transcript ANALISIS DERET WAKTU Ganjil 2011 kuliah ke-5

ANALISIS DERET WAKTU
Abdul Kudus, SSi., MSi., PhD.
Selasa, 15.00 – 17.30 di R313
Metode yang paling efisien utk meramal satu variabel adalah:
1. mencari variabel terkait  korelogram.
2. menggunakan informasi dari data masa lalu.
3. melakukan ekstrapolasi berdasarkan trend saat ini.
Pemulusan Eksponensial (Exponential Smoothing)
Tujuan utk meramal xn+k berdasarkan {x1,x2,...,xn} dengan asumsi:
mungkin krn sudah dibuang dgn
1. tidak ada trend sistematik
metode tertentu
2. tidak ada efek musiman
Modelnya xt  t  wt
Misal t ditaksir oleh at.
Di lain pihak, taksiran yg wajar bagi nilai rata-rata pada waktu ke-t
adalah rata-rata terboboti dari nilai pengamatan pada waktu ke-t
dan nilai taksiran rata-rata pada waktu ke-(t-1).
(1)
Ini adalah Exponentially Weighted Moving Average (EWMA).
merupakan parameter pemulusan (smoothing) , jika:
1.   1, sedikit pemulusan dan at didominasi oleh xt.
2.   0, at didominasi oleh taksiran sebelumnya at-1.
Biasanya diambil nilai  = 0.2
R bisa melakukan penaksiran bagi 
Karena diasumsikan:
1. tidak ada trend sistematik
2. tidak ada efek musiman
Maka peramalan yg dilakukan pada waktu n utk meramal k waktu ke
depan adalah taksiran rata-ratanya pada waktu n.
at   xt  1   at 1
at   xt  at 1   at 1
Rumus
1.
dapat ditulis sbg:
kesalahan peramalan satu langkah ke depan
2.
at  xt  1   xt 1  1   at  2 
 xt   1   xt 1  1    at  2
2
 xt   1   xt 1  1    xt  2  1   at 3 
2
 xt   1   xt 1   1    xt  2  1    at 3
2
2
 xt   1   xt 1   1    xt  2  
2
at adalah kombinasi linier dari pengamatan saat ini dan
pengamatan sebelumnya, dengan pembobot yg lebih besar bagi
data terkini. Dengan syarat 0 <  < 1, shg (1- )i makin kecil.
Dengan menetapkan a = x .


Untuk nilai  tertentu, model at   xt  at 1  at 1 dan
penetapan a1 = x1 dapat digunakan utk menghitung at utk t = 2,3,...,n.
Kesalahan prediksi satu langkah ke depan adalah
et  xt  xˆt|t 1
 xt  at 1
R menaksir parameter  melalui MINIMISASI Jumlah Kuadrat
Kesalahan Prediksi Satu Langkah ke Depan (Sum of Squared OneStep-Ahead Prediction Error = SS1PE).
n
SS1PE   et2
t 2
 e22  e32    en2 ; dengan a1  x1
Contoh: Jumlah Keluhan Terhadap Organisasi
35
Terdapat data keluhan (bulanan) dari tahun 1996 sampai tahun 1999.
Pada awal tahun 2000 ingin dilakukan penaksiran tingkat keluhan dan
menyelidiki adanya trend.
> www <- "http://www.massey.ac.nz/~pscowper/ts/motororg.dat"
> Motor.dat <- read.table(www, header = T); attach(Motor.dat)
> Comp.ts <- ts(complaints, start = c(1996, 1), freq = 12)
> plot(Comp.ts, xlab = "Time / months", ylab = "Complaints")
20
15
10
5
Complaints
25
30
• tidak ada trend sistematik
• tidak ada efek musiman
1996
1997
1998
Time / months
1999
2000
Pemulusan Eksponensial mrp kasus khusus dari metode Holt-Winters
(yg akan dijelaskan nanti).
> Comp.hw1 <- HoltWinters(complaints, beta = FALSE, gamma = FALSE)
> Comp.hw1
Holt-Winters exponential smoothing without trend and without
seasonal component.
Call:
HoltWinters(x = complaints, beta = FALSE, gamma = FALSE)
Smoothing parameters:
alpha: 0.1429622
Taksiran  yg meminimumkan SS1PE
beta : FALSE
gamma: FALSE
Taksiran jumlah keluhan pada akhir tahun 1999
Coefficients:
[,1]
a 17.70343
> plot(Comp.hw1)
> Comp.hw1$SSE
[1] 2502.028
35
Holt-Winters filtering
25
20
15
10
5
Observed / Fitted
30
Menurun
10
20
30
Time
40
> Comp.hw2 <- HoltWinters(complaints, alpha = 0.2, beta=F,gamma=F)
> Comp.hw2
Holt-Winters exponential smoothing without trend and without
seasonal component.
alpha: 0.2
beta : FALSE
gamma: FALSE
Coefficients:
[,1]
a 17.97913
> Comp.hw2$SSE
[1] 2526.39
Metode Holt-Winters
Jika data mempunyai trend dan musiman, maka kita bisa
menggunakan metode Holt-Winters.
Metode Holt-Winters berdasar pada smoothing pada tiga persamaan
yaitu level, trend dan musiman. Ada dua metode Holt-Winters, yakni:
1. untuk musiman yg aditif
2. untuk musiman yg multiplikatif
Biasanya:
Holt-Winters utk Seasonal Aditif
,  dan 
bernilai 0.2
level
at   xt  st  p  1   at 1  bt 1 


bt   at  at 1   1   bt 1
musiman st    xt  at   1   st  p
trend
a1 = x1
ramalan
b1 dan
(s1,...,sp)
diperoleh dari
dekomposisi
xˆn  k |n  an  kbn  sn  k  p untuk k  p
Holt-Winters utk Seasonal Multiplikatif
level
trend
 xt 
  1   at 1  bt 1 
at   
s 
 t p 
bt   at  at 1   1   bt 1
musiman
 xt
st   
 at

  1   st  p

ramalan
xˆn  k |n  an  kbn sn  k  p untuk k  p
Biasanya:
,  dan 
bernilai 0.2
a1 = x1
b1 dan
(s1,...,sp)
diperoleh dari
dekomposisi
Contoh: Data penjualan minuman anggur (bulanan) dari Jan 1980
sampai Jul 1995.
> www <- "http://www.massey.ac.nz/~pscowper/ts/wine.dat"
> wine.dat <- read.table(www, header = T) ; attach (wine.dat)
> sweetw.ts <- ts(sweetw, start = c(1980,1), freq = 12)
> plot(sweetw.ts, xlab= "Time (months)", ylab = "sales (1000 litres)")
500
400
300
200
100
sales (1000 litres)
600
Terdapat variasi musiman
 model multiplikatif
1980
1985
1990
Time (months)
1995
> sweetw.hw <- HoltWinters (sweetw.ts, seasonal = "mult")
> sweetw.hw ; sweetw.hw$coef ; sweetw.hw$SSE
Smoothing parameters:
alpha: 0.4086698
beta : 0
gamma: 0.4929402
Coefficients:
[,1]
a 285.6890314
b 1.3509615
s1 0.9498541
s2 0.9767623
s3 1.0275900
s4 1.1991924
s5 1.5463100
s6 0.6730235
s7
s8
s9
s10
s11
s12
0.8925981
0.7557814
0.8227500
0.7241711
0.7434861
0.9472648
SSE
[1] 477693.9
a, b dan (s1,...,s12)
adalah taksiran level,
trend dan efek
musiman multiplikatif
pada waktu yg
terakhir (n = 187), yg
akan digunakan utk
meramal ke depan
0.8
1.2
season
0.8
1.2
1.6
trend
100 200 300 400
level
100
300
xhat
500
> plot (sweetw.hw$fitted)
sweetw.hw$fitted
1985
1990
Time
1995
> plot (sweetw.hw)
400
300
200
100
Observed / Fitted
500
600
Holt-Winters filtering
1985
1990
Time
1995
Contoh: Ramalan penumpang pesawat empat tahun ke depan.
> data(AirPassengers)
> AP <- AirPassengers
> AP.hw <- HoltWinters(AP, seasonal = "mult")
> plot(AP.hw)
400
300
200
100
Observed / Fitted
500
600
Holt-Winters filtering
1950
1952
1954
1956
Time
1958
1960
100
200 300
400
500 600
700
800
> AP.predict <- predict(AP.hw, n.ahead = 4 * 12)
> ts.plot(AP, AP.predict, lty = 1:2)
1950
1955
1960
1965
Time
> AP.hw$alpha
alpha
0.2755925
> AP.hw$beta
beta
0.03269295
> AP.hw$gamma
gamma
0.8707292