Harmonisk regression för flera säsongsmönster
Harmoniska regressioner är också användbara när tidsserier har flera säsongsmönster. Till exempel innehåller taylor halvtimmesvis elförbrukning i England och Wales under några månader år 2000. Säsongsperioderna är 48 (daglig säsongsvariation) och 7 x 48 = 336 (veckovis säsongsvariation). Det finns inte tillräckligt med data för att ta hänsyn till årlig säsongsvariation.
auto.arima() skulle ta lång tid att anpassa en så lång tidsserie som den här, så i stället anpassar du en vanlig regressionsmodell med Fourier-termer med hjälp av funktionen tslm(). Den liknar lm() men är utformad för att hantera tidsserier. Med flera säsongsmönster behöver du ange ordningen \(K\) för var och en av säsongsperioderna.
# The formula argument is a symbolic description
# of the model to be fitted
> args(tslm)
function (formula, ...)
tslm() är en nyligen introducerad funktion, så du bör kunna följa den färdigskrivna koden i stort sett utan svårighet. taylor-datan är inläst i din arbetsmiljö.
Den här övningen är en del av kursen
Prognoser i R
Övningsinstruktioner
- Anpassa en harmonisk regression kallad
fittilltaylormed ordning 10 för varje typ av säsongsvariation. - Prognostisera 20 arbetsdagar framåt som
fc. Kom ihåg att datan är halvtimmesvis när du anger rätt värde förh. - Skapa ett tidsdiagram över prognoserna.
- Kontrollera residualerna för din anpassade modell. Som du kan se hade
auto.arima()gett ett bättre resultat.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))
# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))
# Plot the forecasts
___
# Check the residuals of fit
___