Cum functioneaza Synthesse
1. Despre sistem
Synthesse este un sistem de monitorizare si predictie a calitatii aerului in raza de 10 km in jurul Constantei. Sistemul combina masuratori de la statii proprii si nationale cu modele de machine learning pentru a estima concentratia poluantilor la orice punct geografic din zona — nu doar in locatiile unde exista statii fizice.
Poluantii monitorizati:
| Poluant | Denumire | Unitate | Limita anuala UE |
|---|---|---|---|
| PM2.5 | Particule fine < 2.5 µm | µg/m³ | 10 µg/m³ (Dir. 2024/2881) |
| PM10 | Particule < 10 µm | µg/m³ | 20 µg/m³ |
| NO2 | Dioxid de azot | µg/m³ | 40 µg/m³ |
| NO | Monoxid de azot | µg/m³ | — |
| SO2 | Dioxid de sulf | µg/m³ | — |
| CO | Monoxid de carbon | µg/m³ | — |
| O3 | Ozon troposferic | µg/m³ | — |
| PM1 | Particule ultra-fine < 1 µm | µg/m³ | — |
2. Surse de date
Statii proprii
5–6 statii de monitorizare montate in zone reprezentative ale orasului (industrial, rezidential, trafic, fond urban). Masuratori orare, transmise in timp real. Datele brute sunt validate si calibrate inainte de utilizare.
Reteaua RNMCA
3 statii din Reteaua Nationala de Monitorizare a Calitatii Aerului (calitateaer.ro) din vecinatatea Constantei, preluate automat la fiecare ora.
Date meteo
Temperatura, umiditate, presiune, vant si precipitatii — colectate de la statiile proprii si interpolate pe intreaga grila prin metoda IDW (Inverse Distance Weighting).
3. Harta principala
Markere statii
Fiecare statie este reprezentata printr-un cerc colorat. Culoarea reflecta concentratia masurata a poluantului selectat (selectorul din stanga) in raport cu valoarea maxima din intervalul curent:
Clic pe un marker afiseaza un panou lateral cu valorile curente ale tuturor poluantilor disponibili la statia respectiva si varsta ultimei masuratori.
Click pe zona fara statie
Clic pe orice punct al hartii (in afara markerelor) declanseaza o predictie interpolata pentru locatia respectiva. Un popup apare in cateva secunde cu valoarea estimata si intervalul de incredere. Daca punctul ales se afla in afara zonei de monitorizare, sistemul afiseaza un mesaj de avertizare.
Selectorul de poluant
Schimbati poluantul din meniul din stanga pentru a recolora markerii si a actualiza toate informatiile afisate. Urmatorul clic pe harta va returna predictia pentru noul poluant selectat.
Slider orizont predictie
Sliderul Orizont (1–72 ore) controleaza cat de departe in viitor se face predictia. La valoarea implicita de 24h, sistemul estimeaza concentratia poluantului peste 24 de ore de la momentul curent. Schimbati valoarea inainte de a da clic pe harta.
4. Predictii — cum functioneaza
De ce sunt necesare predictiile?
Statiile fizice masoara doar in punctele lor de amplasare. Intre statii — si in orice alt punct al orasului — concentratia trebuie estimata. Synthesse face asta prin doua tehnici complementare: interpolare spatiala (pentru concentratia curenta) si predictie temporala (pentru orele urmatoare).
Grila 1km
Zona de 10km este impartita intr-o grila de patrate de 1 km × 1 km (≈130 celule active). Pentru fiecare celula, sistemul calculeaza orar concentratia tuturor poluantilor.
Regression Kriging (interpolare spatiala)
Metoda principala de interpolare. Combina doua componente:
(port, mare, meteo, ora)
(structura spatiala reziduuri)
per celula
- Trendul determinist (XGBoost): un model de machine learning care invata relatia dintre covariante (distanta la port, distanta la mare, distanta la centrul orasului, temperatura, vant, umiditate, ora din zi) si concentratia masurata.
- Eroarea spatiala (Ordinary Kriging): dupa ce trendul este calculat, diferenta (reziduul) dintre modelul XGBoost si masuratori contine inca structura spatiala. Kriging-ul o modeleaza printr-o variograma (spherical / exponential / gaussian) si o interpoleaza pe intreaga grila.
- Rezultatul final: concentratie = trend(celula) + kriging(reziduuri)(celula).
Anti-leakage — regula critica
La antrenarea modelului spatial, statia tinta este exclusa obligatoriu din setul de antrenare (principiu Leave-One-Out). Fara aceasta regula, modelul "ar cunoaste" concentratia in punctul pe care trebuie sa il estimeze — rezultand erori aparent mici dar inutilizabile in productie.
5. Cum se citeste popup-ul de predictie
| Element popup | Semnificatie |
|---|---|
| PM2.5 | Poluantul selectat |
| +24h | Orizont predictie (ore in viitor) |
| 18.5 µg/m³ | Concentratie estimata centrala |
| CI 95% | Intervalul in care va cadea valoarea reala cu probabilitate 95% |
| U: ±4.20 | Incertitudine totala compusa (GUM) |
| 18.04.2026, 15:00 | Momentul pentru care se face predictia |
| N1–N5 | Nivelul de incredere al predictiei (vezi mai jos) |
Niveluri de incredere (N1–N5)
| Nivel | Sursa predictiei | Calitate |
|---|---|---|
| N1 | Model ML activ (XGBoost / Prophet) | Maxima — model antrenat pe date recente |
| N2 | Model ML arhivat (versiunea anterioara) | Buna — model posibil invechit |
| N3 | Regresia liniara pe ultimele 90 de zile | Moderata — folosita cand modelele ML nu sunt disponibile |
| N4 | IDW temporal (media observatiilor recente) | Slaba — nu captureaza tendinte |
| N5 | Ultima valoare masurata (LOCF) | Degradata — propagare simpla, max. 6h |
6. Overlay kriging — ce reprezinta
Butonul "Overlay kriging" din panoul din stanga afiseaza pe harta valorile interpolate pentru toate celulele active ale grilei 1km, nu doar pentru punctul unde ati dat clic.
Fiecare cerc colorat reprezinta centroidul unei celule de 1km × 1km. Culorile urmeaza acelasi gradient verde-galben-rosu ca markerii de statie, normalizat la valoarea maxima din snapshot-ul curent.
Overlay-ul este util pentru a vizualiza distributia spatiala a unui poluant si a identifica zone cu concentratii ridicate care nu au o statie fizica in apropiere. Datele se actualizeaza la fiecare 5 minute.
7. Incertitudine si interval de incredere
Orice masurare si orice estimare contin incertitudine. Synthesse calculeaza si afiseaza explicit incertitudinea totala compusa, conform ghidului GUM (Guide to the Expression of Uncertainty in Measurement), adoptata si de Directiva UE 2024/2881.
Componentele incertitudinii
| Componenta | Sursa | Calculata de |
|---|---|---|
| U1 — masurare | Eroarea instrumentului de masura (senzor) | Specificatii producator + calibrare |
| U2 — calibrare | Eroarea modelului de calibrare (GAM/RF) | Cross-validare pe date istorice |
| U3 — interpolare | Eroarea modelului spatial (RK) | sqrt(varianta_trend_LOO + varianta_kriging) |
| U4 — predictie | Eroarea modelului temporal (ML) | Bootstrap pe pipeline complet |
Incertitudinea totala: U = sqrt(U1² + U2² + U3² + U4²)
Intervalul de incredere 95%: [valoare − U, valoare + U]
Fiecare poluant are un prag minim de incertitudine (U_min) sub care nu se afiseaza valori mai mici — pentru a nu crea o falsa precizie. Daca U calculat este mai mic decat U_min, popup-ul afiseaza "(U_min)" langa valoare.
8. Frecventa de actualizare
| Ce | Cand | Sursa |
|---|---|---|
| Masuratori statii proprii | Orar, la minutul :00 | Senzori proprii |
| Date RNMCA | Orar, cu intarziere ~10 min | surse.rnmca.ro |
| Interpolare meteo pe grila | Orar, la minutul :10 | Statii meteo proprii + IDW |
| Interpolare spatiala (kriging) | Orar, la minutul :20 | Regression Kriging pe grila 1km |
| Predictii temporale (orele urmatoare) | Orar, la minutul :25 | Modele ML per statie + celula |
| Cache harta (overlay grid) | La 5 minute (Redis TTL) | Snapshot cel mai recent |
| Cache predictie punct | La 1 ora (Redis TTL) | Reutilizat pentru click-uri repetate in acelasi punct |
9. Limitari cunoscute
- Raza de 10km: sistemul este calibrat exclusiv pentru zona urbana Constanta. Puncte in afara acestei zone returneaza eroarea "Punct in afara zonei de monitorizare".
- Minim 3 statii cu date: interpolarea spatiala necesita cel putin 3 statii cu masuratori valide la ora curenta. In caz contrar, grila nu este actualizata pentru poluantul respectiv.
- Precizie in zone fara statii: incertitudinea U3 creste proportional cu distanta fata de cea mai apropiata statie. Valori din zonele fara acoperire directa sunt estimari, nu masuratori.
- Orizontul de predictie: predictiile pentru ore indepartate (48–72h) au incertitudine semnificativ mai mare decat cele de scurta durata. Intervalele CI 95% reflecta aceasta crestere.
- Evenimente extreme: modelele sunt antrenate pe date istorice normale. Episoade extreme (incendii, accidente industriale) pot genera erori mai mari decat cele indicate.
10. Acces programatic (API)
Datele Synthesse sunt accesibile programatic prin API REST versionat. Documentatia interactiva (Swagger) este disponibila la /api/docs.
# Predictie la un punct geografic:
GET /api/v1/predictii/punct?lat=44.18&lon=28.65&poluant=PM2.5&orizont=24
# Snapshot GeoJSON al grilei:
GET /api/v1/interpolare/grid?poluant=PM10
# Serie temporala kriging per celula:
GET /api/v1/kriging/celula/47?poluant=PM2.5&ts_start=2026-04-17T00:00:00Z&ts_end=2026-04-18T00:00:00Z
Autentificarea nu este necesara pentru accesul la datele publice. Orizonturi de predictie peste 72h necesita cont autentificat.
← Inapoi la harta — Contact: costin.raducanu@crpfa.ro