Il Machine Learning nella previsione di serie storiche: arriva il TinyTime Mixers

La previsione ciclica del Prezzo Unico Nazionale (PUN) orario

.

Energia Elettrica Determinanti dei prezzi

Il Machine Learning è un ramo dell’intelligenza artificiale (IA) dedicato allo sviluppo di algoritmi e modelli capaci di apprendere dai dati e migliorare le proprie prestazioni su un compito specifico, senza dover essere programmati esplicitamente per ogni singolo caso. Uno degli esempi più noti è certamente GPT, un modello addestrato su grandi quantità di testi per apprendere le regole del linguaggio, al fine di prevedere la parola successiva in una sequenza di testo, migliorando progressivamente le proprie prestazioni.
Se nel campo del linguaggio, modelli come GPT hanno rivoluzionato il modo in cui l'essere umano interagisce con la IA, nel contesto dell’analisi econometrica e della previsione di serie storiche esistono modelli dal funzionamento simile.
Tra questi, uno dei più interessanti è il sistema dei Tiny Time Mixers (TTM).

In questo articolo andiamo ad analizzare lo sviluppo e l'applicazione dei Tiny Time Mixers, modelli di Machine Learning progettati specificamente per la previsione multivariata di serie temporali. I TTM sono modelli pre-addestrati e compatti, sviluppati per combinare un’elevata efficienza computazionale con un’accuratezza predittiva competitiva, rendendoli adatti a una vasta gamma di applicazioni pratiche.
Come altri modelli di ML, il sistema dei TTM apprende dai dati storici per migliorare progressivamente le proprie prestazioni predittive, adattandosi autonomamente a diversi contesti applicativi senza la necessità di essere riprogrammato ogni volta.

Pre-Addestramento: Deep Learning

I modelli TTM sono stati "pre-addestrati" per riconoscere trend e stagionalità nelle serie storiche, attraverso sistemi di Deep Learning, una tecnica avanzata di Machine Learning che utilizza reti neurali profonde per apprendere dai dati, progettata per imitare, in modo semplificato, il funzionamento del cervello umano. L’obiettivo del pre-addestramento è permettere al modello di riconoscere pattern generali nelle serie temporali, come trend, stagionalità, picchi improvvisi e rumore, indipendentemente dal dominio applicativo specifico. Durante questa fase, nota come pre-training “channel-independent”, ogni variabile viene trattata come una serie a sé stante, senza considerare le interazioni con le altre. In questo modo, il modello apprende le dinamiche temporali fondamentali di ciascun canale (variabile).

Il pre-addestramento è stato eseguito su circa un miliardo di dataset pubblici, caratterizzati da una grande eterogeneità in termini di dominio, frequenza temporale, lunghezza delle serie e numero di variabili. Questa varietà consente ai TTM di generalizzare efficacemente a contesti applicativi molto diversi tra loro.
Tecnicamente, questo processo sfrutta le stesse logiche che hanno reso potente il pre-training nei modelli linguistici come GPT. Invece di imparare a prevedere parole, il TTM si addestra a prevedere valori futuri all’interno delle sequenze temporali. Questa conoscenza viene poi raffinata durante il Fine-Tuning su dataset più piccoli e specifici, in modo da adattare i pesi della rete al contesto d’interesse.

Versioni del Modello

Nel 2024, l’attenzione della comunità scientifica si è progressivamente orientata verso lo sviluppo di modelli “fondazionali” pre-addestrati per le serie temporali. Questi modelli, caratterizzati da centinaia di milioni o addirittura miliardi di parametri, sono in grado di effettuare previsioni precise su nuovi dataset. Tuttavia, questo approccio richiede un elevato costo computazionale, risorse hardware considerevoli, lunghi tempi di addestramento e investimenti economici significativi.

Nel progettare i TTM, i ricercatori di IBM Research si sono posti l’obiettivo di sviluppare un sistema di previsione in grado di offrire prestazioni comparabili a quelle dei grandi modelli fondazionali, ma con un’architettura molto più leggera. I risultati ottenuti dimostrano che è possibile realizzare modelli compatti, caratterizzati da un numero ridotto di parametri e da un basso impatto computazionale, capaci comunque di garantire un’elevata accuratezza predittiva e una notevole efficienza in termini di risorse.

Invece di sviluppare un unico modello di grandi dimensioni in grado di adattarsi a tutti i contesti di previsione, gli sviluppatori hanno scelto un approccio alternativo: creare diversi modelli pre-addestrati più piccoli, ciascuno ottimizzato per uno specifico scenario di previsione. Ogni variante si distingue dalle altre sulla base dei seguenti parametri:

  • Lunghezza del contesto: indica quanti punti temporali passati il modello prende in considerazione per la previsione.
  • Lunghezza della previsione: indica quanti punti temporali futuri il modello è in grado di prevedere.

La scelta della variante di modello più adatta al caso d'interesse consente di ottenere risultati più accurati, mantenendo al contempo dimensioni contenute e tempi di esecuzione estremamente rapidi, con un impatto minimo sulle risorse computazionali.
Tramite la funzione get_model(.) è possibile procedere alla selezione automatica del modello, in base ai parametri imposti dall'utente.

Vuoi restare aggiornato sull’andamento dei mercati delle commodity?
Iscriviti gratuitamente alla newsletter PricePedia!

Ciclo di previsione del PUN orario

Per completare l'analisi, esaminiamo come il sistema dei TTM si comporta nella previsione del Prezzo Unico Nazionale (PUN) orario. La previsione viene effettuata utilizzando una finestra temporale mobile, applicata a tre diversi orizzonti temporali.[1]

Per sintetizzare, vengono generate tre previsioni fino al venerdì di ogni settimana, ciascuna con un orizzonte temporale differente. La prima settimana di riferimento è quella che termina venerdì 30 maggio 2025, da cui otteniamo una previsione di 3 giorni (P3), che parte da mercoledì 28, una di 5 (P5) da lunedì 26 e una di 7 (P7) da sabato 24.
Questo processo viene ripetuto ogni venerdì per 16 settimane consecutive. Per ciascun orizzonte temporale, si calcola la media dei valori RMSE (Root Mean Square Error) ottenuti nelle 16 settimane, per valutare l’accuratezza del modello.

Rispetto alla previsione presentata nell’articolo precedente, abbiamo introdotto alcune modifiche per migliorarne l’accuratezza. L’orizzonte temporale relativo alla previsione a 7 giorni (P7) è stato ridotto di un giorno, in modo da rientrare esattamente nel periodo settimanale. Inoltre, abbiamo definito un contesto di previsione specifico per ciascun orizzonte temporale (P3, P5, P7), configurando la funzione get_model(.) affinché carichi una variante del modello dedicata a ciascun caso.
Infine, i dati forniti al modello sono stati normalizzati, al fine di garantire una maggiore robustezza e stabilità nella fase di previsione.

In questo caso abbiamo imposto i seguenti parametri:
CONTEXT_LENGTH = 512 (≈ 21 giorni)
PREDICTION_LENGTH = 168 (≈ 7 giorni) per P7, 120 (≈ 5 giorni) per P5, 72 (≈ 3 giorni) per P3.

Previsione Zero-Shot

In questa modalità, il modello è stato utilizzato senza alcun addestramento specifico sui dati del mercato elettrico italiano. Sono state sfruttate esclusivamente le conoscenze acquisite durante la fase di pre-addestramento condotta dagli sviluppatori, senza alcuna modifica o aggiornamento dei parametri attraverso un ulteriore training. Quando si parla di Zero-Shot si intende esattamente questo: si richiama il modello pre-addestrato così com’è, senza alcun aggiornamento sui dati del dominio target, e lo si utilizza per generare previsioni sul nuovo dataset.
La previsione del PUN orario in modalità Zero-Shot ha riportato questi risultati:

Risultati RMSE: Previsione ZERO-SHOT
ORIZZONTE RMSE medio RMSE massimo RMSE% medio RMSE% massimo
Previsione a 7 giorni (P7) 16.748 25.442 15.455% 27.273%
Previsione a 5 giorni (P5) 14.095 25.326 12.284% 20.109%
Previsione a 3 giorni (P3) 11.466 25.383 10.110% 22.180%

I risultati ottenuti in modalità Zero-Shot mostrano una performance sorprendentemente solida, considerando che il modello non è mai stato addestrato sui dati del mercato elettrico italiano. L’RMSE medio per la previsione a 3 giorni si attesta intorno a 11,5 €/MWh, con un errore percentuale medio del 10%, valori che indicano una buona capacità del modello di catturare l’andamento generale del PUN. All’aumentare dell’orizzonte di previsione, l’errore cresce in maniera progressiva, come prevedibile, raggiungendo circa il 15% a una settimana.

Ciò che rende questo risultato particolarmente rilevante è la totale assenza di riaddestramento. Il TTM, grazie alla fase di pre-addestramento, riesce a riconoscere pattern temporali comuni a molte serie energetiche (stagionalità giornaliera ecc.) e ad applicarli con successo a un contesto completamente nuovo. Questo conferma la notevole capacità di generalizzazione del modello, che, pur non conoscendo il dominio specifico, riesce a fornire buone previsioni.

Previsione con Fine-Tuning

Il Fine-Tuning è una tecnica che consiste nel riaddestrare un modello già pre-addestrato (pre-trained) su un nuovo insieme di dati per adattarlo a un compito particolare. Per fare un esempio, è come un bambino che ha già imparato le regole base della matematica e a cui ora insegni soltanto come applicarle a un nuovo gioco. Dal punto di vista tecnico, il Fine-Tuning consiste nell’aggiornare solo una parte dei parametri del modello, partendo dai pesi già appresi durante il pre-training.
In pratica, l’utente richiama il modello pre-addestrato ed esegue il Fine-Tuning su un dataset mirato, selezionato appositamente per permettere al modello di apprendere correlazioni specifiche.

Durante il Fine-Tuning, TTM attiva il cosiddetto "channel mixing", ossia la capacità di combinare e far interagire tra loro i diversi canali (le variabili). Questa fase rappresenta il secondo livello della strategia “multi-level” adottata da TTM: se nel pre-training aveva imparato a riconoscere i pattern temporali di ciascuna serie singolarmente, come tendenze, stagionalità o variazioni improvvise (channel-independent), ora il modello impara a cogliere le relazioni tra le serie.

Seguendo un modello strutturale costruito per la previsione del PUN[2], abbiamo selezionato le seguenti variabili per costruire un dataset multivariato: PUN, GAS, CO2, SFER. Il modello impara a mappare questo contesto verso il target PUN.
Eseguire il Fine-Tuning su questo dataset consente al modello di apprendere le correlazioni tra le variabili e il prezzo dell’energia elettrica. Ad esempio, può comprendere che un aumento del prezzo del gas può anticipare un aumento del PUN, oppure che il livello di CO₂ può avere effetti ritardati sul mercato energetico.
Dopo aver eseguito il Fine-Tuning del modello pre-addestrato sul dataset target, abbiamo effettuato la previsione seguendo lo stesso ciclo predittivo utilizzato nella modalità Zero-Shot. I risultati ottenuti sono riportati nella tabella seguente.

Risultati RMSE: Previsione FINE_TUNING
ORIZZONTE RMSE medio RMSE massimo RMSE% medio RMSE% massimo
Previsione a 7 giorni (P7) 14.963 24.013 13.864% 26.200%
Previsione a 5 giorni (P5) 12.144 18.436 10.675% 18.112%
Previsione a 3 giorni (P3) 10.574 21.677 9.394% 22.475%

L’analisi dei risultati conferma l’efficacia del processo di Fine-Tuning nel migliorare la capacità predittiva del modello. Dopo l’adattamento ai dati specifici del mercato elettrico italiano, l’errore medio (RMSE) diminuisce in modo significativo rispetto alla modalità Zero-Shot: per l’orizzonte di 3 giorni, l’errore assoluto passa da circa 11,5 €/MWh a poco più di 10, mentre la previsione settimanale migliora di quasi 2 punti percentuali. Questo incremento di precisione testimonia la capacità del modello di apprendere le correlazioni strutturali tra le variabili energetiche considerate (GAS, CO₂ e SFER) e di sfruttarle per affinare la previsione del PUN.

Il modello, grazie al channel-mixing attivato durante il Fine-Tuning, è riuscito a cogliere le relazioni causali del sistema energetico, come l'effetto del prezzo del gas sul PUN o l’influenza dei costi della CO₂ nei giorni successivi.

Conclusioni

L’esperimento condotto con Tiny Time Mixer (TTM) ha mostrato in modo chiaro il potenziale dei modelli pre-addestrati nel campo della previsione di serie temporali, anche in contesti complessi come il mercato elettrico italiano. Nella modalità Zero-Shot, il modello è stato in grado di fornire previsioni ragionevolmente accurate pur senza essere mai stato addestrato su dati del PUN, a dimostrazione della solidità del pre-training multi-livello e della capacità di generalizzazione del modello.

Tuttavia, il successivo Fine-Tuning ha evidenziato un netto miglioramento delle performance: l’errore medio si è ridotto in modo consistente e la capacità del modello di catturare le relazioni tra variabili esogene e target si è rafforzata. Questo risultato conferma che, sebbene il pre-addestramento fornisca una base solida e “universale”, l’adattamento locale è essenziale per ottenere previsioni affidabili e aderenti alla realtà di un dominio specifico.

Il sistema di TTM dimostra che è possibile conciliare efficienza e precisione: un modello piccolo, opportunamente pre-addestrato e poi riadattato, può fornire previsioni affidabili, riducendo tempi e costi di sviluppo rispetto ai grandi modelli di Deep Learning tradizionali.


[1] Per approfondire la struttura del ciclo predittivo, consultare il paragrafo "Ciclo di previsioni" nell'articolo: Dall’econometria al Machine Learning: la sfida della previsione.
[2] Il modello strutturale per la previsione del PUN orario è stato descritto approfonditamente qui: Prezzo PUN orario: esiste un effetto specifico “ora”?
[3] La strttura dei Tiny Time Mixers è descritta nel documento ufficiale (IBM Research): Tiny Time Mixers (TTMs): Fast Pre-trained Models for Enhanced Zero/Few-Shot Forecasting of Multivariate Time Series.