Tidsserie-korsvalidering med tsCV()
Funktionen tsCV() beräknar korsvalideringsfel för tidsserier. Du behöver ange tidsserien, prognosmetoden och prognoshorisonten. Här är exemplet från videon:
> e = tsCV(oil, forecastfunction = naive, h = 1)
I den här övningen använder du tsCV() för att beräkna och visualisera MSE-värden för upp till 8 steg framåt, tillsammans med metoden naive() tillämpad på goog-data. Övningen använder ggplot2 för grafik, vilket du kanske inte är bekant med, men vi har tillhandahållit tillräckligt med kod för att du ska kunna lösa resten.
Ta gärna en titt på slides om tsCV() från föreläsningen. Datamängden goog har redan laddats in i din arbetsmiljö.
Den här övningen är en del av kursen
Prognoser i R
Övningsinstruktioner
- Använd
goog-data ochnaive()-funktionen för att beräkna korsvalideringsfel för upp till 8 steg framåt. Tilldela resultatet tille. - Beräkna MSE-värden för varje prognoshorisont och hantera saknade värden i
egenom att ange det andra argumentet. Uttrycket för att beräkna MSE finns redan tillhandahållet. - Plotta de resulterande MSE-värdena (
y) mot prognoshorisonten (x). Tänk på hur funktionsargument fungerar: omMSE = mseanges i argumentlistan refererarmsetill ett objekt som finns i din arbetsmiljö utanför funktionen, medanMSEär variabeln som refererar till detta objekt inuti funktionen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()