04. Predictive Neural Models

Slide PDF

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 neuraleStatistica
input nodesvariabili indipendenti
output nodesvariabili dipendenti
weightsparametri
trainingidentificazione 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-3t-2t-1target t
100105103110
105103110115

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 = 12 e 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 MSELoss e un ottimizzatore come Adam;
  • 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 k time 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: