← TUTTI I PROGETTI

TIME SERIES & MACHINE LEARNING · 2026

High-Dimensional Time Series & Air Quality Forecasting

Da 516 sensori Taiwan a un benchmark PM2.5 su Beijing: come ho affrontato l'alta dimensionalità, costruito baseline credibili e valutato il contributo delle variabili ambientali, senza nascondere i limiti dei risultati.

PythonRTime SeriesLightGBMStatistical Modeling
ESPLORA IL CODICE SU GITHUB ↗
RETE ORIGINALE · TAIWAN516sensori PM2.5 · progetto universitario
BENCHMARK SUCCESSIVO · BEIJING12stazioni monitorate · previsione a 1 ora
RIDUZIONE MAE · RETROSPETTIVA−10,15%LightGBM ambientale vs persistenza, 2016

01 / LA DOMANDA

Un sensore racconta un punto. Una rete racconta un sistema.

Le concentrazioni di particolato cambiano nel tempo, ma non in modo isolato. Vento, condizioni atmosferiche ed emissioni possono influenzare più aree contemporaneamente. Mi interessava capire se questa dipendenza potesse diventare informazione utile, invece che una complicazione da ignorare.

IL PUNTO DI PARTENZA

516 serie, poche osservazioni

Nel progetto universitario, sviluppato con Emidio Grillo e Luca Nudo, abbiamo studiato 744 osservazioni orarie di 516 sensori Taiwan AirBox. Un VAR tradizionale richiede rapidamente troppi parametri: la regolarizzazione aiuta a gestire la dimensionalità e a controllare la complessità.

R · Serie temporali multivariate · VAR regolarizzato
L'ESTENSIONE SUCCESSIVA

La previsione deve battere qualcosa di semplice

Ho poi affrontato un problema distinto: prevedere il PM2.5 dell'ora successiva sui dati di 12 stazioni Beijing. Il riferimento era volutamente elementare: usare come previsione il valore appena osservato. Ogni modello più complesso doveva dimostrare di aggiungere valore.

Python · Forecasting · Machine Learning
TAIWAN · IL PROBLEMA ORIGINALE

Quando le variabili superano le osservazioni

VAR(1) · esempio di complessità
OSSERVAZIONI NEL TEMPO744ore disponibili per serie
vs
COEFFICIENTI VAR(1)266.256516 × 516, senza intercette
Perché è interessante?

Ogni sensore potrebbe dipendere dal passato degli altri 515. La matrice dei coefficienti cresce quadraticamente con il numero di serie, mentre la storia osservata resta corta. La regolarizzazione serve a limitare la complessità, non a creare nuove osservazioni.

Visualizzazione concettuale: le 516 celle rappresentano il numero di serie, non la posizione geografica né la struttura stimata delle dipendenze. Il conteggio 266.256 è quello di un VAR(1) non vincolato, non il numero di coefficienti effettivamente selezionati dal BigVAR originale.
SECONDO CAPITOLO · ESTENSIONE SUCCESSIVA

Da Taiwan a Beijing: un’altra domanda, un altro dataset.

Il lavoro universitario si concentrava sull’alta dimensionalità. Nel benchmark successivo ho studiato invece la previsione a un’ora e il contributo di nuove variabili. I risultati non sono trasferibili automaticamente da un contesto all’altro.

GEOGRAFIA DEL DATASET · MAPPA INTERATTIVA

Dalla Cina alle 12 stazioni di Beijing

OpenStreetMap · Esri

Esplora la posizione delle stazioni sulla cartografia reale. Parti dalla Cina intera, avvicinati a Beijing e seleziona un punto arancione per visualizzare le coordinate.

STILE MAPPA
Caricamento cartografia interattiva…
Trascina per spostarti, usa la rotellina o i pulsanti +/− per lo zoom e tocca i marcatori per i dettagli. La mappa usa OpenStreetMap (stradale) oppure Esri World Topographic Map (terreno), senza chiavi API; i punti rappresentano le 12 stazioni del benchmark Beijing e non i 516 sensori Taiwan. Coordinate indicative arrotondate, da verificare con i metadati originali prima di un'analisi spaziale.

I due dataset non sono intercambiabili: Beijing non è un test del modello Taiwan e i risultati non vengono confrontati direttamente.

02 / LE SCELTE

Prima definire una previsione corretta. Poi scegliere il modello.

01

Un obiettivo misurabile

Prevedere PM2.5 all'ora t usando soltanto misure dell'ora t−1 o precedenti. Nessuna variabile ambientale osservata nello stesso istante da prevedere.

02

Una baseline credibile

Partire dalla persistenza. È semplice, riproducibile e spesso competitiva nelle previsioni a brevissimo termine.

03

Esperimenti progressivi

Nel benchmark riproducibile, confrontare la persistenza con LightGBM basato sui ritardi PM2.5 e con la versione arricchita da covariate ambientali ritardate.

04

Una valutazione temporale

Separare i periodi cronologicamente, valutare tutti i modelli sulle stesse osservazioni valide e documentare ore escluse e previsioni negative.

2013–2014Addestramento
2015Validazione storica
2013–2015Nuovo fit
2016Valutazione retrospettiva

03 / DENTRO I MODELLI

Non basta usare un modello: bisogna sapere cosa sta imparando.

La parte più interessante del progetto è il legame tra due problemi: modellare le dipendenze in una rete di serie temporali e trasformare quelle dipendenze in una previsione verificabile. Le formule qui sotto descrivono il principio dei metodi; dove parlo del VAR mi riferisco allo studio Taiwan, mentre la pipeline LightGBM appartiene all'estensione Beijing.

01 / TAIWANModello statistico

VAR: ogni serie può dipendere dal passato delle altre

In un Vector Autoregression di ordine p, il vettore delle misure all'istante t è spiegato dai vettori osservati nelle p ore precedenti. Ogni matrice di coefficienti descrive quali serie influenzano quali altre, a uno specifico ritardo.

yₜ è un vettore di d serie; Aₗ è una matrice d × d per ciascun ritardo.

Con d = 516, un VAR con un solo ritardo ha già 266.256 coefficienti autoregressivi, prima di contare l'intercetta. A fronte di 744 osservazioni orarie, stimarli senza vincoli non è una strada realistica.

Perché regolarizzare?

Una penalizzazione rende il problema più stabile e può favorire una struttura sparsa: non tutte le connessioni tra sensori devono essere diverse da zero. È il principio che motiva il VAR regolarizzato nel progetto universitario.

Esempio didattico: penalità L1 sui coefficienti del VAR. Non è una dichiarazione della configurazione esatta del BigVAR originale.

Il parametro λ controlla il compromesso: valori più grandi spingono più coefficienti verso zero; valori troppo grandi possono eliminare anche relazioni utili. Questa formula illustra una possibile regolarizzazione L1, senza attribuirla come specifica implementazione ai file originali non pubblicati.

02 / BEIJINGBaseline

Persistenza: il modello da battere

Prima di introdurre algoritmi più sofisticati, serve un riferimento che chiunque possa comprendere: la previsione dell'ora successiva coincide con l'ultima misura osservata.

Per la stazione s, il valore previsto all'ora t è quello osservato all'ora t−1.

Su orizzonti di un'ora il PM2.5 è spesso persistente: una baseline così semplice può già ottenere buoni risultati. Se un modello più complesso non la supera, la complessità aggiunta è difficile da giustificare.

03 / BEIJINGGradient boosting

LightGBM: tanti alberi piccoli che correggono gli errori

LightGBM è un'implementazione efficiente del gradient boosting su alberi decisionali. Un albero suddivide lo spazio delle variabili in regioni e produce una previsione per ogni regione. Nel boosting, gli alberi vengono aggiunti progressivamente per ridurre l'errore della previsione corrente.

Nel benchmark gli alberi stimano la variazione di PM2.5, che viene sommata all'ultima misura osservata.

Qui x contiene lo storico del PM2.5 di tutte le 12 stazioni (ritardi 1, 2, 3, 6, 12 e 24 ore), le componenti cicliche del calendario e, nella versione completa, misure ambientali ritardate di un'ora. L'algoritmo può catturare interazioni e non linearità senza doverle specificare a mano.

Schema concettuale della funzione obiettivo: errore quadratico più controllo della complessità degli alberi.

Nel codice pubblicato uso 70 alberi, learning rate 0,045, massimo 31 foglie e regolarizzazione L2 pari a 10. Il numero di alberi e il learning rate regolano quanto gradualmente viene costruita la previsione; la struttura degli alberi e la penalizzazione ne limitano la complessità. Questi parametri sono una configurazione storica fissata per il confronto, non il risultato di una selezione su un test incontaminato.

04 / VALUTAZIONEMetriche

MAE e RMSE: due modi diversi di misurare l'errore

Una previsione va giudicata su osservazioni che non sono state usate per stimare il modello. Qui confronto le previsioni sulle stesse ore valide e riporto sia l'errore assoluto medio sia la radice dell'errore quadratico medio.

MAE · errore medio assoluto

Facile da interpretare nelle unità del PM2.5: ogni errore pesa linearmente.

È la metrica principale: risponde alla domanda «di quanto sbaglio, in media?».

RMSE · radice dell'errore quadratico medio

Gli errori grandi pesano di più perché vengono elevati al quadrato.

È utile quando vogliamo evidenziare maggiormente le previsioni molto sbagliate.

Un punto metodologico decisivo: il modello LightGBM è addestrato a minimizzare una perdita quadratica, mentre il risultato principale è riportato in MAE. Non sono la stessa cosa: un modello può migliorare una metrica senza migliorare necessariamente l'altra.

IL FILO LOGICO

Il VAR aiuta a ragionare sulle dipendenze fra serie. La persistenza definisce il livello minimo da superare. LightGBM prova a sfruttare relazioni non lineari e variabili aggiuntive. MAE e RMSE misurano il risultato. E la separazione temporale — insieme alla consapevolezza dei limiti del test retrospettivo — determina quanto possiamo fidarci delle conclusioni.

DAL MODELLO ALLA DECISIONE

Perché proprio questi modelli?

Un buon esperimento non è una gara a chi usa l’algoritmo più complicato. Ho organizzato il confronto per rispondere a domande successive, ciascuna con una scelta verificabile.

DOMANDA 01

Quanto è difficile prevedere l’ora successiva?

Persistenza. È il riferimento minimo: se non supero l’ultima osservazione disponibile, il modello complesso non aggiunge valore.

DOMANDA 02

Il passato della rete è sufficiente?

LightGBM con soli ritardi PM2.5. Misura il contributo di uno storico multistazione senza aggiungere variabili meteorologiche.

DOMANDA 03

Le condizioni ambientali migliorano la previsione?

LightGBM con covariate ritardate. Mantengo la famiglia di modello e confronto il guadagno dovuto all’aggiunta delle informazioni ambientali.

Questo confronto è un’ablation study retrospettivo, non una prova causale del ruolo della meteorologia: variabili correlate e scelte precedenti possono influenzare i risultati.

04 / COSA È EMERSO

Le informazioni ambientali aiutano. Ma il confronto conta più del numero.

Su 102.298 osservazioni stazione-ora valutabili del 2016, LightGBM con informazioni ambientali ritardate ha ridotto l'errore medio assoluto rispetto alla persistenza. Il confronto è retrospettivo: il periodo è stato consultato più volte durante lo sviluppo.

FIGURA 01 / CONFRONTO

Due metriche, una conclusione coerente

2016 · 102.298 osservazioni

MAE ↓ minore è meglio

Persistenza9,66
Solo PM2.58,80
PM2.5 + ambiente8,68

RMSE ↓ minore è meglio

Persistenza18,62
Solo PM2.516,71
PM2.5 + ambiente16,46
Valori aggregati archiviati. MAE e RMSE sono calcolati sugli stessi target validi; il 2016 è un periodo retrospettivo consultato durante lo sviluppo.
FIGURA 02 / ETEROGENEITÀ

Il miglioramento riguarda tutte le 12 stazioni?

Riduzione MAE vs persistenza
Aotizhongxin
12,76%
Nongzhanguan
11,78%
Dongsi
10,99%
Guanyuan
10,93%
Tiantan
10,81%
Huairou
10,59%
Shunyi
10,47%
Wanliu
10,18%
Wanshouxigong
9,80%
Gucheng
9,31%
Changping
6,90%
Dingling
6,43%
Tutte le 12 stazioni mostrano una riduzione del MAE rispetto alla persistenza nell'archivio 2016. Le barre indicano miglioramenti percentuali, non differenze assolute. Dati originali ↗
Che cosa impariamo dai grafici?

Il vantaggio non dipende da una sola metrica o da una sola stazione. Tuttavia la coerenza retrospettiva non sostituisce una verifica su dati nuovi. Per studiare la distribuzione degli errori orari servono previsioni e target abbinati: non sarebbe corretto inventare una curva da questi soli aggregati.

COSA SUGGERISCONO I DATI

La meteorologia aggiunge informazione

La versione con variabili ambientali ha ottenuto un MAE inferiore alla versione con solo PM2.5 in tutte le 12 stazioni, nel confronto archiviato.

COSA NON POSSIAMO CONCLUDERE

Un buon risultato storico non è una garanzia

La scelta dei modelli è stata influenzata dall'esplorazione degli stessi anni. Per misurare la generalizzazione serve un nuovo test indipendente.

Guarda il confronto per tutte le 12 stazioni +
StazionePersistenza · MAELightGBM completo · MAE
Aotizhongxin9.8988.635
Changping8.9398.322
Dingling8.4097.868
Dongsi10.4119.267
Guanyuan9.9978.904
Gucheng9.8758.956
Huairou8.2187.348
Nongzhanguan9.9588.785
Shunyi10.1939.126
Tiantan9.9938.913
Wanliu9.4118.453
Wanshouxigong10.6679.622

Valori arrotondati a tre decimali dalla tabella pubblicata nel repository. Per il confronto completo con la versione solo PM2.5, consulta i risultati GitHub.

05 / COSA HO IMPARATO

Un modello convincente deve saper spiegare anche i propri limiti.

Questo lavoro mi ha insegnato che ottenere una metrica migliore è soltanto una parte del processo. Bisogna chiedersi se i dati sarebbero davvero disponibili al momento della previsione, quali osservazioni mancano, quanto il confronto sia equo e se la valutazione sia rimasta indipendente dalle scelte fatte.

01 / VALIDAZIONE

Test indipendente ancora da fare

Il 2016 è stato utilizzato durante l'esplorazione: non lo presento come holdout incontaminato.

02 / DATI REALI

La disponibilità è parte del modello

La latenza delle misure fra stazioni non è verificata; alcune ore con dati mancanti non entrano nelle metriche.

03 / RIPRODUCIBILITÀ

Risultati verificabili, senza scorciatoie

Codice, protocollo e metriche sono pubblicati. La verifica in un ambiente completamente pulito resta un passaggio aperto.

LA LEZIONE CHE PORTO CON ME

Non partire dall'algoritmo. Partire dal problema, costruire un confronto onesto e capire perché funziona.

È questo il metodo che voglio portare anche in un contesto professionale: usare la statistica e il machine learning per arrivare a decisioni motivate, non soltanto a un punteggio.