ETS vs. naiv sezonier
În acest exercițiu, vei compara previziunile ETS cu metoda naivă sezonieră pe 20 de ani de date din seria cement, care conține producția trimestrială de ciment. Vei folosi validarea încrucișată a seriilor de timp pentru 4 pași înainte. Deoarece rularea durează ceva timp, în spațiul de lucru va fi disponibilă o versiune mai scurtă a seriei cement.
Al doilea argument al funcției tsCV() trebuie să returneze un obiect de tip prognoză, deci ai nevoie de o funcție care să ajusteze un model și să returneze previziuni. Reamintește-ți:
> args(tsCV)
function (y, forecastfunction, h = 1, ...)
În acest exercițiu vei folosi atât o funcție de prognoză existentă, cât și una creată special pentru tine. Reține: uneori metodele simple funcționează mai bine decât cele sofisticate!
Acest exercițiu face parte din cursul
Prognoze în R
Instrucțiuni pentru exercițiu
- O funcție care returnează previziuni ETS,
fets(), a fost deja scrisă pentru tine. - Aplică
tsCV()atât pentru metoda ETS, cât și pentru metoda naivă sezonieră pe datelecement, cu un orizont de prognoză de 4. Folosește funcțiafetsnou creată și, respectiv, funcția existentăsnaiveca argument de funcție de prognoză pentrue1șie2. - Calculează MSE al erorilor pe 4 pași obținute și elimină valorile lipsă. Expresiile pentru calculul MSE au fost furnizate, însă al doilea argument opțional lipsește (l-ai mai folosit anterior).
- Salvează cel mai bun MSE ca
bestmse. Poți copia pur și simplu întreaga linie de cod care generează cel mai bun MSE din instrucțiunea anterioară.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Function to return ETS forecasts
fets <- function(y, h) {
forecast(ets(y), h = h)
}
# Apply tsCV() for both methods
e1 <- tsCV(___, ___, h = ___)
e2 <- tsCV(___, ___, h = ___)
# Compute MSE of resulting errors (watch out for missing values)
mean(e1^2, ___)
mean(e2^2, ___)
# Copy the best forecast MSE
bestmse <- ___