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 instructionsLocated 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.h5and.kerasformats. - 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
python3instead ofpythonon 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 | [email protected] |
| Phonesamay Phouthavong | [email protected] | |
| Yu Jinling | [email protected] | |
| Fu Wenting | [email protected] | |
| Project Supervisor | Jiehan Zhou | [email protected] |
🔗 Member of CogTwins Lab
🏫 Shandong University of Science and Technology
This project is licensed under the MIT License.
