返回作品

城市碳排放预测与影响因素分析

创建于 2026 年 1 月 1 日

标签
  • Python
  • FastAPI
  • LightGBM
  • LSTM
  • SHAP

项目介绍

城市碳排放预测与影响因素分析项目是一套围绕“双碳”主题构建的数据分析与建模系统。项目目录中保留了开题报告、程序设计计划、快速启动说明、CLI 入口和最终报告输出,代码统一放在 code/ 目录下。它的目标不是只训练一个预测模型,而是从多源数据接入开始,完整完成数据清洗、融合、特征工程、模型训练、评估、解释分析、预警和报告输出。

系统把数据工程和机器学习流程拆得比较专业:原始数据进入 raw/bronze 层,清洗后进入 silver 层,建模输入进入 gold 层;模型预测结果和训练产物放入 artifacts;图表、指标表、诊断信息和最终报告放入 reports。这样的目录组织适合论文、答辩和后续复现实验。

项目架构

项目通过 code/main.py 提供 CLI 入口,常用命令为 python code/main.py run all。核心代码在 code/src/ 下按领域拆分:ingestion 负责原始数据读取与示例数据生成,preprocessing 负责清洗、缺失处理和质量报告,fusion 负责多源数据融合和粒度转换,features 负责时间特征、滞后特征和滚动特征构建,models 负责线性回归、ARIMA、LightGBM、LSTM 等模型训练,evaluation 统一计算 RMSE、MAE、R2、MAPE 等指标,explainability 提供 SHAP、LIME 和置换重要性解释。

流程编排集中在 pipeline 目录,包含数据准备、训练、评估、解释、预警和报告任务。配置文件分散在 configs/,包括数据路径、融合策略、特征工程规则和不同模型参数。Web 端位于 code/web,使用 FastAPI/Jinja2 组织可视化面板,用于查看运行状态、模型指标、预测趋势和预警结果。

核心功能

  • 分层数据治理:使用 raw、bronze、silver、gold 分层管理原始数据、清洗数据和建模输入。
  • 多源融合:对不同来源、不同时间粒度的数据做字段对齐、缺失处理、同化和质量检查。
  • 特征工程:构建时间特征、滞后特征、滚动窗口特征和候选影响因素。
  • 多模型训练:同时训练线性回归、ARIMA、LightGBM 和 LSTM,用统一指标横向对比。
  • 模型评估:输出 RMSE、MAE、R2、MAPE 等指标表,便于论文和答辩引用。
  • 解释分析:通过 SHAP、LIME、置换重要性解释影响碳排放预测的关键因素。
  • 预警与报告:生成预测结果、预警表、诊断信息、图表和最终报告。

功能截图

快速上手

项目使用 Python 技术栈。安装依赖后可直接运行 python code/main.py run all 执行完整流程,结果会输出到 code/reports/figures/code/reports/tables/code/reports/final_report.md。需要单独调试某一步时,可以按 pipeline 拆分运行数据准备、训练、评估或解释任务。启动 Web 后可在浏览器中查看可视化面板。

总结

这个项目把城市碳排放预测做成了一条可复现、可解释、可出报告的数据链路。它不只给出预测曲线,还保留数据分层、模型对比、误差指标、影响因素解释和预警输出,适合作为双碳数据分析、城市治理预测、机器学习建模和毕业设计项目展示。