1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Forecasting v R

Connected

cvičení

Porovnání auto.arima() a ets() na nesezónních datech

Statistika AICc se hodí pro výběr mezi modely stejné třídy – například pro porovnání modelů ETS navzájem nebo modelů ARIMA navzájem. Nelze ji však použít pro srovnání modelů ETS a ARIMA, protože patří do různých tříd modelů.

Místo toho můžeš použít křížovou validaci časových řad a porovnat model ARIMA s modelem ETS na datech austa. Protože tsCV() vyžaduje funkce vracející objekty s předpovědí, připravíš si jednoduché funkce, které modely natrénují a vrátí předpovědi. Argumenty funkce tsCV() jsou časová řada, předpovědní funkce a horizont předpovědi h. Prohlédni si tento úryvek kódu z druhé kapitoly:

e <- matrix(NA_real_, nrow = 1000, ncol = 8)
for (h in 1:8)
  e[, h] <- tsCV(goog, naive, h = h)
  ...

Měj také na paměti, že operátor pipe v R vezme hodnotu z levé strany a předá ji jako argument tomu, co je napravo – krok za krokem, zleva doprava. Tady je příklad z předchozí kapitoly:

# Plot 20-year forecasts of the lynx series modeled by ets()
lynx %>% ets() %>% forecast(h = 20) %>% autoplot()

V tomto cvičení porovnáš MSE dvou předpovědních funkcí aplikovaných na austa a vykreslíš předpovědi té funkce, která vychází lépe. Datová sada austa je opět načtena ve tvém pracovním prostředí.

Pokyny

100 XP
  • Doplň funkci farima() tak, aby vracela předpovědi modelu auto.arima(). Řiď se strukturou předpřipravené funkce fets(), která dělá totéž pro ets().
  • Pomocí tsCV() vypočítej křížově validované chyby pro modely ETS na datech austa s jednokrokovými chybami a výsledek ulož do e1.
  • Pomocí tsCV() vypočítej křížově validované chyby pro modely ARIMA na datech austa s jednokrokovými chybami a výsledek ulož do e2.
  • Vypočítej křížově validované MSE pro každou třídu modelů a odstraň chybějící hodnoty. Pokud si nepamatuješ, jak MSE spočítat, nahlédni do předchozí kapitoly.
  • Vytvoř a vykresli 10letou předpověď budoucích hodnot austa pomocí nejlepší třídy modelů.