This project presents a complete pipeline for air quality forecasting, from data analysis to model training and interactive visualization. Developed for the SDUST Pioneer Intelligent Computing 2025 competition, it is organized into three major parts:
- 📊 Data Analysis
- 🧠 LSTM Model Training
- 📈 Dash-based Web App
├── analysis/ # Data exploration and preprocessing scripts
├── model/ # LSTM model training and evaluation
├── app/ # Dash web app for PM2.5 prediction and visualization
├── README.md # Project overview and instructions
Located in the analysis/
folder.
- Performs exploratory data analysis (EDA) on historical air quality data.
- Generates plots and statistics for pollutants such as PM2.5, PM10, CO, SO₂, NO₂, and O₃.
- Handles data cleaning and preparation before model training.
Highlights:
- Outlier detection
- Missing value handling
- Feature correlation studies
- Important event analysis
Located in the model/
folder.
- Implements a unified LSTM architecture using TensorFlow/Keras.
- Trains the model to predict PM2.5 levels using various pollutant features.
- Includes scaler serialization (using
joblib
) and model saving in both.h5
and.keras
formats. - Ready for hyperparameter tuning.
Located in the app/
folder.
- Built with Plotly Dash for visualization and real-time inference.
- Users can select dates, locations, and view predicted vs. actual PM2.5 levels.
- Visualizes weather data from 2014 to 2025.
Features:
- Visualize weather data
- Interactive pollutant time series
- Model prediction interface
- Weather quality map
- User-friendly dashboard
-
Clone the repository:
git clone https://github.com/alfa-echo-niner-ait/sdust-pilotcup-2025.git cd sdust-pilotcup-2025
-
Create & activate the virtual environment: Here's a quick guide for creating and activating a Python virtual environment (
.venv
) on both Windows and Linux:Create Virtual Environment
python -m venv .venv
(Use
python3
instead ofpython
on Linux if needed.)Activate Virtual Environment Windows (CMD/PowerShell)
:: CMD .\.venv\Scripts\activate # PowerShell .\.venv\Scripts\Activate.ps1
Linux/macOS (Bash/Zsh)
source .venv/bin/activate
-
Install dependencies:
- Each main folder (
analysis/
,model/
,app/
) contains its ownrequirements.txt
. - Install as needed, for example:
pip install -r analysis/requirements.txt pip install -r model/requirements.txt pip install -r app/requirements.txt
- For users in China:
pip install -r analysis/requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple pip install -r model/requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple pip install -r app/requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
- Each main folder (
-
Run Data Analysis:
- Use Jupyter notebooks in
analysis/
.
- Use Jupyter notebooks in
-
Train and test the Model:
- Run and modify the Jupyther notebook in
model/
.
- Run and modify the Jupyther notebook in
-
Launch the Web App:
- Start the Dash app from
app/
:python app/app.py
- Start the Dash app from
Team Name | NEXUS | |
Team Members | Ayub Ali Emon | emon@sdust.edu.cn |
Phonesamay Phouthavong | phonesamay@sdust.edu.cn | |
Yu Jinling | jlyu0201@163.com | |
Fu Wenting | fuwenting04@163.com | |
Project Supervisor | Jiehan Zhou | jiehan.zhou@sdust.edu.cn |
🔗 Member of CogTwins Lab
🏫 Shandong University of Science and Technology
This project is licensed under the MIT License.