BaşlayınÜcretsiz başlayın

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

Kursa Göz Atın

Egzersiz talimatları

  • AICc'yi en aza indirecek şekilde seçilmiş K=13 ile gasoline üzerinde fourier() yöntemini kullanarak harmonics adlı bir xreg matrisi kur.
  • fit için dinamik bir regresyon modeli kur. xreg'i harmonics'e eşitle ve mevsimsellik kestiriciler tarafından ele alındığı için seasonalFALSE yap.
  • Benzer şekilde newharmonics adlı yeni bir xreg matrisi kur ve ardından sonraki üç yılın tahminlerini fc olarak hesapla.
  • Son olarak, fc tahminlerini 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
___
Kodu Düzenle ve Çalıştır