Peramalan data mingguan
Untuk data mingguan, sulit menangani musiman menggunakan model ETS atau ARIMA karena panjang musimannya terlalu besar (sekitar 52). Sebagai gantinya, Anda dapat menggunakan regresi harmonik yang memanfaatkan fungsi sinus dan cosinus untuk memodelkan pola musiman.
Fungsi fourier() memudahkan pembuatan harmonik yang diperlukan. Semakin tinggi orde (\(K\)), semakin "bergelombang" pola musimannya. Dengan \(K=1\), polanya berupa kurva sinus sederhana. Anda dapat memilih nilai \(K\) dengan meminimalkan nilai AICc. Seperti yang Anda lihat di video, fourier() menerima deret waktu yang wajib, jumlah suku Fourier yang wajib untuk dibuat, dan jumlah baris opsional yang diperlukan untuk peramalan:
> # fourier(x, K, h = NULL)
> fit <- auto.arima(cafe, xreg = fourier(cafe, K = 6),
seasonal = FALSE, lambda = 0)
> fit %>%
forecast(xreg = fourier(cafe, K = 6, h = 24)) %>%
autoplot() + ylim(1.6, 5.1)
Data gasoline yang telah dimuat sebelumnya berisi data mingguan produk bensin motor jadi di AS. Pada latihan ini, Anda akan memasang regresi harmonik pada himpunan data ini dan meramalkan 3 tahun ke depan.
Latihan ini adalah bagian dari kursus
Peramalan di R
Petunjuk latihan
- Siapkan matriks
xregbernamaharmonicsmenggunakan metodefourier()padagasolinedengan orde \(K=13\) yang dipilih untuk meminimalkan AICc. - Pasang model regresi dinamis ke
fit. Aturxregsama denganharmonicsdanseasonalmenjadiFALSEkarena musiman ditangani oleh peubah penjelas. - Siapkan matriks
xregbaru bernamanewharmonicsdengan cara serupa, lalu hitung peramalan untuk tiga tahun ke depan sebagaifc. - Terakhir, plot peramalan
fc.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Set up harmonic regressors of order 13
harmonics <- fourier(___, K = ___)
# Fit regression model with ARIMA errors
fit <- auto.arima(___, xreg = ___, seasonal = ___)
# Forecasts next 3 years
newharmonics <- fourier(___, K = ___, h = ___)
fc <- forecast(___, xreg = ___)
# Plot forecasts fc
___