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
Instrukcje do ćwiczenia
- Użyj funkcji
window(), aby utworzyć trzy zbiory treningowe na podstawievisnights[,"VICMetro"], pomijając kolejno ostatni 1, 2 i 3 lata; nadaj im nazwytrain1,train2itrain3. Ustaw parametrendodpowiednio dla każdego przypadku. - Oblicz prognozy na jeden rok dla każdego zbioru treningowego, używając metody
snaive(). Nadaj im nazwyfc1,fc2ifc3. - 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"]
___
___