Regresi harmonik untuk multi-musiman
Regresi harmonik juga bermanfaat ketika deret waktu memiliki beberapa pola musiman. Sebagai contoh, taylor berisi permintaan listrik per setengah jam di Inggris dan Wales selama beberapa bulan pada tahun 2000. Periode musiman adalah 48 (musiman harian) dan 7 x 48 = 336 (musiman mingguan). Tidak ada cukup data untuk mempertimbangkan musiman tahunan.
auto.arima() akan memerlukan waktu lama untuk menyesuaikan deret waktu yang panjang seperti ini, sehingga sebagai gantinya Anda akan menyesuaikan model regresi standar dengan suku Fourier menggunakan fungsi tslm(). Ini sangat mirip dengan lm() tetapi dirancang untuk menangani deret waktu. Dengan multi-musiman, Anda perlu menentukan orde \(K\) untuk masing-masing periode musiman.
# Argumen formula adalah deskripsi simbolik
# dari model yang akan dipasangkan
> args(tslm)
function (formula, ...)
tslm() adalah fungsi yang baru diperkenalkan, jadi Anda seharusnya dapat mengikuti sebagian besar kode yang sudah ditulis. Data taylor telah dimuat ke ruang kerja Anda.
Latihan ini adalah bagian dari kursus
Peramalan di R
Petunjuk latihan
- Sesuaikan regresi harmonik bernama
fitpadataylordengan orde 10 untuk setiap jenis musiman. - Buat peramalan 20 hari kerja ke depan sebagai
fc. Ingat bahwa data bersifat per setengah jam agar Anda menetapkan nilaihyang benar. - Buat plot waktu dari peramalan tersebut.
- Periksa residual dari model yang Anda pasangkan. Seperti yang dapat Anda lihat,
auto.arima()akan memberikan hasil yang lebih baik.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))
# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))
# Plot the forecasts
___
# Check the residuals of fit
___