Il nostro video sull’overfitting ha ricevuto molta attenzione da quando è stato pubblicato 5 anni fa, ovvero mezzo secolo fa per una startup come Lokad. Anni dopo, abbiamo fatto molti progressi ma l’overfitting rimane una questione difficile.

In breve, l’overfitting rappresenta il rischio che il tuo modello di previsione sia accurato solo nel predire il passato, e non nel predire il futuro. Un buon modello di previsione dovrebbe essere in grado di predire i dati che non hai.

Un comune fraintendimento è che non ci sia altro modo per valutare un modello se non controllando le sue prestazioni rispetto ai dati storici. È vero, i dati storici devono essere sfruttati; tuttavia, se c’è un’idea da ricordare dalla teoria di Vapnik-Chervonenkis è che tutti i modelli non sono uguali: alcuni modelli presentano un rischio strutturale molto più elevato - un concetto parte della teoria - rispetto ad altri. Un’intera classe di modelli può essere considerata sicura o non sicura. da una prospettiva puramente teorica, che si traduce in miglioramenti molto reali dell’accuratezza.

I problemi di overfitting non possono essere completamente evitati, ma possono comunque essere mitigati.

Ci sono diversi modi per mitigare l’overfitting. Prima di tutto, la regola che non dovresti mai infrangere è: un modello di previsione non dovrebbe mai essere valutato sui dati utilizzati per addestrarlo in primo luogo. Molti toolkit regrediscono i modelli sull’intera storia al fine di stimare l’adattamento complessivo successivamente. Beh, come suggerisce il nome, tale processo ti fornisce l’adattamento ma nient’altro. In particolare, l’adattamento non dovrebbe essere interpretato come una sorta di accuratezza attesa, non lo è. L’adattamento è tipicamente molto inferiore alla reale accuratezza.

In secondo luogo, un modo semplice per mitigare l’overfitting è quello di effettuare un’ampia back-testing. In pratica, significa che il tuo processo deve suddividere l’insieme di dati di input in dozzine - se non centinaia - di soglie di data incrementalmente, e riallenare tutti i modelli di previsione e rivalutarli ogni volta. Il back-testing richiede molta potenza di elaborazione. Essere in grado di allocare la massiccia potenza di elaborazione necessaria per effettuare un’ampia back-testing è stato in realtà uno dei motivi principali per cui Lokad si è spostata verso il cloud computing in primo luogo.

In terzo luogo, anche la più ampia back-testing vale poco se le tue serie temporali sono scarse in primo luogo, ovvero se le serie temporali rappresentano articoli con bassi volumi di vendita. Infatti, poiché la maggior parte dei punti dati delle serie temporali è pari a zero, il processo di back-testing impara molto poco iterando su zeri. Purtroppo per il commercio, circa il 90% degli articoli venduti o serviti ha una storia di domanda considerata scarsa da un punto di vista statistico. Per affrontare questo problema, le prestazioni del modello dovrebbero essere valutate con un punto di vista di serie temporali multiple. Non è la prestazione del modello su una singola serie temporale che conta, ma la sua prestazione su cluster ben definiti di serie temporali. Quindi, tutto diventa un equilibrio tra l’accuratezza empirica locale e globale quando si tratta di selezionare il miglior modello.

Hai qualche domanda? Non esitare a scriverla nei commenti.


Commenti dei lettori (2)

Shaun, Il backtesting è uno strumento molto fondamentale nelle statistiche. È stato utilizzato per decenni in quasi tutti i settori: finanza, meteorologia, trasporti, energia, … Il backtesting non richiede “fiducia”, si tratta dell’unica metodologia solida conosciuta da noi quando si tratta di valutare l’accuratezza di un processo predittivo, e c’è una montagna di letteratura sull’argomento. Per una gentile introduzione, dovresti iniziare a leggere “Elementi di apprendimento statistico” 4 anni fa | Joannes Vermorel


Joannes, Questo è estremamente interessante. Tuttavia, sto cercando di capire come spiegherò questo ai clienti. Quindi, se ho capito bene, si può eseguire il backtesting in Lokad, tuttavia, se il backtesting - che, a quanto ho capito, è una forma di machine learning - non si ha una sfida significativa nel spiegare cosa è stato fatto? Se diventa un algoritmo avanzato, allora non bisogna semplicemente fidarsi che funzioni? Ovviamente questo è un punto focale per Lokad, quindi tutti voi avete riflettuto molto su questo. Tuttavia, penso che ci sia un pubblico aziendale limitato che capisce i dettagli specifici di come funziona. Quindi Lokad si basa sui risultati delle ricerche che Lokad ha effettuato su aziende precedenti, mostrando il beneficio netto di questo backtesting? 4 anni fa | Shaun Snapp