Test retrospettivo
Nel contesto della previsione delle serie temporali, la nozione di backtesting si riferisce al processo di valutazione dell’accuratezza di un metodo di previsione utilizzando dati storici esistenti. Il processo è tipicamente iterativo e ripetuto per diverse date presenti nei dati storici. Il backtesting viene utilizzato per stimare l’accuratezza futura attesa di un metodo di previsione, il che è utile per valutare quale modello di previsione debba essere considerato il più accurato.
Come funziona il test retrospettivo
Il processo di backtesting inizia selezionando una lista di date soglia all’interno di un intervallo di tempo coperto dai dati storici. Nell’illustrazione sottostante, le soglie sono indicate come T1, T2, T3 e T4.
Quindi, per ogni soglia,
- i dati storici vengono troncati alla soglia,
- il modello di previsione viene addestrato e applicato sui dati troncati,
- le previsioni vengono confrontate con i dati originali non troncati.
Infine, viene stabilito un errore medio di previsione su tutte le soglie.
Questo errore mediato può essere interpretato come una stima dell’errore che verrà associato al modello quando si produrranno previsioni reali (sul futuro). Scegliere il giusto insieme di soglie generalmente richiede una certa competenza legata al problema in questione. Come regola generale, aumentare il numero di soglie migliora tipicamente la resilienza del processo contro i problemi di Overfitting.
Un errore comune: imparare una volta, prevedere tante volte
Il test retrospettivo è tipicamente piuttosto intensivo in termini di risorse computazionali, poiché un nuovo modello di previsione deve essere addestrato per ogni soglia. Di conseguenza, osserviamo regolarmente operatori che addestrano il modello di previsione una sola volta, sfruttando tipicamente l’intero insieme dei dati storici, e poi procedono con iterazioni di backtesting. Il beneficio percepito di questo approccio è tipicamente una notevole accelerazione del backtesting.
Tuttavia, tale trucco è fuorviante e porta a significativi problemi di overfitting. Infatti, implicitamente, poiché i dati futuri vengono resi disponibili al modello di previsione, qualunque stima variabile effettuata durante la fase di apprendimento farà sì che il modello incorpori alcune informazioni su questo futuro. Di conseguenza, l’accuratezza misurata dai test retrospettivi non rifletterà le capacità di generalizzazione del modello, ma piuttosto le sue capacità di memoria, vale a dire la capacità del modello di riprodurre situazioni identiche presenti nel dataset di addestramento.
Lokad Gotcha
Il backtesting è al cuore della tecnologia di previsione di Lokad. Lo utilizziamo per ogni serie temporale per selezionare quale modello verrà impiegato per fornire la previsione finale. Tuttavia, la semplice visione del backtesting presentata in questo articolo non è adatta a tutte le situazioni riscontrate nel retail e nella manifattura. Ad esempio, per i prodotti appena lanciati, la serie temporale potrebbe essere troppo breve per eseguire un backtesting significativo. Anche le promozioni e i lanci di prodotto richiedono approcci dedicati.