Backtesting

learn menu
Di Joannès Vermorel, ultima revisione agosto 2013

Nel contesto della previsione delle serie temporali, il concetto 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 su diverse date presenti nei dati storici. Il backtesting viene utilizzato per stimare l’accuratezza futura prevista di un metodo di previsione, il che è utile per valutare quale modello di previsione dovrebbe essere considerato come il più accurato.

Come funziona il backtesting

Il processo di backtesting inizia selezionando un elenco 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.

Il backtesting è un processo per valutare l'accuratezza delle previsioni di un modello statistico dipendente dal tempo utilizzando dati storici.

Quindi, per ogni soglia,

  • i dati storici vengono troncati alla soglia,
  • il modello di previsione viene addestrato e applicato ai dati troncati,
  • le previsioni vengono confrontate con i dati originali non troncati.

Infine, viene stabilito un errore di previsione medio su tutte le soglie.

Questo errore medio può essere interpretato come una stima dell’errore che sarà associato al modello durante la produzione di previsioni “vere” (sul futuro). La scelta del giusto insieme di soglie comporta tipicamente 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 sovradattamento.

Per scopi di ottimizzazione delle scorte, poiché sono tipicamente coinvolti centinaia di SKU, sono necessarie solo poche soglie per decidere, con una grande fiducia nella decisione, se un metodo di previsione è migliore di un altro.

Un errore comune: imparare una volta, prevedere molte volte

Il backtesting è tipicamente abbastanza intensivo in termini di risorse di calcolo, poiché un nuovo modello di previsione deve essere addestrato per ogni soglia. Di conseguenza, osserviamo regolarmente che i professionisti addestrano il modello di previsione solo una volta, sfruttando tipicamente l’intero intervallo di dati storici, e poi procedono con le iterazioni di backtesting. Il beneficio percepito di questo approccio è tipicamente una velocizzazione massiccia del backtesting.

Tuttavia, questo trucco è fuorviante e porta a significativi problemi di sovradattamento. Infatti, implicitamente, poiché i dati futuri sono resi disponibili al modello di previsione, qualsiasi stima delle variabili che avviene durante la fase di apprendimento farà sì che il modello incorpori alcune informazioni su questo futuro. Di conseguenza, l’accuratezza misurata dai backtest non rifletterà le capacità di generalizzazione del modello, ma piuttosto le sue capacità di memoria, ovvero la capacità del modello di riprodurre situazioni identiche trovate nel set di dati di addestramento.

Lokad Gotcha

Il backtesting è al centro della tecnologia di previsione di Lokad. Lo utilizziamo per ogni serie temporale per selezionare quale modello verrà utilizzato per fornire la previsione finale. Tuttavia, la visione semplice del backtesting presentata in questo articolo non è adatta a tutte le situazioni che si trovano nel settore del commercio al dettaglio e della produzione. Ad esempio, per i prodotti appena lanciati, la serie temporale potrebbe essere troppo breve per effettuare un backtesting significativo. Anche le promozioni e i lanci di prodotti richiedono approcci dedicati.