Začněte nyníZačněte zdarma

Harmonická regrese pro vícenásobnou sezónnost

Harmonické regrese jsou užitečné i v případech, kdy časová řada vykazuje více sezónních vzorů. Například taylor obsahuje půlhodinové hodnoty spotřeby elektřiny v Anglii a Walesu za několik měsíců roku 2000. Sezónní periody jsou 48 (denní sezónnost) a 7 × 48 = 336 (týdenní sezónnost). Data nejsou dostatečně dlouhá, aby bylo možné uvažovat o roční sezónnosti.

auto.arima() by na tak dlouhé časové řadě trvalo velmi dlouho, proto místo toho natrénuješ standardní regresní model s Fourierovými členy pomocí funkce tslm(). Ta funguje podobně jako lm(), ale je navržena speciálně pro práci s časovými řadami. Při vícenásobné sezónnosti je třeba zadat řád \(K\) pro každou ze sezónních period.

# Argument formula je symbolický popis
# modelu, který má být natrénován

> args(tslm)
function (formula, ...)

tslm() je nově zavedená funkce, takže předpřipravený kód bys měl/a být schopen/schopna z velké části sledovat bez potíží. Data taylor jsou načtena do tvého pracovního prostředí.

Toto cvičení je součástí kurzu

Forecasting v R

Zobrazit kurz

Pokyny k cvičení

  • Natrénuj harmonickou regresi s názvem fit na datech taylor s řádem 10 pro každý typ sezónnosti.
  • Vytvoř předpověď na 20 pracovních dní dopředu jako fc. Nezapomeň, že data jsou půlhodinová – správně nastav hodnotu h.
  • Vytvoř časový graf předpovědí.
  • Zkontroluj rezidua natrénovaného modelu. Jak uvidíš, auto.arima() by si poradilo lépe.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
___
Upravit a spustit kód