Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Använd goog-data och naive()-funktionen för att beräkna korsvalideringsfel för upp till 8 steg framåt. Tilldela resultatet till e.
  • Beräkna MSE-värden för varje prognoshorisont och hantera saknade värden i e genom 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: om MSE = mse anges i argumentlistan refererar mse till ett objekt som finns i din arbetsmiljö utanför funktionen, medan MSE ä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()
Redigera och kör kod