ÎncepețiÎncepe gratuit

Evaluarea acurateței prognozei pentru metodele sezoniere

Așa cum ai învățat în primul capitol, funcția window() specifică start și end ale unei serii de timp folosind valorile de timp relevante, nu indicii. Oricare dintre aceste două argumente poate fi formatat ca vector de tipul c(year, period), pe care l-ai folosit anterior și ca argument pentru ts(). Reamintim că period se referă la trimestru în acest context.

În acest exercițiu, vei folosi numărul trimestrial de vizitatori din Melbourne (visnights[, "VICMetro"]) pentru a crea trei seturi de antrenament diferite, omițând ultimul 1, 2 și, respectiv, 3 ani. Inspectează datele pre-încărcate visnights în consolă înainte de a începe exercițiul; acest lucru te va ajuta să determini valoarea corectă pentru argumentul h (care specifică numărul de valori pe care vrei să le prognozezi) în metodele de prognoză.

Apoi, pentru fiecare set de antrenament, calculează datele pentru următorul an și, în final, compară eroarea procentuală absolută medie (MAPE) a prognozelor folosind accuracy(). De ce crezi că MAPE variază atât de mult?

Acest exercițiu face parte din cursul

Prognoze în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește window() pentru a crea trei seturi de antrenament din visnights[,"VICMetro"], omițând ultimul 1, 2 și, respectiv, 3 ani; denumește-le train1, train2 și train3. Setează argumentul end corespunzător.
  • Calculează prognozele pentru un an pentru fiecare set de antrenament folosind metoda snaive(). Denumește rezultatele fc1, fc2 și, respectiv, fc3.
  • Urmând structura codului exemplu, compară MAPE-ul celor trei seturi de prognoze folosind funcția accuracy() ca set de testare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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"]
___
___
Editează și rulează codul