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
Instrukcje do ćwiczenia
- Używając danych
googi funkcjinaive(), oblicz błędy krzyżowej walidacji dla horyzontów od 1 do 8 kroków do przodu. Przypisz wynik doe. - Oblicz wartości MSE dla każdego horyzontu prognozy, usuwając brakujące wartości z
eprzez 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śliMSE = msepojawia się na liście argumentów funkcji, tomseodnosi się do obiektu istniejącego w twoim środowisku poza funkcją, natomiastMSEto 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()