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

Connected

cvičení

Vyhodnocení přesnosti předpovědí pro nesezónní metody

V datové vědě se trénovací sada používá k odhalení možných vztahů v datech. Testovací sada pak slouží k ověření síly těchto vztahů. Při rozdělení dat obvykle vyhradíš větší část pro trénování a menší část pro testování.

Pro vytvoření trénovací a testovací sady můžeš použít funkci subset(), která vrátí podmnožinu časové řady. Volitelné argumenty start a end se zadávají jako indexové hodnoty.

> # x is a numerical vector or time series
> # To subset observations from 101 to 500
> train <- subset(x, start = 101, end = 500, ...)

> # To subset the first 500 observations
> train <- subset(x, end = 500, ...)

Jak jsi viděl/a ve videu, funkce accuracy() vypočítá různé statistiky přesnosti předpovědí na základě předpovědí a odpovídajících skutečných hodnot. Je dostatečně chytrá na to, aby sama našla relevantní pozorování, i když jí poskytneš více dat, než jen ta předpovídaná.

> # f is an object of class "forecast"
> # x is a numerical vector or time series
> accuracy(f, x, ...)

Mezi dostupné míry přesnosti patří střední kvadratická chyba (RMSE), což je druhá odmocnina střední kvadratické chyby (MSE). Minimalizace RMSE – která odpovídá zvyšování přesnosti – je ekvivalentní minimalizaci MSE.

Předem načtená časová řada gold obsahuje denní ceny zlata za 1 108 dní. Prvních 1 000 dní použiješ jako trénovací sadu a zbývajících 108 dní budeš předpovídat. Výsledky pak porovnáš se skutečnými hodnotami pomocí jednoduchých funkcí naive(), kterou jsi použil/a dříve v této kapitole, a meanf(), která jako předpověď vrací průměr všech pozorování. Pro obě funkce budeš muset zadat argument h (počet hodnot, které chceš předpovědět).

Pokyny

100 XP
  • Pomocí subset() vytvoř trénovací sadu pro gold obsahující prvních 1 000 pozorování. Ulož ji jako train.
  • Pomocí naive() vypočítej předpovědi pro testovací sadu (zbývající data) a výsledek ulož jako naive_fc. Nastav h odpovídajícím způsobem.
  • Pomocí meanf() vypočítej předpovědi pro stejnou testovací sadu a výsledek ulož jako mean_fc. Nastav h odpovídajícím způsobem.
  • Porovnej statistiky přesnosti obou metod pomocí funkce accuracy().
  • Na základě výsledků ulož předpovědi s vyšší přesností jako bestforecasts.