Haftalık verileri tahmin etme
Haftalık verilerde, mevsimselliği ETS veya ARIMA modelleriyle ele almak zordur çünkü mevsim uzunluğu çok büyüktür (yaklaşık 52). Bunun yerine, mevsimselliği sinüs ve kosinüslerle modelleyen harmonik regresyonu kullanabilirsin.
fourier() fonksiyonu, gereken harmonikleri üretmeyi kolaylaştırır. Düzey (K) yükseldikçe mevsimsel desenin kıvrımlılığı artar. K=1 olduğunda basit bir sinüs eğrisidir. K değerini, AICc değerini en aza indirerek seçebilirsin. Videoda gördüğün gibi, fourier() zorunlu bir zaman serisi, üretilecek zorunlu Fourier terimi sayısı ve opsiyonel olarak tahmin için gerekli satır sayısını alır:
> # 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)
Önceden yüklenmiş gasoline verileri, ABD'de nihai motor benzini ürünlerine ait haftalık verilerden oluşur. Bu egzersizde, bu veri kümesine bir harmonik regresyon kurup sonraki 3 yılı tahmin edeceksin.
Bu egzersiz, kursun bir parçasıdır
R ile Tahminleme
Egzersiz talimatları
- AICc'yi en aza indirecek şekilde seçilmiş K=13 ile
gasolineüzerindefourier()yöntemini kullanarakharmonicsadlı birxregmatrisi kur. fitiçin dinamik bir regresyon modeli kur.xreg'iharmonics'e eşitle ve mevsimsellik kestiriciler tarafından ele alındığı içinseasonal'ıFALSEyap.- Benzer şekilde
newharmonicsadlı yeni birxregmatrisi kur ve ardından sonraki üç yılın tahminlerinifcolarak hesapla. - Son olarak,
fctahminlerini görselleştir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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
___