Reserveringen voor telefoontjes voorspellen
Een andere tijdreeks met meerdere seizoensperioden is calls, met 20 opeenvolgende dagen aan 5‑minutenbelvolumedata voor een grote Noord-Amerikaanse bank. Er zijn 169 5‑minutenintervallen op een werkdag, dus de wekelijkse seizoensfrequentie is 5 x 169 = 845. De wekelijkse seizoensinvloed is relatief zwak, dus je modelleert hier alleen dagelijkse seizoensinvloeden. calls is alvast in je werkruimte geladen.
De residuen slagen in dit geval nog steeds niet voor de white-noise-tests, maar hun autocorrelaties zijn heel klein, ook al zijn ze significant. Dat komt doordat de reeks zo lang is. Voor zulke lange reeksen is het vaak niet realistisch om residuen te hebben die voor alle tests slagen. Het effect van de overblijvende correlaties op de voorspellingen is verwaarloosbaar.
Deze oefening maakt deel uit van de cursus
Voorspellen in R
Oefeninstructies
- Plot de
calls-data om de sterke dagelijkse en zwakke wekelijkse seizoensinvloeden te zien. - Stel de
xreg-matrix in met orde10voor dagelijkse seizoensinvloeden en0voor wekelijkse seizoensinvloeden. Let op: als je je vector onjuist opgeeft, kan je sessie verlopen! - Pas een dynamisch regressiemodel
fitmetauto.arima()toe metseasonal = FALSEenstationary = TRUE. - Controleer de residuen van het gefitte model.
- Maak de voorspellingen voor 10 werkdagen vooruit als
fcen plot deze vervolgens. De beschrijving van de oefening helpt je de juiste waarde vanhte bepalen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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 = ___))
___