SES a metoda naiwna
W tym ćwiczeniu wykorzystasz wiedzę o zbiorach treningowych i testowych, funkcji subset() oraz funkcji accuracy() – wszystko to poznałeś w rozdziale 2 – aby porównać prognozy SES i prognozy naiwne dla danych marathon.
Coś bardzo podobnego robiłeś już wcześniej, porównując prognozy naiwne i prognozę średnią w ćwiczeniu „Ocena dokładności prognoz dla metod niesezonowych".
Przyjrzyjmy się temu procesowi krok po kroku:
- Najpierw wczytaj dane. Zdecyduj, jaką część chcesz przeznaczyć na trening, a jaką na testowanie – zbiory te nie powinny się pokrywać.
- Wyodrębnij dane, tworząc zbiór treningowy, który posłuży jako argument funkcji prognozowania. Opcjonalnie możesz też od razu przygotować zbiór testowy.
- Oblicz prognozy na podstawie zbioru treningowego, korzystając z wybranych funkcji prognozowania. Parametr
hustaw równy liczbie wartości, które chcesz prognozować – czyli długości zbioru testowego. - Aby zobaczyć wyniki, użyj funkcji
accuracy(), podając prognozę jako pierwszy argument, a oryginalne dane (lub zbiór testowy) jako drugi. - Wybierz miarę błędu z wyników, np. RMSE lub MAE, i oceń dokładność prognoz – im mniejszy błąd, tym lepsza prognoza.
Dane marathon są już wczytane do twojego środowiska pracy.
To ćwiczenie jest częścią kursu
Prognozowanie w R
Instrukcje do ćwiczenia
- Korzystając z funkcji
subset(), utwórz zbiór treningowy dla danychmarathon, obejmujący wszystkie lata z wyjątkiem ostatnich 20, które zarezerwujesz na testowanie. - Oblicz prognozy SES i prognozy naiwne na podstawie tego zbioru treningowego i zapisz je odpowiednio jako
fcsesorazfcnaive. - W konsoli oblicz miary dokładności obu zestawów prognoz, używając funkcji
accuracy(). - Przypisz do
fcbestlepszą prognozę (czylifcseslubfcnaive) na podstawie wartości RMSE.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)
# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)
# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)
# Save the best forecasts as fcbest
fcbest <- ___