Dhaka breathes PM2.5 at ten to fifteen times the WHO guideline, from a handful of monitoring stations and with no operational forecast. I wanted to know whether useful forecasting was possible anyway.
The question
Can short-term PM2.5 in a megacity be forecast accurately from the sparse record that already exists — without a dense sensor network or satellite retrievals — and what actually carries the predictive signal?
Method
Roughly 60,000 hourly PM2.5 observations for Dhaka from November 2018 to October 2024, from the Department of Environment’s CASE project and the US Embassy monitor, paired with hourly meteorology from the Bangladesh Meteorological Department — temperature, relative humidity, wind speed and precipitation.
From that record I built and benchmarked 24 model configurations across six frameworks: two deep learning (LSTM, GRU), two ensemble (Random Forest, XGBoost) and two statistical baselines (linear and polynomial regression) — each in univariate and multivariate form, at hourly and daily resolution. Scored on R², MSE, RMSE, MAE and MAPE.
What came out
Dhaka’s air is getting worse. Annual mean PM2.5 rose from 83 µg m⁻³ in 2018–19 to 103 µg m⁻³ in 2023–24 — a 24% increase over six years, tracking the city’s population growth. The 2020 dip is visible in the record, and matches the COVID-19 lockdown.

The seasonal swing is enormous. From around 20 µg m⁻³ at the monsoon minimum to over 280 µg m⁻³ at the winter peak — a ten to fourteen fold amplitude, with December–January peaks of 180–220 µg m⁻³ and July–August troughs of 25–40 µg m⁻³.
The best model was not the most complicated one. XGBoost, univariate, came top at R² = 0.977 and RMSE = 11.42 µg m⁻³, just ahead of GRU (0.976) and LSTM (0.975). The statistical baselines could not keep up, below R² = 0.72. XGBoost trained and predicted in under a second.

The past three hours matter more than the weather. Feature importance put three-hour lagged PM2.5 at the top, and the models given only the pollutant’s own history beat those also given meteorology, by 1–5%. Autocorrelation decays from r = 0.789 at a three-hour lag to 0.564 at twelve hours, recovering to 0.727 at twenty-four as the daily cycle comes round again. That is a practical result: the data barrier to forecasting is lower than assumed, which matters for cities that cannot afford dense monitoring.
And an honest limit. Against 450 hours of independent monitoring in July 2025, the models tracked stable conditions well but smoothed the spikes — they captured only 30–35% of observed variability and missed a 180 µg m⁻³ episode entirely. Forecasting the ordinary day is solved. Forecasting the bad day is not.
