Aan de slagGa gratis aan de slag

Voorspellingsnauwkeurigheid van seizoensmethoden evalueren

Zoals je in het eerste hoofdstuk hebt geleerd, specificeert de functie window() het start- en end-punt van een tijdreeks met de relevante tijdstippen in plaats van indexwaarden. Elk van deze twee argumenten kan worden geformatteerd als een vector zoals c(year, period), die je eerder ook als argument voor ts() hebt gebruikt. Opnieuw verwijst period hier naar quarter.

Hier ga je de kwartaalcijfers van bezoekers in Melbourne (visnights[, "VICMetro"]) gebruiken om drie verschillende trainingssets te maken, waarbij je respectievelijk de laatste 1, 2 en 3 jaar weglaat. Bekijk de vooraf geladen visnights-gegevens in je console voordat je begint; dit helpt je de juiste waarde te bepalen voor het sleutelwoord h (dat het aantal waarden dat je wilt voorspellen aangeeft) in je voorspelmethoden.

Bereken vervolgens voor elke trainingsset het volgende jaar aan data en vergelijk ten slotte de mean absolute percentage error (MAPE) van de voorspellingen met accuracy(). Waarom denk je dat de MAPE zoveel varieert?

Deze oefening maakt deel uit van de cursus

Voorspellen in R

Cursus bekijken

Oefeninstructies

  • Gebruik window() om drie trainingssets te maken van visnights[,"VICMetro"], waarbij je de laatste 1, 2 en 3 jaar weglaat; noem deze respectievelijk train1, train2 en train3. Stel het end-argument hierop in.
  • Bereken voor elk van de trainingssets één jaar aan voorspellingen met de methode snaive(). Noem deze respectievelijk fc1, fc2 en fc3.
  • Volg de structuur van de voorbeeldcode en vergelijk de MAPE van de drie sets voorspellingen met de functie accuracy() met je testset.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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