01. Predictive Analytics
Indice
Panoramica
Obiettivo della Predictive Analytics
Definizione
La predictive analytics è l’area dell’analisi dei dati che usa informazioni storiche per prevedere eventi futuri, trend e pattern di comportamento.
In pratica: non si limita a descrivere cosa è successo, ma cerca relazioni nei dati passati e le usa per stimare cosa potrebbe succedere dopo. Nell’Operational Analytics questo serve a prendere decisioni operative oggi: quante risorse pianificare, quanto stock tenere, quante persone mettere in turno, quali investimenti preparare.
La logica di base è semplice:
- esistono variabili esplicative, cioè fattori che aiutano a spiegare un fenomeno;
- esiste una variabile da prevedere, cioè il risultato che vogliamo stimare;
- dai casi passati si imparano relazioni utili;
- queste relazioni vengono applicate a situazioni future o non osservate.
Esempio operativo
Un retailer usa le vendite degli ultimi anni per prevedere la domanda della prossima settimana. Se la previsione indica un picco, può aumentare lo stock e pianificare più personale in negozio.
Orizzonti di previsione
Definizione
L’orizzonte di previsione è la distanza temporale tra il momento in cui si produce la previsione e il periodo futuro che si vuole stimare.
Gli orizzonti principali sono:
- breve termine: giorni o settimane, utile per turni, vendite retail, fabbisogni immediati di risorse;
- medio termine: settimane o mesi, utile per vendite per categoria, forza lavoro, materiali;
- lungo termine: mesi o anni, utile per trend di crescita, capacità di magazzino, trend di mercato.
Le previsioni sono quasi sempre sbagliate
Una previsione non va interpretata come un numero esatto. È una stima con incertezza: per questo dovrebbe includere media, dispersione e intervallo di confidenza.
Due regole pratiche sono fondamentali:
- le previsioni su dati aggregati sono spesso più affidabili di quelle su dati molto dettagliati;
- l’affidabilità tende a diminuire quanto più ci si spinge lontano nel futuro.
Modelli di Previsione
Definizione
Un modello di previsione è un metodo, qualitativo o quantitativo, usato per stimare valori futuri a partire da dati, giudizi esperti o relazioni causali.
I modelli si dividono in due grandi famiglie:
- soggettivi, basati su giudizio umano, esperienza o opinioni raccolte;
- oggettivi, basati su modelli matematici e dati misurati.
Modelli soggettivi
I modelli soggettivi sono utili quando i dati storici sono pochi, rumorosi o non rappresentativi del futuro. Sono frequenti in contesti nuovi, mercati emergenti o decisioni strategiche.
Esempi:
- Sales Force Composite: si aggregano le stime dei venditori;
- sondaggi tra clienti: si chiede direttamente al mercato cosa intende acquistare;
- opinioni dei manager: si sfrutta esperienza interna;
- Delphi: si raccolgono opinioni individuali, si condividono in forma anonima, si ripete il processo fino a convergere verso un consenso.
Quando usarli
I modelli soggettivi sono adatti quando conta molto la conoscenza contestuale: lancio di un nuovo prodotto, cambiamenti normativi, ingresso in un nuovo mercato.
Modelli oggettivi
Definizione
Un modello oggettivo usa una struttura matematica per collegare dati osservati e valori da prevedere.
Il ciclo di lavoro ha tre fasi:
- model specification: scelta della tecnica di previsione;
- model fitting: stima dei parametri per rendere il modello coerente con i dati storici;
- model diagnosis: validazione, cioè controllo della coerenza tra dati reali e previsioni.
In pratica: prima decidiamo la forma del modello, poi la adattiamo ai dati, infine controlliamo se funziona abbastanza bene per supportare decisioni operative.
Serie Temporali
Definizione
Una serie temporale è una sequenza di valori indicizzati nel tempo che descrive la dinamica di un processo.
Una serie temporale può rappresentare vendite giornaliere, costi mensili del lavoro, permessi edilizi settimanali, prestiti concessi da una banca, giornate di degenza ospedaliera o produzione agricola annuale.
In pratica: una serie temporale è una storia numerica. Ogni osservazione ha senso perché è collocata in un ordine temporale. L’obiettivo è capire se la storia contiene pattern che possono ripetersi.
Esempio
Le vendite trimestrali di TV mostrano una crescita generale, ma anche oscillazioni ricorrenti tra trimestri. Questo suggerisce la presenza sia di trend sia di stagionalità.
Un time plot rappresenta la serie su un grafico bidimensionale:
- asse verticale: variabile di interesse;
- asse orizzontale: tempo.
Il grafico è spesso il primo strumento diagnostico: permette di vedere trend, picchi, stagionalità, outlier e discontinuità.
Forecasting univariato e multivariato
Definizione
Il forecasting di serie temporali consiste nel prevedere i valori futuri che una serie assumerà.
Tipi principali:
- univariate time series forecasting: usa solo i valori passati della stessa serie;
- multivariate time series forecasting: prevede più serie contemporaneamente;
- modelli con variabili esogene: prevedono una singola serie usando anche predittori esterni.
Esempio: per prevedere le vendite si possono usare solo le vendite passate, oppure aggiungere prezzo, promozioni, festività, meteo e campagne marketing.
Approcci statistici e machine learning
Due approcci principali:
- statistica: usa modelli teoricamente definiti, più interpretabili e giustificabili;
- machine learning: spesso molto efficace su relazioni complesse e non lineari, ma meno trasparente.
Note
I metodi statistici come regressione, modelli Box-Jenkins, exponential smoothing e filtri di Kalman sono più spiegabili, ma possono faticare con relazioni non lineari complesse. I modelli di machine learning possono migliorare l’accuratezza, ma richiedono attenzione su interpretabilità e validazione.
Regressione, Prediction e Forecast
Definizione
La regressione stima la relazione tra una variabile dipendente e una o più variabili indipendenti, dette anche predittori.
La regressione non serve solo a prevedere: serve anche a capire come cambia una variabile dipendente quando i predittori sono fissati. In contesti di Predictive Analytics, però, viene spesso usata come modello di previsione.
Differenze operative:
- prediction: stima valori per osservazioni già presenti nel campione usato per stimare il modello;
- forecast: stima valori futuri, fuori dal campione usato per stimare il modello;
- residuo: differenza tra valore reale e valore predetto nel campione di training;
- forecast error: differenza tra valore futuro reale e valore previsto.
Punto chiave
Un modello può avere residui piccoli sui dati storici ma forecast error grandi sui dati futuri. Quello che conta per decidere bene è la capacità fuori campione, non solo l’adattamento al passato.
Decomposizione delle Serie Temporali
Definizione
La decomposizione di una serie temporale separa la serie in componenti interpretabili, ciascuna associata a un diverso tipo di pattern.
L’idea è che il valore osservato non sia un blocco unico, ma una combinazione di fenomeni diversi: direzione di lungo periodo, cicli ricorrenti, rumore e possibili eventi eccezionali.
Componenti principali
Le componenti più comuni sono:
- trend: direzione persistente crescente o decrescente, spesso modellata con funzione lineare, quadratica o esponenziale;
- stagionalità: pattern ripetitivi con periodicità nota, ad esempio settimane, mesi, trimestri o anni;
- ciclo: oscillazioni ripetute ma non strettamente periodiche, spesso legate a condizioni economiche;
- componente random: rumore irregolare, non spiegato dal modello;
- componente occasionale: discontinuità rare, dovute a guerre, crisi politiche, innovazioni o shock esterni.
Esempio
Le vendite di camper possono avere un trend crescente di lungo periodo, stagionalità annuale, cali legati a recessioni e rumore casuale. Separare queste componenti aiuta a capire se un calo è normale stagionalità o un vero cambio di scenario.
Modelli additivi, moltiplicativi e misti
Le componenti possono combinarsi in modi diversi:
- modello additivo:
y_t = trend + stagionalità + ciclo + rumore; - modello moltiplicativo:
y_t = trend * stagionalità * ciclo * rumore; - modello misto: alcune componenti sono moltiplicate, altre sommate.
Scelta pratica
Usa un modello additivo quando le oscillazioni attorno al trend restano circa costanti. Usa un modello moltiplicativo quando l’ampiezza delle oscillazioni cresce insieme al livello della serie.
Un metodo comune è STL (Seasonal-Trend decomposition using Loess), che separa la serie in stagionalità, trend e componente irregolare. La parte ciclica viene spesso inglobata nel trend.
STL Empirico e Stagionalità
Trend lineare
Definizione
Il trend lineare approssima l’andamento medio della serie con una retta che minimizza l’errore quadratico rispetto ai punti osservati.
Nel caso più semplice, si cerca una funzione del tipo y = theta_0 + theta_1 x. Il coefficiente theta_1 misura la pendenza: se è positivo la serie cresce, se è negativo decresce.
In pratica: il trend lineare è una linea guida. Non cattura stagionalità o shock, ma aiuta a separare la crescita di fondo dalle oscillazioni periodiche.
Correlogrammi e autocorrelazione
Definizione
Un correlogramma è un grafico che mostra l’autocorrelazione di una serie temporale al variare del lag usato per confrontare la serie con sé stessa spostata nel tempo.
L’autocorrelazione risponde a una domanda pratica: i valori di oggi somigliano ai valori di uno, due, tre o più periodi fa?
Se la correlazione è alta a lag regolari, la serie probabilmente contiene stagionalità. Nel caso del fil rouge delle slide, il correlogramma evidenzia una stagionalità di 4, coerente con dati trimestrali.
Note
Pearson misura correlazioni lineari, Spearman è non parametrico e ragiona sui ranghi. Entrambi possono essere usati per cercare pattern di autocorrelazione.
Deseasoning e previsione
Definizione
Il deseasoning rimuove l’effetto stagionale da una serie per isolare meglio trend e componente casuale.
In un modello moltiplicativo, se il valore osservato è circa trend * stagionalità * rumore, per rimuovere la stagionalità si divide per il coefficiente stagionale. Rimangono trend e rumore.
Passi pratici del procedimento empirico:
- stimare il trend, ad esempio con regressione lineare;
- identificare la periodicità con autocorrelazione o conoscenza del dominio;
- stimare coefficienti stagionali;
- rimuovere la stagionalità per analizzare trend e rumore;
- proiettare trend e stagionalità nei periodi futuri.
Attenzione alla scala
Se la varianza cresce troppo con il livello della serie, può servire una trasformazione logaritmica prima della modellazione. Questo rende le oscillazioni più stabili e riduce il rischio di forecast irrealistici.
Validazione e Train-Test Split
Definizione
La validazione fuori campione misura la qualità di un modello su dati non usati nella fase di apprendimento.
In ogni processo di apprendimento bisogna separare:
- training set: dati usati per stimare il modello;
- test set: dati tenuti da parte e usati solo per valutare la previsione.
Per le serie temporali, la separazione deve rispettare l’ordine del tempo: si addestra sul passato e si testa sul futuro. Split comuni sono 50-50, 70-30 o 90-10, a seconda della quantità di dati disponibile.
Overfitting
L’overfitting si verifica quando un modello si adatta troppo bene ai dati storici ma generalizza male sui dati futuri.
Cause tipiche:
- troppi parametri rispetto alla quantità di dati;
- scelta del modello tra molti candidati minimizzando solo l’errore nel periodo di stima;
- uso improprio del test set durante la fase di apprendimento.
La k-fold cross validation è comune in molti problemi di machine learning, ma non è adatta in modo diretto alle serie temporali, perché romperebbe la dipendenza temporale tra osservazioni.
Prossimi Argomenti
Continueremo con:
- Predictive Data Preprocessing - preparazione delle serie prima della modellazione.
- Predictive Statistical Models - modelli statistici per costruire previsioni su serie temporali.
- Prescriptive Analytics - passaggio dalla previsione alla scelta della migliore azione.