05. Predictive Machine Learning Models
Indice
Obiettivo del Modulo
Definizione
I modelli predittivi di machine learning sono algoritmi che imparano relazioni dai dati storici e le usano per produrre previsioni o decisioni su casi futuri, senza essere programmati con regole esplicite per ogni situazione.
In pratica: invece di specificare una formula rigida come nei modelli statistici classici, si forniscono esempi passati al modello. Il modello cerca pattern utili e li applica a nuovi input.
Nel contesto di Operational Analytics, questi metodi servono quando i fenomeni operativi sono complessi, non lineari o influenzati da molte variabili: vendite, domanda, carichi di lavoro, rischio di stock-out, tempi di consegna o capacita produttiva.
Note
Questo modulo si concentra su modelli non neurali: Support Vector Regression, decision trees, boosting, bagging e random forest. Le reti neurali sono un argomento successivo e richiedono una trattazione separata.
Machine Learning per il Forecasting
Apprendimento supervisionato
Definizione
L’apprendimento supervisionato e un approccio in cui il modello riceve esempi composti da input e output osservato, e impara a prevedere l’output di nuovi input.
Per il forecasting, l’output e spesso un valore futuro. Gli input possono essere:
- valori passati della stessa serie, come
lag-1,lag-2,lag-12; - variabili esterne, come prezzo, promozioni, meteo, festivita o capacita disponibile;
- feature derivate tramite preprocessing, come trend, stagionalita o trasformazioni viste in Predictive Data Preprocessing.
Esempio operativo
Per prevedere le vendite di agosto, si puo costruire una tabella in cui ogni riga contiene le vendite dei tre mesi precedenti e come target la vendita del mese successivo. Il modello impara dai mesi passati e restituisce una stima per agosto.
Dal modello statistico al modello data-driven
Nei modelli statistici predittivi, spesso si parte da ipotesi esplicite sulla struttura della serie: autoregressione, media mobile, stagionalita, residui. Nel machine learning, invece, l’attenzione si sposta sulla capacita dell’algoritmo di approssimare una relazione input-output.
Differenza pratica:
- un modello statistico e spesso piu interpretabile e legato alla teoria della serie temporale;
- un modello ML puo catturare relazioni non lineari e interazioni tra variabili;
- un modello ML richiede attenzione maggiore a preprocessing, validazione e rischio di overfitting.
Validazione temporale
Nel forecasting non bisogna mischiare passato e futuro nel train-test split. La validazione deve rispettare l’ordine temporale, come gia discusso in Validazione e Train-Test Split.
Support Vector Machines e SVR
Support Vector Machines SVM
Definizione
Una Support Vector Machine e un classificatore supervisionato che cerca un iperpiano capace di separare esempi etichettati massimizzando il margine tra le classi.
In pratica: l’algoritmo non cerca solo una linea che separi due gruppi, ma cerca la linea piu robusta, cioe quella piu lontana possibile dai punti critici vicini al confine. Questi punti critici sono i support vectors.
Per la classificazione, l’output dipende dal lato dell’iperpiano in cui cade un punto. Se la funzione decisionale ha segno positivo, il punto viene assegnato a una classe; se ha segno negativo, all’altra.
Esempio
Se si vogliono distinguere ordini ad alto rischio e basso rischio usando valore dell’ordine e ritardo medio del fornitore, una SVM cerca il confine che separa meglio i due gruppi e lascia il margine piu ampio possibile.
Support Vector Regression SVR
Definizione
La Support Vector Regression estende l’idea delle SVM alla regressione: invece di separare classi, cerca una funzione che approssimi i valori numerici mantenendo gli errori entro una tolleranza
epsilon.
La tolleranza epsilon definisce un epsilon-insensitive tube: una fascia intorno alla funzione predittiva entro cui gli errori sono considerati accettabili. Il modello non penalizza gli scostamenti piccoli, ma penalizza quelli che escono dal tubo.
In pratica: se sto prevedendo la domanda giornaliera, posso decidere che un errore di pochi pezzi e accettabile. SVR prova a trovare una curva il piu possibile piatta e robusta, ignorando gli errori trascurabili e concentrandosi su quelli rilevanti.
Note
SVR bilancia due obiettivi: adattarsi ai dati entro la tolleranza
epsilone mantenere il modello semplice, cioe con una funzione non troppo irregolare.
Quando alcuni punti non possono rientrare nel tubo, si introducono slack variables: variabili che permettono violazioni controllate. Il parametro C regola quanto il modello deve essere severo nel penalizzare queste violazioni.
Kernel trick e parametri pratici
Definizione
Il kernel trick e una tecnica che permette a SVM e SVR di lavorare come se i dati fossero proiettati in uno spazio a dimensione piu alta, senza calcolare esplicitamente tutte le nuove coordinate.
Questo serve quando la relazione tra input e target non e lineare. Un kernel, per esempio rbf, permette di costruire una curva flessibile nello spazio originale pur mantenendo una formulazione lineare nello spazio trasformato.
Parametri pratici da ricordare:
kernel: definisce la forma della trasformazione, per esempio lineare orbf;C: controlla il compromesso tra errore e regolarita;gamma: controlla quanto e locale l’effetto dei singoli punti nel kernelrbf;epsilon: definisce la tolleranza agli errori nella SVR.
Uso pratico
SVR e sensibile alla scala delle variabili. Standardizzare input e target e spesso necessario, collegandosi direttamente alla standardizzazione.
Decision Trees e ID3
Struttura di un decision tree
Definizione
Un decision tree e una struttura ad albero in cui ogni nodo interno contiene una domanda su una variabile, ogni ramo rappresenta una risposta, e ogni foglia restituisce una previsione o una classe.
In pratica: un albero decisionale assomiglia a una sequenza di domande operative. Per esempio: la domanda prevista e alta? Il mese e dicembre? Il prezzo e scontato? Seguendo le risposte si arriva a una foglia con la previsione.
L’algoritmo ID3 e uno dei primi metodi per costruire alberi decisionali. Procede in modo greedy: a ogni passo sceglie l’attributo che sembra migliore in quel momento, senza tornare indietro a correggere scelte precedenti.
Esempio
In un problema semplice, un albero puo decidere se giocare a pallone in base a meteo, umidita e vento. Se il tempo e soleggiato e l’umidita e bassa, la foglia puo dire “play”; se piove e il vento e forte, puo dire “don’t play”.
Entropy e information gain
Definizione
L’entropy misura l’impurezza di un insieme di esempi: e bassa quando gli esempi appartengono quasi tutti alla stessa classe, ed e alta quando le classi sono mescolate.
ID3 usa l’entropia per capire se un ramo e gia abbastanza puro. Se l’entropia e zero, tutti gli esempi hanno la stessa etichetta e il ramo puo diventare una foglia. Se l’entropia e maggiore di zero, conviene continuare a dividere.
Definizione
L’information gain misura quanto una variabile riduce l’entropia dopo lo split. Un attributo e buono se divide i dati in sottoinsiemi piu puri.
Regola pratica: nella costruzione dell’albero si sceglie l’attributo con information gain piu alto, oppure con impurita piu bassa secondo criteri alternativi come Gini index, gain ratio, chi-square o reduction in variance.
Greedy non significa ottimo globale
Un albero puo scegliere split localmente buoni ma non produrre la struttura globalmente migliore. Per questo gli alberi singoli sono facili da interpretare, ma possono essere instabili.
Da classificazione a regressione
Definizione
Un regression tree e un decision tree usato per prevedere valori numerici continui invece di classi discrete.
La struttura e la stessa: si divide ricorsivamente lo spazio delle feature. Cambia il criterio di scelta dello split e cambia l’output delle foglie.
Nei regression trees:
- gli split cercano di minimizzare varianza o errore quadratico;
- ogni foglia contiene la media o la mediana dei target osservati in quella regione;
- la previsione e costante a tratti: input simili finiscono nella stessa foglia e ricevono lo stesso valore.
Forecast con lag
Con vendite mensili, si possono usare
lag-3,lag-2elag-1come input. Se l’albero impara che quandolag-1 > 155la vendita successiva e mediamente 166, usera quella foglia per prevedere il mese successivo.
Ensemble Learning
Perche combinare piu modelli
Definizione
Un ensemble combina piu modelli di base per ottenere una previsione finale piu robusta rispetto a quella di un singolo modello.
L’idea e semplice: molti modelli deboli, se sufficientemente diversi, possono compensare gli errori reciproci. In classificazione si puo usare il voto; in regressione si puo usare la media.
Vantaggi principali:
- spesso migliora la performance predittiva;
- puo includere modelli di tipo diverso;
- e relativamente semplice da implementare;
- richiede meno progettazione manuale delle regole.
Limiti principali:
- e meno interpretabile di un singolo albero;
- produce rappresentazioni meno compatte;
- puo richiedere piu risorse computazionali.
Note
Gli ensemble funzionano bene quando gli errori dei modelli base non sono troppo correlati. Se tutti sbagliano nello stesso modo, combinarli aiuta poco.
Boosting
Definizione
Il boosting addestra modelli deboli in sequenza, facendo in modo che ogni nuovo modello si concentri sugli errori lasciati dai precedenti.
In pratica: il primo modello fa una previsione imperfetta. Il secondo prova a correggere gli errori del primo. Il terzo corregge gli errori residui, e cosi via. La previsione finale combina tutti i modelli, spesso con pesi diversi.
Nel caso di Gradient Boosting Decision Trees, i weak learners sono alberi decisionali, spesso piccoli. Il modello viene costruito in modo additivo: ogni nuovo albero viene aggiunto senza modificare quelli precedenti e cerca di ridurre la loss residua.
Elementi chiave del gradient boosting:
- una loss function da minimizzare;
- un weak learner, di solito un regression tree;
- un additive model, cioe una somma progressiva di alberi.
XGBoost
XGBoost implementa gradient boosting in modo efficiente. In forecasting puo essere usato creando un dataset a finestra mobile: le ultime 12 osservazioni diventano input e il valore successivo diventa target.
Accuratezza vs costo
Il boosting puo essere molto accurato, ma l’addestramento e sequenziale: non si possono costruire tutti gli alberi indipendentemente, quindi puo essere piu lento del bagging.
Bagging
Definizione
Il bagging addestra piu modelli in parallelo su campioni casuali del dataset ottenuti con replacement, e aggrega le loro previsioni.
Il nome deriva da bootstrap aggregating. A ogni iterazione si estrae un campione dal dataset originale, rimettendo ogni osservazione nel campione dopo l’estrazione. Alcune righe compariranno piu volte, altre non compariranno.
In classificazione, il risultato finale e il voto di maggioranza. In regressione, il risultato finale e la media delle previsioni.
Intuizione
Un singolo decision tree puo cambiare molto se cambia leggermente il training set. Allenando molti alberi su campioni diversi e mediando le previsioni, si riduce questa instabilita.
Random Forest
Come funziona
Definizione
Una random forest e un ensemble di decision trees basato su bagging, con un ulteriore elemento di casualita: a ogni split ogni albero considera solo un sottoinsieme casuale delle feature.
La procedura generale e:
- si generano molti campioni bootstrap dal training set;
- si addestra un albero su ciascun campione;
- a ogni nodo si selezionano casualmente
mvariabili tra tutte le feature disponibili; - si sceglie il miglior split solo tra quelle
mvariabili; - si aggregano le previsioni di tutti gli alberi.
Per classificazione si usa il voto di maggioranza. Per regressione si usa la media delle previsioni prodotte dagli alberi.
Note
Gli alberi della random forest sono spesso lasciati non potati o poco potati. Questo li rende individualmente piu variabili, ma l’aggregazione riduce l’overfitting complessivo.
Vantaggi e limiti
Rispetto al boosting, la random forest e spesso:
- piu robusta;
- piu veloce da addestrare, perche gli alberi sono indipendenti;
- meno sensibile a piccoli cambiamenti nei dati;
- utile anche con dati parziali o rumorosi.
Limiti pratici:
- e meno interpretabile di un singolo albero;
- la selezione delle feature non e sempre esplicita;
- su dataset piccoli puo avere performance piu deboli;
- la previsione finale puo essere meno trasparente per decisioni operative da spiegare al management.
Feature importance
Una random forest puo essere usata anche per capire quali variabili hanno maggiore potere predittivo, per esempio con metodi di feature importance o Recursive Feature Elimination. Questo collega il modello alla selezione delle variabili vista nel preprocessing.
Workflow Operativo
Un workflow pratico per usare modelli ML nel forecasting e:
- Definire il target operativo: domanda, vendite, carico, ritardo, rischio.
- Costruire feature temporali: lag, finestre mobili, stagionalita, variabili esterne.
- Applicare preprocessing: gestione missing values, scaling, trasformazioni, outlier detection.
- Separare train e test rispettando il tempo.
- Addestrare modelli candidati: SVR, decision tree, random forest, gradient boosting.
- Valutare con metriche coerenti, come MAE, RMSE o MAPE.
- Confrontare accuratezza, stabilita, interpretabilita e costo computazionale.
- Usare la previsione dentro una decisione operativa, non come numero isolato.
Punto chiave
Un modello ML non migliora automaticamente il forecasting. Se le feature sono costruite male, se il test set contiene leakage o se la validazione ignora l’ordine temporale, anche un algoritmo avanzato produrra risultati poco affidabili.
Scelta rapida del modello:
- usa SVR se vuoi una regressione flessibile su dataset non enormi e ben scalati;
- usa decision tree se serve interpretabilita e una logica decisionale semplice;
- usa random forest se vuoi robustezza e buone performance senza troppo tuning;
- usa gradient boosting/XGBoost se cerchi alta accuratezza e puoi gestire piu tuning e costo computazionale.
Prossimi Argomenti
Continueremo con:
- Statistica descrittiva - strumenti per descrivere dati, distribuzioni, outlier e relazioni tra variabili.
- Confronto con modelli statistici - quando preferire ARIMA/SARIMA rispetto a modelli ML.
- Preprocessing avanzato - feature engineering, scaling e gestione del rumore prima del training.