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
Oefeninstructies
- Gebruik de
goog-data en voorspel met de functienaive()om de cross-gevalideerde fouten te berekenen tot en met 8 stappen vooruit. Ken dit toe aane. - Bereken de MSE-waarden voor elke voorspelhorizon en verwijder ontbrekende waarden in
edoor 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. AlsMSE = mseis opgegeven in de lijst met functieargumenten, dan verwijstmsenaar een object dat in je werkruimte bestaat buiten de functie, terwijlMSEde 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()