Summary Day 1
- Data time series adalah data yang berhubungan dengan deret
waktu.
- Forecasting adalah prediksi data time series berdasarkan pola data
tersebut di masa lalu
- Syarat utama data time series:
- Data harus urut sesuai periode waktu dari data terlama sampai ke
data terbaru
- Interval waktunya harus tetap/sama
- Tidak boleh ada data yang terlewat untuk setiap interval
- Tidak boleh ada yang missing
- Untuk membuat object time series dapat menggunakan fungsi ts(data,
start, frequency)
- data : data yang ingin di forecast
- start : awal mula dari data time series
- frequency : pola berulang yang ingin diamati
- Proses EDA pada data time series:
- autoplot(objek_ts): plot data secara umum
- cek ada trend atau tidak
- cek ada seasonal atau tidak
- cek tipe pola, apakah additive/multiplicative
- additive : pola time series apabila trend bertambah, maka ukuran
seasonalnya sama X=T+S+E
- multiplicative : pola time series apabila trend bertambah, maka
ukuran seasonalnya semakin besar (amplitudo bertambah berkali lipat)
X=T∗S∗E
- decompose(objek_ts, type = “additive/multiplicative”): memecah data
ts menjadi 3 komponennya
- trend : pola general dari data, apakah naik atau turun
- seasonal : pola berulang atau pola musiman dari data
- random/error : pola yang belum bisa tertangkap oleh tren dan
seasonal
- Apabila data time series yang kita miliki terdapat pola
multiplicative, maka ada beberapa cara yang bisa kita gunakan yaitu
:
- melakukan transformasi menggunakan log() atau sqrt() agar pola
datanya menjadi additive. Hal ini akan sangat berguna apabila kita
memiliki data yang kurang tertangkap pola multiplicativenya
- tetap menjadikan multiplicative dan melanjutkan ke pemodelan time
series
- Kedua cara diatas dapat digunakan sebagai salah satu cara untuk
tunning model dalam analisis time series.
Summary Day 2
- Seasonality adjustment adalah proses analisis dengan cara
menghilangkan pola seasoanal pada data kita
- Tujuan pembuatan model time series adalah melakukan prediksi data di
masa yang akan datang berdasarkan pola data di masa lalu (forecast)
- Model-model yang dapat digunakan untuk forecasting:
- Single Moving Average (SMA)
- Exponential Smoothing
- Simple Exponential Smoothing (SES)
- Double Exponential Smoothing (Holts Exponential Smoothing)
- Triple Exponential Smoothing (Holts Winter)
- Autoregresive Integrated Moving Average (ARIMA)
- Single Moving Average adalah cara prediksi kasus time series paling
dasar, melakukan perata-rataan pada data kita sejumlah ordo yang
ditentukan. Fungsi yang digunakan adalah
SMA(),
parameternya:
- x : object ts yang ingin diprediksi
- n : ordo
- Exponential Smoothing
- Simple Exponential Smoothing -> untuk data tanpa seasonal dan
trend
- Holt Exponential / Double Exponential Smoothing -> untuk data
tanpa seasonal
- Holt Winter Exponential Smoothing / Triple Exponential Smoothing
-> untuk data dengan trend dan seasonal
- Fungsi yang bisa kita gunakan untuk melakukan exponential
smoothing
ets(), parameternya:
- y: object ts yang ingin diprediksi
- model: “***” -> error, trend, seasonal
- alpha: weight error
- beta: weight trend
- gamma: weight seasonal
HoltWinters(), parameternya:
- x: object ts
- alpha: weight error
- beta: weight trend
- gamma: weight seasonal
- seasonal: untuk menentukan pola data
Summary Day 3
- Metode forecast Exponential Smoothing yang digunakan untuk data
dengan trend dan seasonal yaitu metode Holt’s Winter Exponential
Smoothing
- Workflow forecasting data dengan metode exponential smoothing:
- read data
- cek karakteristik (syarat) data time series
- buat object time series dan EDA (visualisasikan data)
- decomposition
- splitting data
- train model
- forecast model
- visualisasi hasil dan evaluasi
- tuning model and repeat
- Metode ARIMA (Autoregressive Integrated Moving Average) adalah
gabungan dari metode Auto Regressive dan Moving Average. Syarat dari
metode ini adalah datanya harus bersifat stasioner.
- Stationarity data time series berarti data yang digunakan tidak
memiliki trend dan seasonal, serta variansinya konstan.
- Untuk mengubah data time series dengan trend dan seasonal agar
stasioner dapat menggunakan differencing (fungsi
diff())
yaitu mengurangi data di saat ini dengan data di waktu sebelumnya.
Differencing bisa lebih dari 1x tergantung kompleksitas data.
- Workflow forecasting dengan metode non seasonal ARIMA:
- read data
- cek karakteristik (syarat) data time series
- buat object time series dan EDA (visualisasikan data)
- decomposition
- splitting data
- lakukan pengujian stasioner dengan
adf.test()
- lakukan differencing jika dibutuhkan, catat berapa kali differencing
dilakukan
- buat model auto arima
- tuning model dengan mencari nilai p dan q menggunakan plot ACF dan
PACF
- bandingkan AIC antara beberapa model
- forecast model
- visualisasi hasil dan evaluasi
- cek asumsi
Summary Day 4
- Metode ARIMA untuk data time series dengan pola seasonal menggunakan
Seasonal ARIMA (SARIMA). Tahapan pada metode SARIMA hampir sama dengan
non seasonal ARIMA, tetapi diperlukan langkah tambahan yaitu melakukan
differencing komponen seasonal data.
- Pengecekan asumsi model time series menggunakan residual dari hasl
modeling. Nilai residual yang diharapkan:
- Residual yang tidak ber-autokorelasi, jika ada korelasi maka artinya
ada informasi yang tertinggal. Pengujian menggunakan
Box.test(residual_model, type = "Ljung-Box)
- Nilai rata-rata residual bernilai 0 (Berdistribusi normal).
Pengujian menggunakan
shapiro.test(residual_model)