Abdul Kudus, SSi., MSi., PhD. Jumat, 15.40 – 18.10 ANALISIS DERET WAKTU Abdul Kudus, SSi., MSi., PhD. Jumat, 15.40 – 18.10
PLOT, TREND dan VARIASI MUSIMAN 1. Data Penumpang Pesawat Terbang AP.XLSX Lihat Plotnya (Misal menggunakan software R) 1. Buka file Excel 2. Copy kolom data ke dalam clipboard (ctrl-C) 3. Di dalam R AP <- scan() paste clipboard (ctrl+v) enter Ubah menjadi data jenis deret waktu (ts = time series) AP <- ts(AP, start=c(1949,1), freq=12) Buat plotnya plot(AP, ylab="Penumpang (1000-an)")
“Gambar lebih bermakna daripada seribu kata-kata” Trend: perubahan sistematik yang tidak tampak periodik Summer Nov (Autumn) Feb (winter) Variasi Musiman: pola berulang dalam tiap tahun (periode)
Untuk mendapatkan gambaran yang jelas dari trend, maka efek musimannya dapat dibuang dengan cara meng-agregat-kan data menjadi data tahunan. Untuk mendapatkan ringkasan data setiap bulan bisa digunakan boxplot. Di dalam R layout(1:2) plot(aggregate(AP)) boxplot(AP ~ cycle(AP))
Trend meningkat Data Penumpang Tahunan Pengaruh bulanan Boxplot tiap bulan
2. Data Pengangguran Maine.XLSX Data ini juga ada di web-nya buku Introductory Time Series with R. Data tersebut dalam format text ASCII dan bisa dibaca langsung dari web tsb dengan R. www <- "http://www.massey.ac.nz/~pscowper/ts/Maine.dat" Maine.month <- read.table(www, header = TRUE) #akses langsung ke kolom datanya attach(Maine.month) #ubah menjadi data berjenis data time series Maine.month.ts <- ts(unemploy, start = c(1996, 1), freq = 12) #kita bisa buat data agregat (rata-rata) tahunannya Maine.annual.ts <- aggregate(Maine.month.ts)/12 #Buat plot data bulanan dan tahunannya layout(1:2) plot(Maine.month.ts, ylab = "unemployed (%)") plot(Maine.annual.ts, ylab = "unemployed (%)")
Pengangguran Rata-rata Tahunan Feb Rata-rata 1996 Agu Pengangguran Bulanan Pengangguran Rata-rata Tahunan
Kita bisa mengambil data bulan tertentu saja dgn window. > Maine.Feb <- window(Maine.month.ts, start = c(1996,2), freq = TRUE) > Maine.Aug <- window(Maine.month.ts, start = c(1996,8), freq = TRUE) > Feb.ratio <- mean(Maine.Feb) / mean(Maine.month.ts) > Aug.ratio <- mean(Maine.Aug) / mean(Maine.month.ts) > Feb.ratio [1] 1.222529 > Aug.ratio [1] 0.8163732 22% lebih tinggi 18% lebih rendah
3. Data Deret Waktu Multiple: Data Cokelat, Bir dan Listrik CBE.XLSX Data tersebut dibaca langsung dari web dengan R. www <- "http://www.massey.ac.nz/~pscowper/ts/cbe.dat" CBE <- read.table(www, header = T) #Buat data deret waktu tunggal utk setiap variabel Elec.ts <- ts(CBE[, 3], start = 1958, freq = 12) Beer.ts <- ts(CBE[, 2], start = 1958, freq = 12) Choc.ts <- ts(CBE[, 1], start = 1958, freq = 12) #Buat plotnya plot(cbind(Elec.ts, Beer.ts, Choc.ts), main="Produksi Cokelat, Bir dan Listrik")
Semua meningkat, karena jumlah penduduk meningkat
4. Nilai Kurs Kuartalan: £ versus NZ$ Pound_NZ.XLSX Data tersebut dibaca langsung dari web dengan R. > www <- "http://www.massey.ac.nz/~pscowper/ts/pounds_nz.dat" > Z <- read.table(www, header = T) #Ubah menjadi jenis time series > Z.ts <- ts(Z, st = 1991, fr = 4) #Buat plotnya > plot(Z.ts, xlab = "Waktu / Tahun",ylab = "Kurs Kuartalan $NZ / pound")
Berpotensi terjadi salah ramalan
5. Suhu Global GLOBAL.XLSX Data tersebut dibaca langsung dari web dengan R. www <- "http://www.massey.ac.nz/~pscowper/ts/global.dat" Global <- scan(www) #Ubah menjadi data time series Global.ts <- ts(Global, st = c(1856, 1), end = c(2005, 12),fr = 12) #Ubah menjadi data rata-rata tahunan Global.annual <- aggregate(Global.ts, FUN = mean) #Plot layout(1:2) plot(Global.ts) plot(Global.annual)
Fenomena global warming mulai 1970-an
Ekstrak data tahun 1970 – 2005 (36 tahun) New.series <- window(Global.ts, start=c(1970, 1), end=c(2005, 12)) New.time <- time(New.series) plot(New.series); abline(reg=lm(New.series ~ New.time))
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) Taksiran efek aditif bulanan (musiman) Jika efek bulanannya multiplikatif
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