Aan de slagGa gratis aan de slag

tsCV() gebruiken voor tijdreeks-crossvalidatie

De functie tsCV() berekent crossvalidatiefouten voor tijdreeksen. Je moet de tijdreeks, de voorspelmethode en de voorspelhorizon opgeven. Hier is het voorbeeld uit de video:

> e = tsCV(oil, forecastfunction = naive, h = 1)

Hier gebruik je tsCV() om de MSE-waarden te berekenen en te plotten tot en met 8 stappen vooruit, samen met de methode naive() toegepast op de goog-data. De oefening gebruikt ggplot2-grafieken, waar je misschien niet bekend mee bent, maar we hebben genoeg code gegeven zodat je de rest kunt uitwerken.

Verwijs zeker naar de dia's over tsCV() in het college. De goog-data is in je werkruimte geladen.

Deze oefening maakt deel uit van de cursus

Voorspellen in R

Cursus bekijken

Oefeninstructies

  • Gebruik de goog-data en voorspel met de functie naive() om de cross-gevalideerde fouten te berekenen tot en met 8 stappen vooruit. Ken dit toe aan e.
  • Bereken de MSE-waarden voor elke voorspelhorizon en verwijder ontbrekende waarden in e door het tweede argument te specificeren. De uitdrukking voor het berekenen van de MSE is gegeven.
  • Plot de resulterende MSE-waarden (y) tegen de voorspelhorizon (x). Denk na over je kennis van functies. Als MSE = mse is opgegeven in de lijst met functieargumenten, dan verwijst mse naar een object dat in je werkruimte bestaat buiten de functie, terwijl MSE de variabele is die binnen je functie naar dit object verwijst.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Compute cross-validated errors for up to 8 steps ahead
e <- tsCV(___, forecastfunction = ___, h = ___)

# Compute the MSE values and remove missing values
mse <- colMeans(e^2, na.rm = ___)

# Plot the MSE values against the forecast horizon
data.frame(h = 1:8, MSE = mse) %>%
  ggplot(aes(x = h, y = ___)) + geom_point()
Code bewerken en uitvoeren