Test retrospettivo

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

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.

Il test retrospettivo è un processo per valutare l'accuratezza delle previsioni di un modello statistico che dipende dal tempo, utilizzando dati storici.

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.

Per scopi di ottimizzazione dell’inventario, poiché sono tipicamente coinvolti centinaia di SKUs, sono necessarie solo poche soglie per decidere, con una confidenza molto alta, se un metodo di previsione è migliore di un altro.

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.