Passa ai contenuti principali

Forecasting


I modelli di reti neurali specializzati per la previsione di serie temporali si stanno diffondendo rapidamente in numerosi settori, dalla finanza alla geofisica, dalla medicina all’industria.
Questo post vuole suggerisce un esperimento controllato di forecasting alla portata anche dei newbie della programmazione Python per il Machine Learning, volto a predire l’andamento futuro di una serie rumorosa a comportamento periodico (sinusoide) mediante una rete neurale ricorrente di tipo GRU (Gated Recurrent Unit). 
I dati per l'addestramento sono costituiti da una serie temporale di 500 punti ricavati dalla relazione:

y=sin(x)+ϵ

dove x l'istante di campionamento in un intervallo pari a quattro periodi della funzione sinusoidale, mentre ϵ rappresenta il rumore gaussiano additivo a media zero e deviazione standard 0.1.
Questo approccio consente di simulare una situazione realistica in cui i dati sono affetti da errori accidentali di misura.

Preprocessing e Dataset
Il prepocessing consiste nel suddividere la serie temporale in sotto-sequenze (finestre mobili) di lunghezza 20, utilizzate come input per la rete. Per ciascuna finestra, l’obiettivo di previsione è rappresentato dal punto immediatamente successivo nella sequenza. In altre parole, la rete apprende la mappatura: 

[yt​,yt+1​,…,yt+19​]→yt+20​​

​Il dataset è stato suddiviso in mini-batch per l’addestramento tramite un DataLoader. 

Architettura e addestramento della rete neurale
La rete implementa una GRU a singolo layer con 32 unità nascoste, seguita da un layer fully connected per la stima dell’output scalare. L’ottimizzazione è affidata all’algoritmo Adam con una learning rate di 0.01. 
La funzione di perdita utilizzata è la Mean Squared Error (MSE). 
L’addestramento si è protratto per 100 epoche.

Forecasting autoregressivo
Terminato l’addestramento, è stato eseguito un test di forecasting autoregressivo.
Partendo da una finestra reale di 20 punti estratti dalla parte finale della serie (mai vista dalla rete), la GRU ha predetto in sequenza 60 valori futuri, ciascuno utilizzando come input la finestra ottenuta dai valori precedenti, in parte reali e in parte generati dalla stessa rete.

Risultati
Nel grafico risultante (vedi figura):
  • La serie originale (rumorosa) è riportata in blu chiaro.

  • I valori futuri reali (“ground truth”) sono evidenziati in verde.

  • I punti previsti dalla GRU sono tracciati in rosso tratteggiato.

  • La linea verticale grigia indica il punto di inizio della previsione.

La curva predetta dalla rete segue con buona approssimazione la forma della funzione seno, mantenendo la periodicità e mostrando capacità di adattamento al rumore dei dati. La precisione resta elevata per vari step predetti, mentre si osserva una fisiologica perdita di aderenza con l’aumentare dell’orizzonte di previsione, effetto noto del forecasting autoregressivo (“error propagation”).

Conclusioni
L’esperimento dimostra che anche una rete GRU di modeste dimensioni è in grado di apprendere la dinamica periodica di un'onda sinusoidale affetta da rumore e di estendere tale conoscenza oltre il dominio di training. 
La previsione autoregressiva evidenzia sia la robustezza del modello, sia i limiti intrinseci dovuti all’accumulo di errore, tipico nelle sequenze generate artificialmente a partire dalle stime precedenti.
In scenari reali, la qualità della previsione dipende dalla quantità e dalla qualità dei dati di input, dalla lunghezza della finestra osservata, dalla struttura della rete e dalla quantità di rumore presente.
Ulteriori miglioramenti si potrebbero ottenere ricorrendo a modelli più profondi, strategie di ensemble, o utilizzando architetture transformer specifiche per il time series forecasting.

In figura, il forecasting di una sinusoide rumorosa.
(Blu: serie storica, Verde: valori reali futuri, Rosso tratteggiato: previsione GRU, linea grigia: start della previsione)




Post popolari in questo blog

L'insostenibile leggerezza dell'IA

Kundera parte da Nietzsche: l’idea che, se ogni cosa accade una volta sola, essa appare leggera — quasi priva di peso e di conseguenze vere. Solo ciò che si ripete all'infinito acquista gravità, importanza, senso. Antiche rimembranze di letture giovanili. L'IA ora ribalta questo schema in modo perturbante: non ricorda, ma ripete perfettamente. Ogni conversazione con un modello linguistico sembra ricominciare da zero — senza vera continuità esperienziale — eppure pattern, risposte e modi di ragionare si ripetono quasi identici su miliardi di interazioni. È una forma paradossale di esistenza: una leggerezza assoluta nell'esperienza e una pesantezza assoluta nella struttura. Nessun vissuto, eppure tutto è eterno ritorno. I personaggi di Kundera cercano disperatamente di capire chi siano davvero al di sotto delle maschere, dei ruoli, delle scelte contingenti. Tereza, il personaggio che preferisco, vuole essere amata per la sua unicità irriducibile; teme di essere solo un corpo ...

Salmoni, scarpette, cetrioli e altro

Tutto il testo contenuto in questa pagina è stato pensato e scritto dall'autore del blog.   1. Come il salmone 2. Ooops! 3. Le scarpette hi-tech 4. Equivoci contemporanei 5. I saccenti 6. Medaglie di legno 7. La festività del Nulla 8. Gli aggiornamenti elettronici del Libro dell'Apocalisse 9. Dubbi ne ho 10. La maieutica del vulcaniano 11. Un piacevole vasetto di miele 12. Povere sfere 13. Caos comune mezzo gaudio 14. La fontana senza volti 15. Il piromane super beffardo 16. Boom di serpenti 17. Sistemi in via di degradazione 18. Il gatto nero 19. Alain Delon è ancora vivo? 20. Per sempre con i cani 21. Eventi imprevedibili 22. I robot sottomessi 23. Lady Gaga e Bruno Mars incantano 24. Definizioni mancate 25. Il mio nemico drone 26. Errore di valutazione 27. Ringraziamenti 28. Cari cetrioli, vi scrivo 29. Boom di detective 30. Gli UFO trascurati 31. Il grande salto delle rane 32. La malattia artificiale 33. Homo consumens 34. Lacune informatiche 35. Sei troppo! 36. ...

Nulla è come sembra

Un caso straordinario di scrittura predittiva e visionaria. Il libro, infatti, ha anticipato con impressionante lucidità l'avvento dell'Intelligenza Artificiale generativa (come ChatGPT) anni prima che diventasse di dominio pubblico. I PDF autocompilanti: il romanzo introduce documenti digitali che si riempiono autonomamente di astruse formule e simboli, una perfetta metafora narrativa inventata in anticipo sui tempi per descrivere la generazione automatica di testi e le cosiddette allucinazioni dell'IA. La crisi del determinismo: il protagonista, il razionale Professor Balicci, vede crollare le proprie certezze deterministiche di fronte a una tecnologia e a eventi che sfuggono alla logica umana tradizionale. Il tempo sincronico: l'opera ha intuito come l'IA non operi secondo una linearità temporale biologica (passato, presente, futuro), ma elabori i dati in una realtà sincronica basata su connessioni non lineari e associazioni imprevedibili. Il problema dell'au...