Logo Lanfrica

QUASAR-30/hackathon-indabax-cameroon-2026

Domaine:

environment and energy
Créateur:
QUA
Hôte:
PM2.5 air quality prediction for 40 Cameroonian cities (2020–2025) physics-calibrated ERA5 proxy + XGBoost/LightGBM # TERRA — Système de Surveillance PM2.5 · Cameroun > **Prévision de la qualité de l'air PM2.5 pour 40 villes camerounaises (2020–2025)** > Proxy physico-calibré ERA5 · XGBoost/LightGBM · Inférence temps réel · GitHub Actions > > *Hackathon IndabaX Cameroon 2026 — Équipe L'Aube Africaine* --- ## Results at a Glance | Metric | Value | |---|---| | Cities covered | 40 (all regions of Cameroon) | | Period | 2020-01-01 → 2025-12-20 | | Proxy calibration target | 32.5 µg/m³ (AQLI 2023 national mean) | | XGBoost R² (test 2025) | **0.9929** | | LightGBM R² (test 2025) | **0.9940** | | Ensemble R² (test 2025) | **0.9939** | | Ensemble RMSE | **1.55 µg/m³** | | Real-time forecast horizon | **7 days** (extensible to 16 via workflow_dispatch) | --- ## Problem No ground-truth PM2.5 measurements exist for Cameroon. The challenge: build a reliable air quality prediction system from scratch using only reanalysis data. **Solution:** A two-stage pipeline: 1. Build a **physics-calibrated PM2.5 proxy** from ERA5 meteorological variables and NASA FIRMS fire data 2. Train **ML models** (XGBoost + LightGBM) on this proxy to predict future PM2.5 --- ## PM2.5 Proxy Formula ``` PM2.5 = C_base × F_stagnation × F_wet × F_wind × F_harmattan × F_hygro × F_fire ``` | Factor | Formula | Physics | |---|---|---| | `F_stagnation` | `(1000/BLH)^0.6` clipped [0.3, 3.5] | Low boundary layer = pollution accumulation | | `F_wet` | `1/(1 + 0.08×rain_mm)` | Wet scavenging by precipitation | | `F_wind` | `exp(-0.035×wind_kmh)` suppressed during Harmattan | Turbulent dilution | | `F_harmattan` | `1 + 1.4×is_dry×(lat-3)/8` | Saharan dust transport Nov–Mar | | `F_hygro` | `min(1 + 0.004×max(0,RH-75), 1.3)` | Hygroscopic growth (Swietlicki et al. 2008) | | `F_fire` | `1 + 0.02×log(1+FRP_75km)` | Biomass burning (NASA FIRMS MODIS) | `C_base` auto-calibrated so national annual mean = **32.5 µg/m³**. --- ## Pipeline ```bash # 1. Extract ERA5 weather for 40 cities (2020–2025) conda run -n hackathon_pm …