Pada percobaan kali ini dalam mata kuliah Knowledge Learning dan data mining akan memcoba seperti apa penerapan time series pada R. Berdasarkan Yanchang Zhao pada bukunya R and Data Mining dijelaskan secara singkat seperti apa dere waktu pada R dan juga bagaimana membangun model ARIMA di R untuk memprediksi masa depan.
Disini terdapat Class Ts yang menunjukkan 7 indikator deret waktu yang terdiri dari data mingguan, lalu 12 dan 4 masing-masing menunjukkan data bulanan dan data triwulan. Sebuah contoh dimana akan dipanggil deret waktu dengan 30 nilai (1-30). Frequency=12 and start=c(2011,3) dimana data seri tersebut dimulai dari Maret 2011
a <- ts(1:30, frequency=12, start=c(2011,3))
print(a)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2011 1 2 3 4 5 6 7 8 9 10
## 2012 11 12 13 14 15 16 17 18 19 20 21 22
## 2013 23 24 25 26 27 28 29 30
str(a)
## Time-Series [1:30] from 2011 to 2014: 1 2 3 4 5 6 7 8 9 10 ...
attributes(a)
## $tsp
## [1] 2011.167 2013.583 12.000
##
## $class
## [1] "ts"
Melalui perintah str kita dapat melihat struktur data tersebut yang ditunjukkan bahwa data range nya dari 1-30 dan dimulai dari tahun 2011 sampai 2014 serta atribut yang ada pada data tersebut.
Berikutnya time series decomposition dimana akan mengurakan sebuah data dari time series untuk dijadikan data sesuai tren, data musiman (Seasonal), siklus data asli dan data yang tidak teratur. Contoh yang ada pada buku R and Data Mining terdapat sebuah data time series AirPassangers yang digunakan untuk contoh komposisi. data tersebut terdiri dari total penumpang bulanan pada maskapai mulai dari tahun 1749 sampai 1960 dan terdapat 144 nilai dari data tersebut
plot(AirPassengers)
Selanjutnya akan mencoba fungsi decompose() untuk memecah data menjadi berbagai komponen variabel
apts <- ts(AirPassengers, frequency=12) #mendecompose data AirPassangers menjadi 12
f <- decompose(apts) #merubah data menjadi data musiman (Seasonal)
f$figure
## [1] -24.748737 -36.188131 -2.241162 -8.036616 -4.506313 35.402778
## [7] 63.830808 62.823232 16.520202 -20.642677 -53.593434 -28.619949
plot(f$figure, type="b", xaxt="n", xlab="")
monthNames <- months(ISOdate(2011,1:12,1))
axis(1, at=1:12, labels=monthNames, las=2)
Grafik diatas menunjukkan hasil data yang sudah didecompose menjadi data sesuai musim (Seasonal Component)
plot(f)
dengan perintah plot() maka data AirPassanger yang sudah dicompose akan ditampilkan dengan beberapa variabel yang berbeda sesuai dengan 4 jenis sesuai data asli (Observed), Trend, data musiman (seasonal), data tidak teratur (Random)
Referensi Yanchang Zhao. R and Data Mining: Examples and Case Studies, 2012, https://www.researchgate.net/publication/234170069_R_and_Data_Mining_Examples_and_Case_Studies