Zacznij terazZacznij za darmo

Ocena dokładności prognoz metod sezonowych

Jak poznałeś w pierwszym rozdziale, funkcja window() pozwala określić start i end szeregu czasowego za pomocą odpowiednich wartości czasowych, a nie indeksów. Każdy z tych argumentów może być podany jako wektor w postaci c(rok, okres) – analogicznie jak argument funkcji ts(). Przypomnijmy: okres oznacza tu kwartał.

W tym ćwiczeniu skorzystasz z kwartalnych danych o liczbie odwiedzających Melbourne (visnights[, "VICMetro"]), aby utworzyć trzy różne zbiory treningowe – pomijając odpowiednio ostatni 1, 2 i 3 lata. Przed rozpoczęciem ćwiczenia przejrzyj wczytane dane visnights w konsoli; pomoże ci to ustalić właściwą wartość parametru h (określającego liczbę wartości do prognozowania) w metodach prognozowania.

Następnie dla każdego zbioru treningowego oblicz prognozę na kolejny rok, a na koniec porównaj średni bezwzględny błąd procentowy (MAPE) prognoz za pomocą funkcji accuracy(). Zastanów się, dlaczego wartości MAPE tak bardzo się różnią.

To ćwiczenie jest częścią kursu

Prognozowanie w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji window(), aby utworzyć trzy zbiory treningowe na podstawie visnights[,"VICMetro"], pomijając kolejno ostatni 1, 2 i 3 lata; nadaj im nazwy train1, train2 i train3. Ustaw parametr end odpowiednio dla każdego przypadku.
  • Oblicz prognozy na jeden rok dla każdego zbioru treningowego, używając metody snaive(). Nadaj im nazwy fc1, fc2 i fc3.
  • Wzorując się na przykładowym kodzie, porównaj wartości MAPE dla trzech zestawów prognoz za pomocą funkcji accuracy(), używając odpowiedniego zbioru testowego.

Interaktywne ćwiczenie praktyczne

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

# Create three training series omitting the last 1, 2, and 3 years
train1 <- window(visnights[, "VICMetro"], end = c(2015, 4))
train2 <- ___
train3 <- ___

# Produce forecasts using snaive()
fc1 <- snaive(___, h = ___)
fc2 <- ___
fc3 <- ___

# Use accuracy() to compare the MAPE of each series
accuracy(fc1, visnights[, "VICMetro"])["Test set", "MAPE"]
___
___
Edytuj i uruchom kod