ANALISIS DERET WAKTU Ganjil 2011 kuliah ke-4

Download Report

Transcript ANALISIS DERET WAKTU Ganjil 2011 kuliah ke-4

ANALISIS DERET WAKTU
Abdul Kudus, SSi., MSi., PhD.
Selasa, 15.00 – 17.30 di R313
Korelogram
Hasil utama dari perintah acf sebenarnya adalah plot dari rk versus k,
yang disebut korelogram.
Jika k = 0, distribusi sampling
dari rk akan mendekati
Series waveht
1.0
> acf(waveht)
 1 1
Normal   , 
 n n
ACF
0.5
Sehingga konfiden interval
95%-nya:
0.0

1
-0.5
n
0
5
10
15
Lag
20
25
 2 var
yaitu

1
n

2
n
Jadi jika terdapat nilai rk
yang di luar batas, maka
artinya nilai autokorelasinya
signifikan (k  0)
Makna bentuk korelogram:
1. Jika berbentuk fungsi cosinus, maka deret waktunya mempunyai
model autoregressif berderajat 2, AR(2).
2. Jika berbentuk peluruhan lambat  trend
3. Jika berbentuk peluruhan eksponensial  AR(1)
Catatan: Penggunaan utama dari korelogram adalah utk melihat
autokorelasi, SETELAH trend dan variasi musiman-nya
dibuang (tinggal komponen random saja).
Contoh: Data Penumpang Pesawat Terbang
1.05
1.00
0.95
0.90
ts(AP.decom$random[7:138])
1.10
-musimannya dibuang
> data(AirPassengers)
-trend-nya dibuang
> AP <- AirPassengers
> AP.decom <- decompose(AP, "multiplicative")
> plot(ts(AP.decom$random[7:138]))
0
20
40
60
Time
80
100
120
> acf(AP.decom$random[7:138])
1.0
Series AP.decom$random[7:138]
0.4
0.2
0.0
-0.2
ACF
0.6
0.8
ACF berpola cosinus,
menunjukkan model
AR(2)
0
5
10
Lag
15
20
Contoh: Data Font Reservoir
Ini adalah data debit air masuk ke bendungan utk periode Jan 1909
sampai Des 1980.
> www <- "http://www.massey.ac.nz/~pscowper/ts/Fontdsdt.dat"
> Fontdsdt.dat <- read.table(www, header=T)
> attach(Fontdsdt.dat)
> plot(ts(adflow), ylab = 'adflow')
1.5
0.5
-0.5
adflow
2.5
Data adflow ini sebenarnya hanya data residu yang diperoleh setelah
musiman dan trend-nya dibuang.
0
200
400
600
Time
800
> acf(adflow, xlab = 'lag (months)', main="")
0.4
signifikan pada lag 1
0.0
0.2
ACF
0.6
0.8
1.0
Korelogramnya sbb:
0
5
10
15
20
25
30
lag (months)
ACF yang berpola peluruhan eksponensial menunjukkan model AR(1)
Kovarians dari Jumlah Variabel Acak
Misal x1, x2, ..., xn dan y1, y2, ..., yn adalah variabel acak, maka
Ini menunjukkan bhw kovarians dari dua jumlah variabel acak adalah
jumlah dari semua kemungkinan kovarians pasangan variabel acak.
Strategi Peramalan
Tujuan
Bisnis bergantung kepada ramalan penjualan utk:
1. perencanaan produksi
2. keputusan melakukan pemasaran
3. panduan utk melakukan pengembangan
Metode yang paling efisien utk meramal satu variabel adalah:
1. mencari variabel terkait yang mengarahkan variabel tsb dengan
jeda satu atau lebih . Semakin erat kaitan kedua variabel tsb dan
semakin panjang jeda waktunya, maka semakin baik strateginya.
2. menggunakan informasi ttg penjualan barang yang sama di masa
lalu.
3. melakukan ekstrapolasi berdasarkan trend saat ini.
Variabel yang Mengarahkan dan Variabel yang Berkaitan
Biro Statistik Australia mengumumkan data:
1. Hunian yang disetujui utk dibangun tiap bulan
2. Nilai (juta AU$) hunian yg berhasil dibangun (beberapa minggu
setelahnya)
Kemudian data tsb di-agregat-kan menjadi data kuartalan, yakni
sejak Maret 1996 sampai September 2006.
> www <- "http://www.massey.ac.nz/~pscowper/ts/ApprovActiv.dat"
> Build.dat <- read.table(www, header=T) ; attach(Build.dat)
> App.ts <- ts(Approvals, start = c(1996,1), freq=4)
> Act.ts <- ts(Activity, start = c(1996,1), freq=4)
> ts.plot(App.ts, Act.ts, lty = c(1,3))
16000
14000
12000
10000
8000
6000
1996
1998
2000
2002
2004
2006
Time
Terlihat bahwa pola “garis hitam” mengarahkan “garis putus-putus”,
dengan lag 1 kuartal.
Fungsi korelasi-silang (cross-correlation function, ccf) dapat
menjelaskan hubungan ini.
Korelasi-silang
Misal ada variabel x dan y yg bersifat stasioner dalam rata-rata dan
varians. Kedua variabel tsb mempunyai autokorelasi dan juga saling
berkorelasi satu sama lain dengan lag yang berbeda.
Fungsi kovarians silang (cross covariance function, ccvf)
Variabel x mendahului y sebesar k lag.
Fungsi korelasi-silang (cross-correlation function, ccf)
ccvf sampel:
ccf sampel:
Korelasi-silang antara Jumlah Hunian dan Nilai Hunian
> acf(ts.union(App.ts, Act.ts))
Perintah ts.union akan menggabungkan data deret waktu yang punya
frekuensi yg sama. Jika diberi perintah acf, maka akan menghasilkan
plot acf dan ccf.
-0.2 0.4 1.0
App.ts & Act.ts
-0.2 0.4 1.0
0.5
1.0
1.5
2.0
2.5
3.0
0.0
1.0
1.5
2.0
Lag
Act.ts & App.ts
Act.ts
2.5
3.0
2.5
3.0
-0.2 0.4
-0.2 0.4
ACF
0.5
Lag
1.0
0.0
1.0
ACF
App.ts
-3.0
-2.5
-2.0
-1.5
Lag
-1.0
-0.5
0.0
0.0
0.5
1.0
1.5
Lag
2.0
> print(acf(ts.union(App.ts,
Act.ts)))
signifikan
, , App.ts
, , Act.ts
App.ts
Act.ts
1.000 ( 0.00) 0.432 ( 0.00)
0.808 ( 0.25) 0.494 (-0.25)
0.455 ( 0.50) 0.499 (-0.50)
0.138 ( 0.75) 0.458 (-0.75)
-0.057 ( 1.00) 0.410 (-1.00)
-0.109 ( 1.25) 0.365 (-1.25)
-0.073 ( 1.50) 0.333 (-1.50)
-0.037 ( 1.75) 0.327 (-1.75)
-0.050 ( 2.00) 0.342 (-2.00)
-0.087 ( 2.25) 0.358 (-2.25)
-0.122 ( 2.50) 0.363 (-2.50)
-0.174 ( 2.75) 0.356 (-2.75)
-0.219 ( 3.00) 0.298 (-3.00)
-0.196 ( 3.25) 0.218 (-3.25)
App.ts
Act.ts
0.432 ( 0.00) 1.000 ( 0.00)
0.269 ( 0.25) 0.892 ( 0.25)
0.133 ( 0.50) 0.781 ( 0.50)
0.044 ( 0.75) 0.714 ( 0.75)
-0.002 ( 1.00) 0.653 ( 1.00)
-0.034 ( 1.25) 0.564 ( 1.25)
-0.084 ( 1.50) 0.480 ( 1.50)
-0.125 ( 1.75) 0.430 ( 1.75)
-0.139 ( 2.00) 0.381 ( 2.00)
-0.148 ( 2.25) 0.327 ( 2.25)
-0.156 ( 2.50) 0.264 ( 2.50)
-0.159 ( 2.75) 0.210 ( 2.75)
-0.143 ( 3.00) 0.157 ( 3.00)
-0.118 ( 3.25) 0.108 ( 3.25)
Seharusnya ccf dihitung dari data yang sudah stasioner. Oleh karena
itu data tadi kita buang efek musiman dan trend-nya. Dalam hal ini
menggunakan metode dekomposisi, maka kita hanya mengambil
komponen randomnya saja.
> app.ran <- decompose(App.ts)$random
> app.ran.ts <- window (app.ran,start=c(1996,3),end=c(2006,1))
> act.ran <- decompose (Act.ts)$random
> act.ran.ts <- window (act.ran,start=c(1996,3),end=c(2006,1))
> acf (ts.union(app.ran.ts, act.ran.ts))
0.5
0.0
-0.5
-0.5
0.0
ACF
0.5
1.0
app.ran.ts & act.ran.ts
1.0
app.ran.ts
0.5
1.0
1.5
2.0
2.5
3.0
0.0
0.5
1.0
1.5
2.0
Lag
act.ran.ts & app.ran.ts
act.ran.ts
2.5
3.0
2.5
3.0
0.5
0.0
-0.5
-0.5
0.0
ACF
0.5
1.0
Lag
1.0
0.0
-3.0
-2.5
-2.0
-1.5
Lag
-1.0
-0.5
0.0
0.0
0.5
1.0
1.5
Lag
2.0
> ccf (app.ran.ts, act.ran.ts)
0.2
0.0
-0.2
-0.4
ACF
0.4
0.6
app.ran.ts & act.ran.ts
-3
-2
-1
0
Lag
1
2
3
> print(acf(ts.union(app.ran.ts, act.ran.ts)))
, , app.ran.ts
app.ran.ts
1.000 ( 0.00)
0.427 ( 0.25)
-0.324 ( 0.50)
-0.466 ( 0.75)
-0.401 ( 1.00)
-0.182 ( 1.25)
0.196 ( 1.50)
0.306 ( 1.75)
0.078 ( 2.00)
-0.042 ( 2.25)
0.078 ( 2.50)
0.027 ( 2.75)
-0.226 ( 3.00)
, , act.ran.ts
act.ran.ts
0.144 ( 0.00)
0.699 (-0.25)
0.497 (-0.50)
-0.164 (-0.75)
-0.336 (-1.00)
-0.124 (-1.25)
-0.031 (-1.50)
-0.050 (-1.75)
-0.002 (-2.00)
-0.087 (-2.25)
-0.042 (-2.50)
0.272 (-2.75)
0.271 (-3.00)
app.ran.ts
0.144 ( 0.00)
-0.380 ( 0.25)
-0.409 ( 0.50)
-0.247 ( 0.75)
0.084 ( 1.00)
0.346 ( 1.25)
0.056 ( 1.50)
-0.187 ( 1.75)
0.060 ( 2.00)
0.142 ( 2.25)
-0.080 ( 2.50)
-0.225 ( 2.75)
-0.115 ( 3.00)
act.ran.ts
1.000 ( 0.00)
0.240 ( 0.25)
-0.431 ( 0.50)
-0.419 ( 0.75)
-0.037 ( 1.00)
0.211 ( 1.25)
0.126 ( 1.50)
-0.190 ( 1.75)
-0.284 ( 2.00)
0.094 ( 2.25)
0.378 ( 2.50)
0.187 ( 2.75)
-0.365 ( 3.00)
Contoh: Supply Minyak dan Gas
• Supplier minyak dan gas harus membuat pesanan kepada
pengeboran lepas pantai 24 jam di muka.
• Konsumsi minyak dan gas tergantung dari suhu, kelembaban dan
kecepatan angin (cuaca)
Dengan semakin baiknya metode peramalan cuaca, maka akan
memudahkan supplier dalam membuat pesanan minyak dan gas.