Predicting indoor particle pollution three days ahead
Published research2025CNN-BiLSTM · TensorFlow · IoT sensors · Digital twin

Problem
Health guidance on fine particles is written around 24-hour averages, so by the time a room's air registers as bad, the exposure has already happened. Published indoor air models mostly predict the next few minutes, and none had been evaluated over a three-day horizon against live data from a real building.
Approach
Treat it as a multi-step forecasting problem and pair two architectures: convolutional layers to pick out short-term patterns across the sensor streams, and bidirectional LSTM layers to learn how those patterns carry forward and backward in time. Feed it indoor PM2.5, outdoor PM2.5, temperature and humidity, and have it emit all 72 hours in one pass.
What I built
- A CNN-BiLSTM model producing a full 72-hour forecast in a single pass, with learning rate, batch size, epochs and dropout tuned by Bayesian optimization.
- The collection stack underneath it: Sensirion SEN55 and BME280 sensors on ESP32 modules feeding a local database, with outdoor readings pulled hourly from an IQAir monitor through NYUAD's CITIES API.
- Deployment as a live inference service inside the lab's digital twin, running nightly to publish a three-day forecast alongside the matching EPA air quality index.
Results
- RMSE of 4.884 µg/m³ and MAE of 4.092 µg/m³ on the held-out test set.
- Outperformed RNN, LSTM, single- and multi-dense LSTM and convolutional LSTM baselines on the same 72-hour task.
- Trained on 7,542 hours of merged indoor and outdoor readings collected between April 2024 and January 2025.
- Published at the European Conference on Computing in Construction (EC³) and CIB W78 in Porto, July 2025, as first author.