Uso di tsCV() per la cross-validation su serie temporali
La funzione tsCV() calcola gli errori della cross-validation per serie temporali. Richiede di specificare la serie temporale, il metodo di previsione e l’orizzonte di previsione. Ecco l’esempio usato nel video:
> e = tsCV(oil, forecastfunction = naive, h = 1)
Qui utilizzerai tsCV() per calcolare e tracciare i valori di MSE fino a 8 passi avanti, insieme al metodo naive() applicato ai dati goog. L’esercizio usa i grafici di ggplot2, che potresti non conoscere, ma abbiamo fornito abbastanza codice perché tu possa completare il resto.
Assicurati di consultare le diapositive su tsCV() nella lezione. I dati goog sono stati caricati nel tuo workspace.
Questo esercizio fa parte del corso
Previsioni in R
Istruzioni dell'esercizio
- Usando i dati
googe prevedendo con la funzionenaive(), calcola gli errori con cross-validation fino a 8 passi avanti. Assegna il risultato ae. - Calcola i valori di MSE per ciascun orizzonte di previsione e rimuovi i valori mancanti in
especificando il secondo argomento. L’espressione per calcolare l’MSE è già fornita. - Traccia i valori di MSE risultanti (
y) rispetto all’orizzonte di previsione (x). Ripassa il funzionamento delle funzioni. SeMSE = mseè fornito nell’elenco degli argomenti della funzione, alloramsedovrebbe riferirsi a un oggetto che esiste nel tuo workspace al di fuori della funzione, mentreMSEè la variabile che all’interno della tua funzione fa riferimento a questo oggetto.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()