Prognozowanie rezerwacji połączeń
Kolejnym szeregiem czasowym z wieloma okresami sezonowości jest calls, który zawiera dane o 5-minutowym wolumenie połączeń z 20 kolejnych dni dla dużego północnoamerykańskiego banku. W jednym dniu roboczym mieści się 169 pięciominutowych przedziałów, więc tygodniowa częstotliwość sezonowa wynosi 5 × 169 = 845. Sezonowość tygodniowa jest stosunkowo słaba, dlatego w tym ćwiczeniu modelujesz wyłącznie sezonowość dzienną. Zbiór calls jest już wczytany do twojego środowiska.
Reszty w tym przypadku nadal nie przechodzą testów na biały szum, jednak ich autokorelacje są znikome – mimo że są istotne statystycznie. Wynika to z dużej długości szeregu. W przypadku tak długich szeregów uzyskanie reszt spełniających wymogi testów jest często nierealistyczne. Wpływ pozostałych korelacji na prognozy będzie pomijalny.
To ćwiczenie jest częścią kursu
Prognozowanie w R
Instrukcje do ćwiczenia
- Wykreśl dane
calls, aby zobaczyć wyraźną sezonowość dzienną i słabą sezonowość tygodniową. - Przygotuj macierz
xreg, używając rzędu10dla sezonowości dziennej i0dla sezonowości tygodniowej. Uwaga: niepoprawne zdefiniowanie wektora może spowodować wygaśnięcie sesji! - Dopasuj model regresji dynamicznej o nazwie
fit, używając funkcjiauto.arima()z parametramiseasonal = FALSEistationary = TRUE. - Sprawdź reszty dopasowanego modelu.
- Utwórz prognozy na 10 dni roboczych do przodu jako obiekt
fc, a następnie wykreśl je. Opis ćwiczenia pomoże ci ustalić właściwą wartośćh.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Plot the calls data
___
# Set up the xreg matrix
xreg <- fourier(___, K = ___)
# Fit a dynamic regression model
fit <- auto.arima(___, xreg = ___, ___, ___)
# Check the residuals
___
# Plot forecasts for 10 working days ahead
fc <- forecast(fit, xreg = fourier(calls, c(10, 0), h = ___))
___