Aan de slagGa gratis aan de slag

SES vs naive

In deze oefening pas je je kennis van trainings- en testsets, de functie subset() en de functie accuracy() toe, die je allemaal in Hoofdstuk 2 hebt geleerd, om SES- en naive-voorspellingen voor de marathon-data te vergelijken.

Je deed iets heel vergelijkbaars om de naive- en gemiddelde voorspellingen te vergelijken in een eerdere oefening “Evaluating forecast accuracy of non-seasonal methods”.

Laten we het proces doornemen:

  1. Importeer en laad eerst je data. Bepaal hoeveel van je data je wilt gebruiken voor training en hoeveel voor testen; de sets mogen niet overlappen.
  2. Maak met een subset van de data een trainingsset, die je als argument in je voorspellingsfunctie(s) gebruikt. Optioneel kun je ook een testset maken voor later gebruik.
  3. Bereken voorspellingen voor de trainingsset met de door jou gekozen voorspellingsfunctie(s), en zet h gelijk aan het aantal waarden dat je wilt voorspellen; dit is ook de lengte van de testset.
  4. Gebruik om de resultaten te bekijken de functie accuracy() met de voorspelling als eerste argument en de oorspronkelijke data (of testset) als tweede.
  5. Kies een maat in de output, zoals RMSE of MAE, om de voorspelling(en) te evalueren; een kleinere fout duidt op een hogere nauwkeurigheid.

De marathon-data is in je werkruimte geladen.

Deze oefening maakt deel uit van de cursus

Voorspellen in R

Cursus bekijken

Oefeninstructies

  • Gebruik subset() om een trainingsset voor marathon te maken met alle jaren behalve de laatste 20, die je reserveert voor testen.
  • Bereken de SES- en naive-voorspellingen van deze trainingsset en sla ze respectievelijk op als fcses en fcnaive.
  • Bereken de nauwkeurigheidsmaten van de twee sets voorspellingen met de functie accuracy() in je console.
  • Wijs de beste voorspellingen (ofwel fcses of fcnaive) op basis van RMSE toe aan fcbest.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 <- ___
Code bewerken en uitvoeren