# No2 Prediction Eval

> 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. Use when the user wants to benchmark on CityAQVis Urban NO2 Dataset, or asks about evaluating this task. Reports R2 Score.

- Skill: `qhjqhj00/no2-prediction-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/no2-prediction-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/no2-prediction-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/no2-prediction-eval

---


# 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

```python
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

```bibtex
@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

