Perché il Backtesting è Importante e Come Farlo nel Modo Giusto

Importanza e Metodo Adeguato del Backtesting

Come sappiamo se il nostro modello di previsione è accurato e affidabile e valutare le sue prestazioni su dati non visti? È quì che entra il backtesting.

Immagine di Lorenzo Cafaro da Pixabay
  • Cos’è il Backtesting?
  • Esempio in Python: Passeggeri Aerei
  • Conclusioni

Cos’è il Backtesting?

Per valutare le prestazioni di un modello di previsione, utilizziamo una procedura chiamata backtesting (noto anche come cross-validation delle serie temporali). Il backtesting è essenzialmente un modo per testare come un modello si sarebbe comportato se fosse stato utilizzato in passato.

Come funziona?

Per effettuare il backtesting di un modello di previsione delle serie temporali, iniziamo dividendo i dati in due parti: un set di addestramento e un set di convalida (a volte chiamato anche set di test, ma chiariremo la differenza nelle sezioni successive). Il set di addestramento viene utilizzato per addestrare il modello, mentre il set di test viene utilizzato per valutare le prestazioni del modello su dati non visti. Una volta addestrato il modello, è possibile utilizzarlo per fare previsioni sul set di test. È possibile confrontare queste previsioni con i valori effettivi per valutare le prestazioni del modello.

Come misuriamo le prestazioni di un modello?

Esistono diverse metriche che possono essere utilizzate per valutare le prestazioni di un modello di previsione delle serie temporali, come l’Errore Medio Assoluto (MAE) o l’Errore Quadrato Medio Radice (RMSE). Queste metriche misurano quanto le previsioni si avvicinano ai valori effettivi.

La procedura viene generalmente ripetuta più volte, consentendoci di:

  • Avere una buona stima delle prestazioni del modello
  • Visualizzare l’evoluzione delle prestazioni nel tempo

Di seguito mostriamo una rappresentazione grafica del processo di backtesting, utilizzando 3 divisioni:

Backtesting con finestra in espansione. Immagine dell'autore.

Nella figura sopra mostriamo solo 3 periodi di convalida non sovrapposti. Tuttavia, non c’è nulla che ci impedisca di utilizzare finestre parzialmente sovrapposte, potenzialmente una per ogni passo temporale.