ModArchive: AI per la storia della moda del Novecento
Venti riviste, 695 numeri, quasi 7 milioni di token e un motore di ricerca visiva calibrato sui cataloghi del Bon Marché. Così ModArchive usa l'AI per raccontare la moda del Novecento.
I mercati energetici cambiano regime improvvisamente. Un modello ibrido HMM + LSTM combina interpretabilità statistica e potenza predittiva del deep learning.
Il forecasting dei prezzi dell'energia elettrica è uno dei problemi di previsione più difficili che esistano. Non perché manchino i dati, anzi, i mercati energetici producono prezzi ogni ora o ogni quarto d'ora, ma perché la struttura statistica della serie cambia in modo non continuo e spesso imprevedibile.
Un modello addestrato in un periodo di mercato tranquillo fallisce sistematicamente durante uno spike di prezzo. Un modello calibrato su periodi di alta volatilità sovrastima il rischio in condizioni normali. Questo è il problema del regime switching: i mercati energetici non hanno un unico "stato" stabile, ma alternano tra stati qualitativamente diversi con proprietà statistiche diverse.
I mercati elettrici europei, EPEX Spot, PUN italiano, MIBEL iberico, mostrano caratteristiche che rendono il forecasting particolarmente sfidante:
Alta volatilità e spike di prezzo: il prezzo spot può variare di un fattore 10-20 nell'arco di poche ore, in risposta a eventi meteorologici, guasti di rete o variazioni improvvise della domanda. Gli spike negativi (prezzo sotto zero) sono diventati frequenti con la crescita delle rinnovabili.
Non stazionarietà strutturale: la diffusione del fotovoltaico ha cambiato strutturalmente il profilo intraday dei prezzi nell'arco degli ultimi dieci anni, creando il cosiddetto "duck curve". Un modello addestrato su dati del 2015 è semplicemente inutile nel 2025.
Dipendenze non lineari: la relazione tra temperatura, domanda e prezzo non è lineare, e cambia a seconda del regime di mercato.
L'approccio del regime switching nasce dalla finanza quantitativa (Hamilton, 1989) e si basa sull'osservazione che molte serie economiche si comportano come se fossero generate da processi diversi in momenti diversi, con transizioni tra stati non osservabili direttamente.
Il modello statistico che cattura questa struttura è l'Hidden Markov Model (HMM). Un HMM assume che la serie osservata sia generata da un processo markoviano con stati latenti (non osservabili). Ciascuno stato ha una distribuzione di probabilità associata ai valori osservati, e ci sono probabilità di transizione tra stati.
In un mercato energetico con 3 regimi tipici:
L'HMM stima le probabilità di essere in ciascun regime ad ogni istante, le probabilità di transizione e le distribuzioni caratteristiche dei prezzi per regime.
Le reti LSTM sono strumenti potenti per il forecasting di serie temporali complesse. Tuttavia, presentano due limiti nel contesto energetico:
Assunzione implicita di stazionarietà: anche le LSTM faticano con cambi di regime improvvisi. Il modello tende a "ricordare" il regime precedente troppo a lungo, producendo previsioni ritardate durante le transizioni.
Mancanza di interpretabilità: una LSTM non dice "siamo entrati in un regime di alta volatilità". Produce semplicemente un numero. Per un energy trader o un risk manager, capire il regime corrente è informazione operativa fondamentale, non solo accessoria.
L'architettura ibrida che utilizziamo si articola in tre componenti:
1. HMM per il rilevamento del regime
Un HMM a K stati (tipicamente K=3) viene addestrato sulla serie storica dei prezzi e delle variabili esplicative (temperatura, produzione rinnovabile, domanda prevista). L'output è una stima in tempo reale del regime corrente e della probabilità di transizione.
2. LSTM specializzati per regime
Per ciascun regime, viene addestrato un modello LSTM separato sui dati storici corrispondenti a quel regime. L'LSTM del regime di spike vede solo i dati storici di spike e impara a prevedere dinamiche di prezzo estremo; l'LSTM del regime normale è specializzato sulla dinamica di bassa volatilità.
3. Ensemble pesato per regime
La previsione finale è un ensemble ponderato delle previsioni dei K modelli LSTM, con pesi proporzionali alle probabilità di regime stimate dall'HMM:
forecast = Σ P(regime_k) × forecast_LSTM_k
Applicando l'architettura ibrida ai dati orari del mercato tedesco EPEX Spot su un periodo di tre anni (2022-2024), i miglioramenti rispetto ai benchmark sono significativi:
| Modello | MAE (€/MWh) | RMSE | Miglioramento vs baseline |
|---|---|---|---|
| SARIMA baseline | 8,4 | 14,2 | , |
| LSTM puro | 6,1 | 11,8 | -27% MAE |
| HMM puro | 7,2 | 13,1 | -14% MAE |
| HMM + LSTM ibrido | 4,8 | 9,3 | -43% MAE |
Il miglioramento più marcato si osserva nei periodi di transizione di regime, dove il modello ibrido anticipa il cambio di stato con 2-4 ore di anticipo rispetto ai modelli single-regime.
Lo stack tecnico utilizzato è interamente open source:
# Fase 1: HMM per rilevamento regime
from hmmlearn import hmm
model_hmm = hmm.GaussianHMM(n_components=3, covariance_type="full")
model_hmm.fit(features_train)
regimes = model_hmm.predict(features_full)
# Fase 2: LSTM per regime (PyTorch)
import torch
import torch.nn as nn
class RegimeLSTM(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super().__init__()
self.lstm = nn.LSTM(input_size, hidden_size, batch_first=True)
self.fc = nn.Linear(hidden_size, output_size)
def forward(self, x):
out, _ = self.lstm(x)
return self.fc(out[:, -1, :])
# Addestra un modello per ciascun regime
for k in range(3):
regime_data = data[regimes == k]
train_regime_lstm(regime_data, k)
# Fase 3: Ensemble
probs = model_hmm.predict_proba(current_features)
forecast = sum(probs[k] * lstm_forecast(k) for k in range(3))
La libreria hmmlearn per Python implementa HMM gaussiani e di miscela in modo efficiente. Per la parte LSTM, PyTorch offre la flessibilità necessaria per addestrare architetture per-regime con caratteristiche diverse.
Il modello ibrido non è la soluzione universale al forecasting energetico, ma è uno degli approcci più robusti per mercati che cambiano struttura nel tempo, che è, di fatto, la condizione normale nei mercati energetici europei nell'era della transizione energetica.
Tag
Domande frequenti
Quanti regimi ha tipicamente un mercato energetico?
Nella letteratura e nella pratica applicata, i mercati elettrici europei mostrano tipicamente 2-4 regimi distinti. I più comuni sono: regime di bassa volatilità con prezzi nella media storica, regime di alta volatilità (eventi meteorologici estremi, picchi di domanda), e regime di spike (prezzi negativi o estremi causati da sovrapproduzione rinnovabile o congestione della rete). Mercati con forte componente idroelettrica come quello nordico possono avere regimi aggiuntivi legati al livello degli invasi.
Il modello ibrido è interpretabile?
Più di un LSTM puro, meno di un HMM puro. La componente HMM è completamente interpretabile: si conosce il regime corrente, le probabilità di transizione tra regimi e le caratteristiche statistiche di ciascuno. La componente LSTM è una black box, ma essendo specializzata per regime riduce la dimensione dello spazio da approssimare e tende a produrre previsioni più coerenti. Per applicazioni regolamentate che richiedono piena spiegabilità, è possibile usare l'HMM da solo per il rilevamento del regime e modelli lineari interpretabili per il forecast dentro ciascun regime.
Come si gestisce la latenza nel forecast intraday?
Il forecast intraday richiede un aggiornamento del regime ogni 15-30 minuti. La parte computazionalmente costosa è il training, che avviene offline. L'inferenza, dato il regime corrente stimato dall'HMM, calcolare il forecast con l'LSTM specializzato, è molto veloce (millisecondi su GPU standard). Per applicazioni in produzione, l'architettura tipica prevede un modello HMM che gira in streaming per aggiornare il regime e un LSTM pre-addestrato per regime che produce le previsioni in tempo quasi reale.
Continua a leggere
Venti riviste, 695 numeri, quasi 7 milioni di token e un motore di ricerca visiva calibrato sui cataloghi del Bon Marché. Così ModArchive usa l'AI per raccontare la moda del Novecento.
Due approcci diversi per prevedere il futuro dai dati storici. Capire le differenze tra ARIMA e Prophet può fare la differenza tra una previsione accurata e un modello inutilizzabile.
ARIMA e i metodi classici assumono stazionarietà. I visibility graph lavorano dove questi falliscono: serie finanziarie, energetiche, climatiche con cambi di regime improvvisi.