ANALISIS DERET WAKTU Abdul Kudus, SSi., MSi., PhD. Selasa, 15.00 – 17.30 di R313 IO 12.20 – 14.50 di 206 Senin, 11.30 – 14.00 di 307B IO tambahan 10.00 – 12.30 di FMIPA
DEKOMPOSISI Notasi Data deret waktu dengan panjang pengamatan n atau cukup , jika panjang pengamatan sudah jelas. Rata-rata sampel Prediksi atau ramalan adalah ramalan yang dibuat pada waktu t untuk nilai ramalan pada waktu t+k
Model Dekomposisi aditif mt : trend st : efek musiman zt : error Jika efek musiman cenderung meningkat seiring peningkatan trend, model yang tepat adalah model multiplikatif (perkalian): Model aditif dalam log
Menaksir Trend dan Efek Musiman Menaksir trend mt pada waktu t dapat dilakukan dengan menghitung rata-rata bergerak (moving average) yang berpusat di t. Misal untuk data bulanan (periode 1 tahun atau 12 bulan) Taksiran efek aditif bulanan (musiman) Jika efek bulanannya multiplikatif Lalu ini dirata-ratakan utk bulan tertentu (misal Januari), sehingga kita dapatkan taksiran tunggal efek bulan tersebut (misal Januari). Adapun komponen random (residu) adalah
Membuat Dekomposisi dalam R (decompose) Contoh data LISTRIK. plot(decompose(Elec.ts)) Error-nya masih jelek (tidak acak)
Coba model Multiplikatif Elec.decom <- decompose(Elec.ts, type = "mult") plot(Elec.decom) Variasi errornya meningkat utk nilai trend yg besar
Trend <- Elec.decom$trend Seasonal <- Elec.decom$seasonal ts.plot(cbind(Elec.ts,Trend, Trend * Seasonal), col = 2:4) Data asli Taksiran Trend Taksiran Model
deadline Senin 17 Okt pukul 23.59 TUGAS: Bagian 1.7 Latihan No. 1 halaman 24 E-mail: akudus69@yahoo.com deadline Senin 17 Okt pukul 23.59
KORELASI Setelah kita lakukan dekomposisi, maka komponen random TIDAK PERLU dimodelkan dengan variabel acak yang bebas. Seringkali komponen random ini berkorelasi. Jika kita bisa mengidentifikasi korelasi tsb Ramalan akan lebih baik Struktur korelasi dari data deret waktu dimodelkan oleh fungsi korelasi. E(x) = rata-rata populasi dari x, yaitu = rata-rata populasi dari simpangan di sekitar , yang disebut dengan varians 2 = kovarians Kovarians merupakan ukuran hubungan linier antara dua variabel x dan y. Kovarians sampel adalah dalam R dihitung dengan cov
> www <- "http://www.massey.ac.nz/~pscowper/ts/Herald.dat" > Herald.dat <- read.table(www, header = T) > attach (Herald.dat) > x <- CO; y <- Benzoa; n <- length(x) > sum((x - mean(x))*(y - mean(y))) / (n - 1) [1] 5.511042 > mean((x - mean(x)) * (y - mean(y))) [1] 5.166602 > cov(x, y)
Penaksir yang bias Tidak spt kovarians yang mempunyai satuan, maka korelasi tidak mempunyai satuan (dimensionless) Korelasi sampel: dalam R menggunakan perintah cor > cov(x,y) / (sd(x)*sd(y)) [1] 0.3550973 > cor(x,y)
Ke-STASIONER-an Fungsi Varians Fungsi rata-rata populasi dari model deret waktu: Jika fungsi ini konstan, (t) = , maka model deret waktu tersebut adalah stasioner dalam rata-ratanya. Taksiran sampelnya: Fungsi Varians Fungsi varians bagi model deret waktu yg stasioner dalam rata-ratanya adalah: Jika fungsi ini konstan, 2(t) = 2, maka model deret waktu tersebut adalah stasioner dalam variansnya. Taksiran sampelnya:
Autokorelasi Dalam analisis deret waktu yang memegang peranan penting adalah: 1) rata-rata, 2) varians dan 3) korelasi serial (autokorelasi) Bagi model deret waktu yang stasioner dalam rata-rata dan varians, antar pengamatan mungkin berkorelasi dan ia dikatakan stasioner berderajat dua (second-order stationarity), jika autokorelasinya hanya tergantung dari selisih lag-nya. Jika deret waktu bersifat stasioner berderajat dua, maka fungsi autokovarians (autocovariance = acvf), k, didefinisikan sbg: tidak tergantung dari t Fungsi autokorelasi (acf) lag k, k, adalah Selanjutnya istilah stasioner berderajat dua cukup disebut “stasioner” saja.
Taksiran sampel bagi: 1. acvf adalah ck, yaitu: Keterangan: penyebutnya adalah n, meskipun banyaknya pasangan yang terlibat dalam penghitungan ada sebanyak n k 2. acf adalah rk, yaitu: varians
Contoh: > www <- "http://www.massey.ac.nz/~pscowper/ts/wave.dat" > wave.dat <- read.table (www, header=T) > attach(wave.dat) > layout(1:2) > plot(ts(waveht)) > plot(ts(waveht[1:60]))
> plot(waveht[1:395],waveht[2:396]) > abline(h=0) > abline(v=0)
Dalam R, nilai autokorelasi dan autokovarians dihitung dgn perintah acf. > acf(waveht)$acf [,1] [1,] 1.000000000 [2,] 0.470256396 [3,] -0.262911528 [4,] -0.498917020 [5,] -0.378706643 [6,] -0.214992933 [7,] -0.037917306 [8,] 0.177644329 [9,] 0.269315275 [10,] 0.130385337 dst r1 r2 r3 r4 r5 r6 r7 r8 r9
> acf(waveht,type = c("covariance"))$acf [,1] [1,] 70872.8002 [2,] 33328.3876 [3,] -18633.2762 [4,] -35359.6463 [5,] -26840.0002 [6,] -15237.1512 [7,] -2687.3057 [8,] 12590.1510 [9,] 19087.1277 [10,] 9240.7739 dst... c0 = varians c1 c2 c3 c4 c5 c6 c7 c8 c9
Korelogram Hasil utama dari perintah acf sebenarnya adalah plot dari rk versus k, yang disebut korelogram. > acf(waveht) Jika k = 0, distribusi sampling dari rk akan mendekati Sehingga konfiden interval-nya yaitu Jadi jika terdapat nilai rk yang di luar batas, maka artinya nilai autokorelasinya signifikan (k 0)