Come abbiamo già detto, l’obiettivo principale della previsione è costruire modelli accurati sui dati che non si hanno. Tuttavia, a prima vista, sembra un’altra idea folle di un matematico: sia strana che completamente impraticabile.

Ma nella nostra esperienza, misurare la vera accuratezza delle previsioni è un vero problema aziendale. Fallire in questo costa denaro. In realtà, più grande è l’azienda, più grande è il costo.

Ancora confuso sull’errore di previsione reale?

Guarda il nostro ultimo slidecast di 9 minuti (gli script sono riportati di seguito).

video di YouTube

Script dello slidecast:

Overfitting: le tue previsioni potrebbero non essere così buone come dice la misura

L’accuratezza delle previsioni è fondamentale per molte industrie come il commercio al dettaglio, la produzione o i servizi. Se sovrastimi la domanda dei tuoi clienti, i costi esplodono perché avrai troppo personale, troppo inventario. Ma se sottostimi la domanda dei tuoi clienti, i tuoi clienti si arrabbiano perché non possono acquistare il tuo prodotto o perché devono aspettare troppo a lungo per essere serviti.

In questo slidecast, introdurrò un problema poco conosciuto nella previsione chiamato overfitting.

Questo problema è poco conosciuto per due ragioni. Primo, è un problema sottile - non ovvio e controintuitivo in molti aspetti. Secondo, è un problema che ha confuso i matematici fin dal XIX secolo. Solo alla fine degli anni ‘90, poco più di 10 anni fa, la comunità scientifica ha iniziato a comprendere davvero questo problema sia a livello teorico che pratico.

Prima di andare avanti, lasciatemi saltare alla conclusione. L’overfitting ha un impatto molto forte sulle tue previsioni. L’overfitting può farti credere di avere un errore di previsione del 10% mentre il tuo vero errore di previsione è del 20%, e questa non sarebbe una situazione peggiore.

L’overfitting è un vero problema aziendale. L’overfitting costa denaro.

Inoltre, non esiste una soluzione per l’overfitting. Le moderne teorie statistiche si basano su questo concetto. L’overfitting gioca un ruolo centrale in quelle teorie, non importa quale sia il tuo approccio alle statistiche, l’overfitting è qui per restare.

Il problema chiave è definire cosa significa effettivamente l’accuratezza delle previsioni.

Intuitivamente, il modo più semplice per misurare l’accuratezza delle previsioni consiste nel fare una previsione e aspettare che l’evento previsto accada; in modo da poter confrontare la previsione con il suo risultato corrispondente.

Tuttavia, questo metodo ha un grande svantaggio: ti dice solo dell’accuratezza delle previsioni passate. Dal punto di vista aziendale, importa poco sapere se le previsioni passate erano buone o cattive, poiché non puoi cambiarle comunque. Quello che conta davvero è assicurarsi che le previsioni che devono ancora arrivare siano veramente accurate.

Poi, c’è un altro problema: a meno che il metodo utilizzato per produrre le previsioni sia strettamente identico da una previsione all’altra, non c’è motivo di credere che l’accuratezza passata possa essere utilizzata come un indicatore affidabile per l’accuratezza futura.

Sin dal XVIII secolo, i matematici hanno introdotto il concetto di modello statistico. L’aspetto principale dei modelli statistici non è, nonostante la credenza popolare, fornire previsioni buone o cattive, ma fornire previsioni ripetibili.

Con un modello statistico, ottieni un processo che automatizza la produzione di previsioni. Non garantisce che le previsioni saranno buone, ma almeno se le previsioni sono scarse, puoi analizzare ulteriormente il modello.

Consideriamo la seguente serie temporale di esempio. Illustreremo il problema dell’overfitting considerando modelli statistici successivi.

Iniziamo con un modello lineare semplice. Come puoi vedere, la linea non si adatta bene ai punti della serie temporale. Di conseguenza, abbiamo un grande errore, oltre il 50%. Questo modello non si adatta davvero ai dati.

Poi, possiamo aumentare la complessità del modello. Ora abbiamo un modello che segue approssimativamente la media locale della serie temporale. Questo nuovo modello sembra molto migliore del precedente e infatti l’errore è stato diviso per 5, raggiungendo ora il 10%.

Abbiamo un buon modello qui, ma possiamo ancora ridurre ulteriormente l’errore? Beh, la risposta è semplice: sì, possiamo produrre un modello che raggiunge un errore inferiore all'1%.

Come puoi vedere, è piuttosto facile; dobbiamo solo progettare un modello che attraversi quasi tutti i punti della serie temporale.

Ma possiamo davvero fidarci di questo modello per essere preciso all'1% nelle previsioni future? Ovviamente no! Questo modello sta solo ottimizzando micro-fluttuazioni del passato che non sono altro che variazioni casuali. Intuitivamente, non possiamo prevedere la vera casualità; possiamo solo prevedere modelli come trend, stagionalità, ecc.

Ora, se confrontiamo gli ultimi due modelli, abbiamo un problema evidente: secondo la nostra misura dell’errore, il modello a destra - quello con un errore dell'1% - è dieci volte migliore del modello a sinistra.

Anche se è ovvio che il miglior modello è quello a sinistra. Questo modello sta smussando le fluttuazioni casuali della serie temporale.

Quindi, c’è qualcosa di sbagliato nel modo in cui stiamo misurando l’errore. Questo errore, come illustrato nei grafici precedenti, è noto come errore empirico. È l’errore che ottieni attraverso misure sui tuoi dati storici.

Tuttavia, ciò che ci interessa veramente è noto come errore reale. L’errore reale è definito come l’errore del tuo modello di previsione sui dati che non hai, cioè: i dati futuri.

Anche se, questa definizione sembra un completo paradosso: come puoi misurare qualcosa se, appunto, non hai i dati!

Sin dal XIX secolo, gli statistici hanno cercato di affrontare questo problema attraverso un approccio noto come trade-off tra bias e varianza.

Se guardiamo i tre modelli che abbiamo, possiamo dire che il modello lineare ha un alto bias: non importa quale modello lineare scegliamo, non riuscirà mai a adattarsi davvero ai dati, a meno che, ovviamente, i dati stessi siano distribuiti linearmente; ma nella maggior parte delle situazioni, il modello lineare approssimerà solo la distribuzione dei dati.

Poi, il modello lineare ha una bassa varianza: intuitivamente, aggiungere o rimuovere un punto nella serie temporale non influenzerà molto il modello risultante. Questo modello è abbastanza stabile.

All’estremo opposto, il modello a destra ha un bias molto basso: si adatta, in realtà sovra-adatta, alla maggior parte dei punti della serie temporale. Tuttavia, la varianza è molto alta: aggiungere o rimuovere un singolo punto è probabile che causi cambiamenti significativi in questo modello. Non c’è alcuna stabilità.

Al centro, abbiamo un modello che bilancia sia il bias che la varianza; e sembra proprio la strada da seguire.

Tuttavia, il problema principale dell’approccio bias versus varianza è che non abbiamo ancora idea di cosa sta realmente accadendo con l’errore reale, cioè l’errore sui dati che non abbiamo.

Questo compromesso è spesso più un euristico che un vero criterio statistico.

Dal tardo anni ‘90, il campo dell’apprendimento statistico, una teoria più ampia che comprende la previsione statistica, ha fatto un significativo progresso sia a livello teorico che pratico.

Questa teoria è complessa, ma un’equazione semplice ci fornisce importanti intuizioni sui risultati. Questa teoria ci dice che l’errore reale è limitato superiormente dalla somma dell’errore empirico e di un’altra valore chiamato rischio strutturale.

Come abbiamo visto in precedenza, l’errore empirico è semplicemente l’errore misurato sui dati storici.

Il rischio strutturale è un criterio teorico che può essere calcolato esplicitamente per determinate classi di modelli e stimato per la maggior parte delle altre classi.

Tornando al nostro esempio iniziale, possiamo vedere che il rischio strutturale aumenta con la complessità del modello.

Ora, se quantifichiamo questi rischi strutturali, otteniamo la seguente prospettiva.

Non conosciamo ancora l’errore reale - quel valore non può essere misurato direttamente comunque - ma vediamo che il modello al centro ha il limite superiore più basso per l’errore reale.

La teoria dell’apprendimento statistico non ci fornisce il valore dell’errore reale, ma ci fornisce invece un limite superiore; e l’intero punto è scegliere il modello che raggiunge il limite superiore più basso.

Questo limite superiore agisce come un valore massimo per l’errore reale.

Rispetto al compromesso bias-varianza, vediamo che la teoria dell’apprendimento statistico ci fornisce una stima quantitativa dell’errore reale.

Il rischio strutturale è difficile da stimare in pratica. Tuttavia, al momento, è ancora la soluzione migliore conosciuta per evitare l’overfitting.

Abbiamo visto in precedenza che un modo ovvio per incorrere in problemi di overfitting era aumentare la complessità del modello.

Ma c’è anche un altro modo, un modo più sottile, per incorrere in problemi di overfitting: ciò può accadere aumentando la complessità dei dati.

Aggiungere punti extra ai dati riduce tipicamente i problemi di overfitting, ma se inizi ad aggiungere dimensioni extra ai dati, allora è probabile che si verifichino problemi di overfitting anche se i modelli stessi rimangono invariati.

Nella nostra esperienza presso Lokad, questa situazione è frequentemente incontrata dalle organizzazioni che affinano, anno dopo anno, i propri modelli di previsione con input di dati sempre crescenti; senza prendersi esplicitamente cura del rischio strutturale che si nasconde all’interno dei loro modelli.

In dimensioni elevate, anche i modelli lineari sono soggetti a problemi di overfitting.

Questo conclude questa breve presentazione sull’overfitting. Se devi ricordare una cosa, ricorda che senza tenere conto del rischio strutturale, la tua misura dell’errore di previsione è probabile che sia molto ingannevole; e più grande è la tua azienda, più soldi ti costerà.

Grazie mille per l’interesse. Saremo lieti di rispondere alle vostre domande nei nostri forum.


Commenti dei lettori (9)

Presentazione interessante 3 anni fa | Mark


Wow che bel video, grazie per avermi aiutato a capire l’overfitting. 4 anni fa | Melford McRae


A proposito, ho provato a visualizzare la presentazione su diversi browser e non sono riuscito a visualizzarla. Non sembra mai caricarsi. Qualcuno di Lokad può controllare e vedere quale potrebbe essere il problema? 4 anni fa | Shaun Snapp


Ho appena pubblicato un video aggiornato che funziona. 4 anni fa | Joannes Vermorel


Sembra che SlideShare non abbia mantenuto le loro cose nel corso degli anni :-( Ecco il file audio https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.mp3 e il file PowerPoint https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.pptx Li unirò come video di YouTube. 4 anni fa | Joannes Vermorel


Si tratta di un problema piuttosto spinoso. Non c’è altro modo per misurare un modello di previsione se non verificandone le prestazioni storiche, ma esiste la tendenza a fare overfitting per ottenere “la migliore precisione”. Questo sarebbe un problema ancora più grande se un numero maggiore di aziende utilizzasse effettivamente la loro procedura di adattamento migliore nei sistemi di previsione che acquistano o se regolassero realmente i modelli. Sarei interessato a una discussione su come prevenire l’overfitting quando si utilizza una procedura di adattamento migliore. 4 anni fa | Shaun Snapp


Ho pubblicato una risposta di follow-up su https://blog.lokad.com/journal/2014/5/20/how-to-mitigate-overfitting-when-forecasting-demand Spero che possa essere utile! 4 anni fa | Joannes Vermorel


Grazie per la presentazione. Mi ha aiutato a capire l’overfitting, senza entrare nei dettagli matematici. 8 anni fa | Shyam Prasad Murarka


Grazie per la presentazione. 8 anni fa | Abhishek