05. Predictive Machine Learning Models

Slide PDF

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 epsilon e 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 o rbf;
  • C: controlla il compromesso tra errore e regolarita;
  • gamma: controlla quanto e locale l’effetto dei singoli punti nel kernel rbf;
  • 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-2 e lag-1 come input. Se l’albero impara che quando lag-1 > 155 la 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 m variabili tra tutte le feature disponibili;
  • si sceglie il miglior split solo tra quelle m variabili;
  • 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:

  1. Definire il target operativo: domanda, vendite, carico, ritardo, rischio.
  2. Costruire feature temporali: lag, finestre mobili, stagionalita, variabili esterne.
  3. Applicare preprocessing: gestione missing values, scaling, trasformazioni, outlier detection.
  4. Separare train e test rispettando il tempo.
  5. Addestrare modelli candidati: SVR, decision tree, random forest, gradient boosting.
  6. Valutare con metriche coerenti, come MAE, RMSE o MAPE.
  7. Confrontare accuratezza, stabilita, interpretabilita e costo computazionale.
  8. 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: