Zacznij terazZacznij za darmo

Wykorzystanie tsCV() do krzyżowej walidacji szeregów czasowych

Funkcja tsCV() oblicza błędy krzyżowej walidacji dla szeregów czasowych. Wymaga podania szeregu czasowego, metody prognozowania oraz horyzontu prognozy. Oto przykład z lekcji:

> e = tsCV(oil, forecastfunction = naive, h = 1)

W tym ćwiczeniu użyjesz tsCV() do obliczenia i zwizualizowania wartości MSE dla horyzontów od 1 do 8 kroków, stosując metodę naive() do danych goog. Ćwiczenie korzysta z biblioteki ggplot2 – możliwe, że jeszcze jej nie znasz, ale dostarczyliśmy wystarczającą część kodu, abyś mógł uzupełnić resztę.

Koniecznie zajrzyj do slajdów dotyczących tsCV() z wykładu. Dane goog zostały już wczytane do twojego środowiska.

To ćwiczenie jest częścią kursu

Prognozowanie w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Używając danych goog i funkcji naive(), oblicz błędy krzyżowej walidacji dla horyzontów od 1 do 8 kroków do przodu. Przypisz wynik do e.
  • Oblicz wartości MSE dla każdego horyzontu prognozy, usuwając brakujące wartości z e przez odpowiednie ustawienie drugiego argumentu. Wyrażenie potrzebne do obliczenia MSE zostało już dostarczone.
  • Wyrysuj na wykresie uzyskane wartości MSE (y) względem horyzontu prognozy (x). Zastanów się nad działaniem funkcji: jeśli MSE = mse pojawia się na liście argumentów funkcji, to mse odnosi się do obiektu istniejącego w twoim środowisku poza funkcją, natomiast MSE to nazwa zmiennej, która odwołuje się do tego obiektu wewnątrz funkcji.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Compute cross-validated errors for up to 8 steps ahead
e <- tsCV(___, forecastfunction = ___, h = ___)

# Compute the MSE values and remove missing values
mse <- colMeans(e^2, na.rm = ___)

# Plot the MSE values against the forecast horizon
data.frame(h = 1:8, MSE = mse) %>%
  ggplot(aes(x = h, y = ___)) + geom_point()
Edytuj i uruchom kod