04. Predictive Neural Models
Indice
Obiettivo del Modulo
Definizione
I modelli neurali predittivi sono modelli di forecasting basati su reti neurali, capaci di apprendere relazioni lineari e non lineari dai dati storici senza imporre una forma statistica rigida al processo generatore.
In pratica: invece di specificare a priori una struttura come ARIMA o SARIMA, si costruisce una rete che riceve osservazioni passate e impara a produrre il valore futuro minimizzando l’errore di previsione.
Nel percorso del corso, questo modulo estende i modelli statistici predittivi: il problema resta il forecasting, ma il modello diventa piu flessibile e meno interpretabile.
Note
Una rete neurale non elimina la necessita di ragionare sui dati. Preprocessing, separazione train/test, scelta delle metriche e controllo dell’overfitting restano centrali come nei modelli statistici.
Reti Neurali per il Forecasting
Perche Usare Reti Neurali
Definizione
Una rete neurale e un modello composto da nodi collegati da pesi, addestrati per trasformare input in output attraverso funzioni lineari e non lineari.
Le reti neurali sono efficaci nel forecasting perche possono approssimare funzioni complesse. Se la previsione puo essere vista come:
valore futuro = funzione(valori passati, variabili esterne)allora una rete neurale cerca di apprendere questa funzione dai dati.
In pratica: se la domanda dipende da temperatura, pioggia, calendario e valori passati in modo non lineare, una rete puo combinare questi segnali senza richiedere una formula esplicita costruita a mano.
Caratteristiche principali:
- apprendono pattern in serie temporali lineari;
- apprendono pattern in serie temporali non lineari;
- generalizzano, se addestrate bene, a dati non visti;
- sono non parametriche, quindi non richiedono ipotesi forti sulla distribuzione del rumore.
Punto critico
La flessibilita e anche un rischio: una rete molto potente puo imparare il rumore del training set invece della struttura utile del processo.
Terminologia Neurale e Statistica
Definizione
La terminologia delle reti neurali riformula concetti statistici con nomi diversi, ma l’obiettivo resta stimare una relazione input-output.
| Rete neurale | Statistica |
|---|---|
| input nodes | variabili indipendenti |
| output nodes | variabili dipendenti |
| weights | parametri |
| training | identificazione del modello |
In pratica: quando si addestra una rete, si stanno stimando pesi esattamente come in una regressione si stimano coefficienti. La differenza e che la rete puo inserire strati nascosti e funzioni di attivazione che producono relazioni non lineari.
Time-Lagged Neural Networks
Sliding Window
Definizione
Una time-lagged neural network e una rete feedforward in cui gli input sono valori passati della serie e l’output e il valore futuro da prevedere.
La logica e la stessa dei modelli autoregressivi: per prevedere y_t, si usano y_{t-1}, y_{t-2}, …, y_{t-k}. La rete pero non si limita a una combinazione lineare.
In pratica: con una finestra di 12 mesi, la rete vede gli ultimi 12 valori e produce la previsione del mese successivo. Poi la finestra si sposta avanti di un periodo e genera un nuovo esempio di training.
Processo di apprendimento con sliding window:
- si mostra alla rete una finestra di dati passati;
- la rete calcola una previsione;
- la previsione viene confrontata con il valore reale successivo;
- tramite backpropagation si aggiornano i pesi per ridurre l’errore;
- la finestra viene spostata avanti e il ciclo riparte.
Esempio
Se la serie e mensile e
look_back = 3, un record puo essere[gennaio, febbraio, marzo] -> aprile. Il record successivo diventa[febbraio, marzo, aprile] -> maggio.
Da Serie a Dataset Supervisionato
Definizione
Trasformare una serie in un dataset supervisionato significa costruire righe in cui le colonne di input sono valori passati e la colonna target e il valore successivo.
Schema pratico:
| t-3 | t-2 | t-1 | target t |
|---|---|---|---|
| 100 | 105 | 103 | 110 |
| 105 | 103 | 110 | 115 |
Questa trasformazione e necessaria per applicare un MLP classico, che non riceve una serie come sequenza continua ma una matrice X di esempi e un vettore y di target.
Scelta del look-back
Il numero di lag deve riflettere la memoria utile del processo. Per dati mensili con stagionalita annuale,
look_back = 12e spesso una scelta naturale.
MLP per Serie Temporali
Interpretazione come Modello Autoregressivo
Definizione
Un Multilayer Perceptron (MLP) e una rete feedforward con uno o piu strati nascosti, usata per approssimare una funzione tra input e output.
Nel forecasting, un MLP con input laggati puo essere visto come una generalizzazione non lineare di un modello autoregressivo:
y_{t+1} = f(y_t, y_{t-1}, ..., y_{t-k})Con un solo neurone e attivazione lineare, il comportamento e simile a un AR(p). Con strati nascosti e attivazioni non lineari, la rete combina piu relazioni autoregressive in modo flessibile.
Collegamento con i modelli classici:
- un neurone semplice richiama un AR(p) non lineare;
- un MLP combina piu relazioni autoregressive;
- una RNN puo essere letta come una versione non lineare di modelli con memoria tipo ARMA(p,q).
Note
Le reti convoluzionali possono essere usate se ogni neurone legge sottoinsiemi predefiniti della finestra precedente, ma sono in genere piu forti nella classificazione che nella regressione di serie temporali.
Esempio Box-Jenkins Airline Passengers
Definizione
La serie Box-Jenkins airline passengers e un benchmark classico con dati mensili sui passeggeri aerei, usato per confrontare metodi di forecasting.
Nelle slide viene usato un MLP con struttura 12-8-1:
- 12 nodi di input: ultimi 12 valori mensili;
- 8 unita nascoste;
- 1 nodo di output: previsione del valore successivo.
In pratica: la rete riceve un anno di storia e prova a prevedere il mese successivo. Questa scelta e coerente con una serie mensile in cui il pattern annuale e importante.
Workflow essenziale in PyTorch:
- caricare la serie e convertirla in valori numerici;
- separare training set e test set rispettando l’ordine temporale;
- creare le finestre di input con
look_back = 12; - definire il modello con layer lineari e funzioni di attivazione, per esempio
ReLU; - addestrare con una loss come
MSELosse un ottimizzatore comeAdam; - valutare con RMSE, AIC o metriche di errore coerenti con le metriche di accuratezza.
Forecast ricorsivo
Nella previsione multi-step, il modello puo usare previsioni precedenti come nuovi input. Questo e pratico, ma gli errori possono accumularsi passo dopo passo.
Processo di Modellazione
Preprocessing
Definizione
Il preprocessing per reti neurali comprende trasformazioni che rendono i dati numericamente adatti all’apprendimento e riducono rumore, scale incompatibili e valori anomali.
Passi frequenti:
- verifica e correzione degli errori nei dati;
- ricodifica di variabili categoriche, per esempio con one-hot encoding;
- scaling delle variabili per renderle confrontabili;
- normalizzazione in intervalli come
[0,1]o[-1,1]; - selezione delle variabili indipendenti, anche con PCA;
- rimozione o gestione degli outlier;
- imputazione dei valori mancanti.
Il collegamento diretto e con Predictive Data Preprocessing: nelle reti neurali lo scaling non e opzionale quando gli input hanno scale molto diverse.
Saturazione
Con funzioni sigmoidali, valori troppo vicini ai limiti dell’intervallo possono saturare l’attivazione e rallentare l’apprendimento. Per questo alcuni autori suggeriscono scaling in intervalli piu interni, come
[0.2, 0.8].
Scelta dell’Architettura
Definizione
L’architettura di una rete neurale definisce numero di input, strati nascosti, neuroni, funzioni di attivazione e connessioni tra layer.
Scelte principali:
- input nodes: quanti lag e quante variabili esogene includere;
- hidden layers: uno strato per MLP semplice, piu strati per reti deep;
- hidden neurons: capacita del modello;
- activation function: lineare, logistica, tangente iperbolica, ReLU;
- output layer: spesso lineare nei problemi di regressione, per non limitare artificialmente il valore previsto.
Le euristiche sul numero di neuroni nascosti variano molto: n, 2n, 2n+1, n/2, 1.5n-3n. Non sono regole assolute, ma punti di partenza da validare.
Regola pratica
Parti semplice. Una rete piccola e ben validata e preferibile a una rete grande che sembra perfetta sul training set ma fallisce sul test set.
Training e Validazione
Definizione
Il training aggiorna i pesi della rete per minimizzare una funzione di errore; la validazione misura se il modello generalizza su dati non usati per addestrarlo.
Elementi da controllare:
- inizializzazione dei pesi;
- algoritmo di training, tipicamente backpropagation;
- learning rate;
- batch size;
- numero di epoche;
- criterio di stop;
- metrica di valutazione.
Per evitare overfitting, le slide suggeriscono che il training set sia almeno 5 volte il numero dei pesi della rete. Il test set dovrebbe essere circa il 10%-30% della dimensione del training set, mantenendo sempre l’ordine temporale.
Train/test nelle serie temporali
Non bisogna mescolare casualmente righe passate e future come in un dataset indipendente. Nel forecasting si addestra sul passato e si testa su un periodo successivo.
Reti Neurali Ricorrenti
RNN e Stato Interno
Definizione
Una Recurrent Neural Network (RNN) e una rete neurale con almeno una connessione all’indietro, cioe un feedback loop, che le permette di mantenere uno stato interno nel tempo.
A differenza di un MLP con sliding window, una RNN non richiede necessariamente un input separato per ogni valore passato. La memoria dei dati precedenti viene compressa nello stato dei neuroni ricorrenti o nel context layer.
La previsione puo essere vista come:
output_{t+1} ~= RNN(NetworkState, input_t, output_t)In pratica: una RNN legge la serie passo dopo passo. Quando arriva al tempo t, il suo stato interno contiene una sintesi della storia precedente, utile per prevedere t+1.
Vantaggi:
- gestisce dati sequenziali;
- accetta sequenze di lunghezza variabile;
- memorizza informazione storica.
Limiti:
- training piu lento;
- analisi matematica complessa;
- algoritmi di apprendimento difficili da controllare;
- rischio di vanishing gradient, soprattutto su dipendenze lunghe.
Backpropagation Through Time
Definizione
La Backpropagation Through Time (BPTT) e l’estensione della backpropagation alle reti ricorrenti, ottenuta srotolando la rete lungo piu istanti temporali.
In pratica: invece di vedere la RNN come un circuito con feedback, la si disegna come piu copie della stessa rete in tempi successivi. L’errore viene propagato all’indietro lungo questa sequenza di copie.
Schema operativo:
- si azzerano o inizializzano gli stati nascosti;
- si propaga la rete in avanti per
ktime step; - si calcola l’errore sul target finale o sui target intermedi;
- si propaga l’errore all’indietro attraverso la rete srotolata;
- si aggiornano i pesi condivisi.
Vanishing gradient
Se i gradienti diventano troppo piccoli, la rete non riesce piu ad aggiornare efficacemente i pesi collegati a eventi lontani nel passato. Questo limita le RNN semplici nelle serie con memoria lunga.
LSTM e GRU
LSTM
Definizione
Le Long Short-Term Memory (LSTM) sono reti ricorrenti progettate per conservare informazione utile per periodi piu lunghi tramite blocchi di memoria e gate.
Una LSTM non usa neuroni semplici, ma memory blocks. Ogni blocco contiene meccanismi che decidono cosa mantenere, cosa aggiornare e cosa restituire in output.
I gate principali sono:
- forget gate: decide quale informazione eliminare dallo stato;
- input gate: decide quali nuovi input entrano nello stato;
- output gate: decide quale parte dello stato produce l’output.
In pratica: se una serie di vendite ha un forte effetto natalizio, una LSTM puo imparare a conservare informazione stagionale piu a lungo di una RNN semplice.
Note
Le LSTM sono ancora addestrate con BPTT, ma la struttura a gate riduce il problema della memoria corta tipico delle RNN standard.
GRU
Definizione
Le Gated Recurrent Units (GRU) sono reti ricorrenti simili alle LSTM, ma con meno parametri e senza uno stato di cella separato dallo stato nascosto.
Le GRU usano due gate principali:
- update gate: decide quanta memoria precedente conservare;
- reset gate: decide come combinare nuovo input e memoria passata.
In pratica: una GRU cerca un compromesso tra capacita di memoria e semplicita computazionale. Spesso e piu veloce da addestrare di una LSTM e puo funzionare bene quando il dataset non e enorme.
LSTM o GRU?
Prova GRU quando vuoi un modello ricorrente piu leggero. Prova LSTM quando sospetti dipendenze temporali lunghe e hai dati sufficienti per stimare piu parametri.
Pro e Contro dei Modelli Neurali
Definizione
La valutazione di un modello neurale predittivo deve bilanciare accuratezza, complessita, interpretabilita e quantita di dati disponibile.
Punti di forza:
- poche restrizioni sulla forma del processo;
- capacita di gestire pattern non lineari complessi;
- elevato potere predittivo;
- automazione relativamente semplice una volta definita la pipeline.
Punti deboli:
- bassa interpretabilita rispetto a regressione, ARIMA o smoothing;
- difficolta nel derivare intervalli di confidenza/previsione;
- maggiore bisogno di dati;
- rischio di overfitting;
- tuning piu delicato di architettura e training.
Lettura operativa
Se un’azienda deve solo ottenere una previsione accurata della domanda giornaliera, una rete neurale puo essere molto utile. Se invece deve spiegare in modo trasparente perche la domanda cambia, un modello statistico interpretabile puo essere preferibile.
Prossimi Argomenti
Continueremo con:
- Modelli di machine learning predittivi - alberi decisionali, SVM, random forest ed ensemble per il forecasting.
- Quadro del corso - collegamento tra descrittivo, predittivo e prescrittivo nel ciclo decisionale.
- Modelli statistici - confronto con metodi piu interpretabili per serie temporali.