Panoramica

Cosa contiene questa sezione

La sezione Validazione mette a confronto le concentrazioni calcolate dal modello con le misure delle centraline, per quantificare quanto bene il modello riproduce la realtà osservata. Raccoglie il cruscotto interattivo dei grafici di confronto, la documentazione di ogni funzione grafica e la descrizione degli indici statistici usati, con le relative formule.

Strumenti disponibili e come usarli

Validazione del modello

Cruscotto interattivo: si sceglie il grafico, l'inquinante e la centralina (i menu si filtrano a vicenda: per una centralina compaiono solo gli inquinanti che misura). I grafici che leggono dati grezzi dal server (contrassegnati 🕒) si attivano con il pulsante Carica dati. Diagrammi di Taylor e Target, scatter, heatmap, wavelet, decomposizione STL, box plot, bande percentili, radar e altro; un pannello dei pesi consente di combinare gli indici in un punteggio sintetico.

Funzioni grafiche

Galleria che documenta ogni grafico disponibile: cosa mostra, come è costruito e perché è utile, con un'immagine di esempio. È il riferimento per capire come leggere ciascuna visualizzazione del cruscotto.

Indici di validazione

Descrizione degli indici statistici (correlazione, errore, bias, variabilità, informazione mutua…) con le formule composte in KaTeX e un esempio dimostrativo interattivo che ne mostra il calcolo su dati di prova.

Funzioni di scaling

Le funzioni che rimodellano la "bontà" di ogni indice prima della media pesata, perché gli indici non variano linearmente in significato. Spiega la scelta delle curve, la dipendenza dagli estremi e quali sono adatte a ciascun indice, con grafici interattivi.

Nota: l'informazione mutua (MI) è espressa in nat, l'unità naturale di informazione (si usa il logaritmo naturale; 1 nat ≈ 1,44 bit). Misura quanta informazione modello e osservazioni condividono: 0 = indipendenti, valori più alti = legame più forte (anche non lineare).

Come funziona l'interfaccia

Il cruscotto di Validazione è organizzato in tre aree.

1. Controlli globali
  • Stratificazione (Globale / Stagione / Ora): sceglie come sono aggregate le metriche.
  • Pesi delle metriche per inquinante: una scheda per inquinante con un radar trascinabile e l'elenco delle metriche. Per ogni metrica si regola il peso (%) e si sceglie la funzione di scaling (menu a tendina; vedi Funzioni di scaling) che rimodella la bontà dell'indice. Le funzioni proposte sono filtrate in base al dominio dell'indice. È presente anche il riferimento RMSE/MAE e la motivazione dei pesi.
2. Punteggio
  • Score per centralina e aggregato: tabelle che combinano gli indici (peso × bontà rimodellata) in un punteggio 0–100.
3. Grafici
  • Si sceglie tipo di grafico, inquinante e centralina: i menu si filtrano a vicenda (per una centralina compaiono solo gli inquinanti che misura).
  • I grafici che leggono dati grezzi dal server sono contrassegnati 🕒 e si attivano con Carica dati; quelli più pesanti (animazione griglia 3D, time-lapse 2D) sono contrassegnati 🕒🕒 (fino a ~5 minuti di attesa).
  • Interazioni: zoom con la rotella sui grafici 3D (Three.js/WebGL), viste 2D/3D per la wavelet, player con Play/Pausa/velocità per le animazioni, legende e tooltip.

Tecnologie per memorizzare, leggere ed elaborare i dati

  • Memorizzazione. Gli indici di validazione sono pre-calcolati e salvati in PostgreSQL: una tabella con le metriche per centralina×inquinante, il catalogo delle metriche, i percentili, la decomposizione stagionale (STL) e i pesi predefiniti degli inquinanti (campo JSONB).
  • Lettura. Le pagine leggono questi valori tramite endpoint PHP che restituiscono JSON; per i grafici che usano i dati orari grezzi (scatter, conditional bias, CDF, wavelet, scatter 3D, animazioni) il caricamento è asincrono (AJAX) e a finestre temporali.
  • Elaborazione. Le metriche e le decomposizioni sono calcolate offline in Python (NumPy per gli indici, statsmodels per la decomposizione STL) e scritte nel database; la resa grafica lato client usa ECharts, ECharts-GL e Three.js, mentre le formule sono composte con KaTeX.

Bibliografia scientifica

  • Taylor, K.E. (2001). Summarizing multiple aspects of model performance in a single diagram. Journal of Geophysical Research: Atmospheres, 106(D7), 7183–7192. doi:10.1029/2000JD900719
  • Jolliff, J.K. et al. (2009). Summary diagrams for coupled hydrodynamic-ecosystem model skill assessment. Journal of Marine Systems, 76(1–2), 64–82. doi:10.1016/j.jmarsys.2008.05.014
  • Willmott, C.J. (1982). Some comments on the evaluation of model performance. Bulletin of the American Meteorological Society, 63(11), 1309–1313. doi:10.1175/1520-0477(1982)063<1309:SCOTEO>2.0.CO;2
  • Emery, C. et al. (2017). Recommendations on statistics and benchmarks to assess photochemical model performance. Journal of the Air & Waste Management Association, 67(5), 582–598. doi:10.1080/10962247.2016.1265027
  • Harrington, E.C. (1965). The desirability function. Industrial Quality Control, 21(10), 494–498. — fondamento delle funzioni che mappano ogni indice su una "bontà" in [0,1] (la sua forma a due lati è una exp(−|y|n), come le curve di scaling).
  • Derringer, G., & Suich, R. (1980). Simultaneous optimization of several response variables. Journal of Quality Technology, 12(4), 214–219. doi:10.1080/00224065.1980.11980968 — combinazione pesata di funzioni di desiderabilità.

Keywords: validazione, modello, indici statistici, AirPortal, qualità dell'aria

Moreno Comelli, Ugo Cortesi, Valentina Colcelli & Alessandra Langella, CNR-IFAC, 2022-2026