空气质量数据分析与预测平台
项目概述 🌍
本项目是一个基于Python开发的空气质量数据分析与预测平台,旨在为用户提供便捷的空气质量数据查询、分析和预测服务。通过机器学习算法,系统能够分析历史数据并预测未来空气质量指数(AQI)。
功能特点 ✨
1. 数据查询与导出 📊
- 多维度筛选:支持按城市、日期范围、空气质量等级进行数据筛选
- 分页显示:采用分页方式展示查询结果,提升用户体验
- 数据导出:支持将查询结果导出为Excel格式
- 实时统计:显示查询结果的关键统计指标
2. 数据分析与可视化 📈
- 城市对比:支持多城市空气质量数据对比分析
- 趋势分析:展示各类污染物浓度变化趋势
- 分布分析:空气质量等级分布可视化
- 相关性分析:污染物之间的相关性分析
3. 空气质量预测 🔮
- 多模型支持:集成随机森林、XGBoost等多种机器学习模型
- 自动优化:模型参数自动优化与评估
- 预测展示:直观展示未来7-14天的AQI预测结果
- 可视化预测:预测结果图表展示
技术架构 🏗️
系统架构
-
数据层
- 历史数据管理
- 数据预处理
- 缓存管理
-
功能层
- 查询模块
- 分析模块
- 预测模块
-
应用层
- 用户界面
- 交互控件
- 可视化展示
技术栈
- 前端框架:Streamlit
- 数据处理:Pandas, NumPy
- 机器学习:Scikit-learn, XGBoost
- 数据可视化:Plotly
- 工具支持:Joblib, Graphviz
使用指南 📖
安装部署
-
安装依赖:
pip install -r requirements.txt
-
启动应用:
streamlit run app.py
数据要求
数据文件(air_quality_data.csv)格式要求:
字段名 | 类型 | 说明 |
---|---|---|
theDate | datetime | 观测日期 |
city | string | 城市名称 |
AQI | float | 空气质量指数 |
PM25 | float | PM2.5浓度 |
PM10 | float | PM10浓度 |
So2 | float | 二氧化硫浓度 |
No2 | float | 二氧化氮浓度 |
Co | float | 一氧化碳浓度 |
O3 | float | 臭氧浓度 |
QualityGrade | string | 空气质量等级 |
功能使用说明
1. 数据查询
- 在左侧选择查询条件(城市、日期范围、空气质量等级)
- 使用分页控件浏览数据
- 可选择导出当前页或所有结果
2. 数据分析
- 选择分析维度查看不同的分析图表
- 支持交互式图表操作
- 可进行多维度数据对比
3. 预测功能
- 选择目标城市和预测天数
- 查看预测结果和趋势图
- 显示详细的空气质量等级预测
模型说明 🤖
支持的模型
-
随机森林
- 优点:处理非线性关系
- 特点:支持特征重要性分析
-
XGBoost
- 优点:高效的集成学习
- 特点:自动特征选择
-
线性回归
- 优点:计算速度快
- 特点:适合线性关系
-
GCN-LSTM混合模型
- 图卷积网络(GCN):
- 捕捉城市间空气质量的空间相关性
- 处理复杂的地理位置依赖关系
- 长短期记忆网络(LSTM):
- 学习时间序列特征
- 建模长期和短期依赖关系
- 图卷积网络(GCN):
评估指标
- RMSE(均方根误差)
- MAE(平均绝对误差)
- R²(决定系数)
注意事项 ⚠️
-
数据相关
- 确保数据文件为UTF-8编码
- 保持日期格式一致性
- 避免数值字段中的非数字字符
-
使用限制
- 单次查询建议不超过10000条
- 预测天数范围:1-14天
- 大数据量处理可能较慢
-
模型使用
- 首次使用需训练模型
- 建议定期重新训练
- 请勿删除模型文件
项目截图
项目获取
关注顶部 GZ号 获取