no2-prediction-eval
CityAQVis: Integrated ML-Visualization Sandbox Tool for Pollutant Estimation in Urban Regions Using Multi-Source Data (Software Article) — Desai et al. (2025) (arXiv:2510.18878, 2025)
What this evaluates
Evaluates machine learning models' ability to predict ground-level NO2 concentrations in urban areas using multi-source environmental and demographic data. Probes spatial-temporal regression capabilities and model generalization across different cities and time periods.
Datasets
- CityAQVis Urban NO2 Dataset — total ?; splits: train (-1), test (-1); repo https://github.com/GVCL/CityAQVis
Metrics
R2 Score(primary) — range: other- Coefficient of determination measuring the proportion of variance in the dependent variable predictable from the independent variables.
MAE— range: other- Mean Absolute Error: average of absolute differences between predicted and actual values.
MSE— range: other- Mean Squared Error: average of squared differences between predicted and actual values.
MAPE— range: percent- Mean Absolute Percentage Error: average of absolute percentage errors between predicted and actual values.
RMSE— range: other- Root Mean Square Error: square root of the average of squared differences between predicted and actual values.
Input / output format
Input: Numerical feature vectors per grid point or monitoring station, comprising TROPOMI NO2, temperature, population, windspeed, rainfall, elevation, and VIRS (nighttime lights), aggregated monthly or yearly.
Output: Predicted ground-level NO2 concentration value (continuous) per grid point or monitoring station.
Scoring recipe
def compute_metrics(y_true, y_pred):
n = len(y_true)
mean_true = sum(y_true) / n
ss_res = sum((y - y_hat)**2 for y, y_hat in zip(y_true, y_pred))
ss_tot = sum((y - mean_true)**2 for y in y_true)
r2 = 1 - (ss_res / ss_tot)
mae = sum(abs(y - y_hat) for y, y_hat in zip(y_true, y_pred)) / n
mse = ss_res / n
mape = sum(abs((y - y_hat) / y) for y, y_hat in zip(y_true, y_pred)) / n * 100
rmse = mse ** 0.5
return {'R2': r2, 'MAE': mae, 'MSE': mse, 'MAPE': mape, 'RMSE': rmse}
Common pitfalls
- Spatial leakage risk due to 70:30 random train-test split without spatial blocking or cross-validation.
- Sparse ground monitoring stations require grid mapping and interpolation, which can mask prediction uncertainty.
- Yearly vs monthly aggregation differences affect temporal granularity and complicate direct performance comparisons across studies.
Evidence (verbatim from paper)
Users can see how the model performed in terms of validation metrics, which include R2 Score, Mean Absolute Error (MAE), Mean Squared Error (MSE), Mean Absolute Percentage Error (MAPE), and Root Mean Square Error (RMSE).
Citation
@misc{desai2025cityaqvis,
title={CityAQVis: Integrated ML-Visualization Sandbox Tool for Pollutant Estimation in Urban Regions Using Multi-Source Data (Software Article)},
author={Desai et al. (2025)},
year={2025},
note={arXiv:2510.18878}
}
- arXiv: 2510.18878