空气质量数据分析与预测平台

空气质量数据分析与预测平台

项目概述 🌍

本项目是一个基于Python开发的空气质量数据分析与预测平台,旨在为用户提供便捷的空气质量数据查询、分析和预测服务。通过机器学习算法,系统能够分析历史数据并预测未来空气质量指数(AQI)。

功能特点 ✨

1. 数据查询与导出 📊

  • 多维度筛选:支持按城市、日期范围、空气质量等级进行数据筛选
  • 分页显示:采用分页方式展示查询结果,提升用户体验
  • 数据导出:支持将查询结果导出为Excel格式
  • 实时统计:显示查询结果的关键统计指标

2. 数据分析与可视化 📈

  • 城市对比:支持多城市空气质量数据对比分析
  • 趋势分析:展示各类污染物浓度变化趋势
  • 分布分析:空气质量等级分布可视化
  • 相关性分析:污染物之间的相关性分析

3. 空气质量预测 🔮

  • 多模型支持:集成随机森林、XGBoost等多种机器学习模型
  • 自动优化:模型参数自动优化与评估
  • 预测展示:直观展示未来7-14天的AQI预测结果
  • 可视化预测:预测结果图表展示

技术架构 🏗️

系统架构

  1. 数据层

    • 历史数据管理
    • 数据预处理
    • 缓存管理
  2. 功能层

    • 查询模块
    • 分析模块
    • 预测模块
  3. 应用层

    • 用户界面
    • 交互控件
    • 可视化展示

技术栈

  • 前端框架:Streamlit
  • 数据处理:Pandas, NumPy
  • 机器学习:Scikit-learn, XGBoost
  • 数据可视化:Plotly
  • 工具支持:Joblib, Graphviz

使用指南 📖

安装部署

  1. 安装依赖:

    pip install -r requirements.txt
    
  2. 启动应用:

    streamlit run app.py
    

数据要求

数据文件(air_quality_data.csv)格式要求:

字段名类型说明
theDatedatetime观测日期
citystring城市名称
AQIfloat空气质量指数
PM25floatPM2.5浓度
PM10floatPM10浓度
So2float二氧化硫浓度
No2float二氧化氮浓度
Cofloat一氧化碳浓度
O3float臭氧浓度
QualityGradestring空气质量等级

功能使用说明

1. 数据查询
  • 在左侧选择查询条件(城市、日期范围、空气质量等级)
  • 使用分页控件浏览数据
  • 可选择导出当前页或所有结果
2. 数据分析
  • 选择分析维度查看不同的分析图表
  • 支持交互式图表操作
  • 可进行多维度数据对比
3. 预测功能
  • 选择目标城市和预测天数
  • 查看预测结果和趋势图
  • 显示详细的空气质量等级预测

模型说明 🤖

支持的模型

  1. 随机森林

    • 优点:处理非线性关系
    • 特点:支持特征重要性分析
  2. XGBoost

    • 优点:高效的集成学习
    • 特点:自动特征选择
  3. 线性回归

    • 优点:计算速度快
    • 特点:适合线性关系
  4. GCN-LSTM混合模型

    • 图卷积网络(GCN)
      • 捕捉城市间空气质量的空间相关性
      • 处理复杂的地理位置依赖关系
    • 长短期记忆网络(LSTM)
      • 学习时间序列特征
      • 建模长期和短期依赖关系

评估指标

  • RMSE(均方根误差)
  • MAE(平均绝对误差)
  • R²(决定系数)

注意事项 ⚠️

  1. 数据相关

    • 确保数据文件为UTF-8编码
    • 保持日期格式一致性
    • 避免数值字段中的非数字字符
  2. 使用限制

    • 单次查询建议不超过10000条
    • 预测天数范围:1-14天
    • 大数据量处理可能较慢
  3. 模型使用

    • 首次使用需训练模型
    • 建议定期重新训练
    • 请勿删除模型文件

项目截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目获取

关注顶部 GZ号 获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值