基于 XGBoost-SHAP 模型的城市PM2.5 与 O3 协同控制研究
——以济南市为例
以济南市为例,构建机器学习可解释性模型,量化气象因子与排放源对两种污染物的差异化驱动机制, 识别协同控制关键期,为精细化大气污染防治提供科学依据。
研究概述
研究背景、数据来源与方法框架
研究方法框架
探索性数据分析(EDA)
时序演变、相关性分析与季节特征

图1 济南市 PM₂.₅ 与 O₃-MDA8 月均浓度时间序列演变(2015–2026)。PM₂.₅ 呈显著下降趋势(−3.65 μg/m³/年),O₃ 呈缓慢上升趋势(+0.16 μg/m³/年),两者呈现明显的'跷跷板效应'。

图2 关键变量相关性热力图。CO 浓度与 PM₂.₅ 相关系数最高(r=0.82),气温与 O₃ 正相关显著(r=0.71),NOx 与两种污染物均有较强关联。

图4 月度箱线图。PM₂.₅ 冬季(12–2月)中位数超过 60 μg/m³,O₃ 夏季(5–7月)中位数超过 160 μg/m³,呈现显著的季节性对立分布。

图3 四季 PM₂.₅ 与 O₃ 散点分布(颜色代表气温)。冬季两者负相关(r=−0.45),夏季负相关减弱(r=−0.18),春秋季存在一定正相关,揭示季节性协同/拮抗关系的差异。
交互式动态图表
可悬停查看数据点详情,支持多维度切换
年际趋势演变(2015–2026)
实时数据- PM₂.₅年均
- O₃年均
PM₂.₅ 年均降幅约 −3.65 μg/m³/年,O₃ 年均升幅约 +0.16 μg/m³/年,"跷跷板效应"显著
月均浓度季节分布("跷跷板"效应)
实时数据- PM₂.₅月均
- O₃-MDA8月均
季节性污染特征雷达图
实时数据- PM₂.₅ (μg/m³)
- O₃-MDA8 (μg/m³)
XGBoost 模型构建与优化
超参数调优、性能评估与预测对比
模型评估指标汇总
| 指标 | PM₂.₅ 模型 | O₃-MDA8 模型 |
|---|---|---|
| 训练集 R² | 0.9638 | 0.9678 |
| 测试集 R² | 0.7929 | 0.8857 |
| 交叉验证 R² | 0.8365 | 0.8896 |
| 训练集 RMSE (μg/m³) | 7.35 | 9.84 |
| 测试集 RMSE (μg/m³) | 11.59 | 15.61 |
| 训练集 MAE (μg/m³) | 5.37 | 7.56 |
| 测试集 MAE (μg/m³) | 8.17 | 11.71 |

图5 XGBoost 模型预测值与实测值散点对比图(左:PM₂.₅,右:O₃-MDA8;上:训练集,下:测试集)。测试集 PM₂.₅ R²=0.793,O₃ R²=0.886,模型具有良好的泛化能力。

图6 测试集时间序列预测对比图。模型能较好捕捉污染物浓度的季节性变化规律,但在极端污染事件(PM₂.₅>150 μg/m³)时存在一定低估,这与 XGBoost 对极端值的回归均值化特性有关。
SHAP 可解释性分析
全局特征重要性、依赖关系与交互效应
SHAP 特征重要性(Top 12)

图7 SHAP Summary Plot(蜂群图)。PM₂.₅ 模型中,CO 浓度(SHAP=17.81)、前一日 PM₂.₅(SHAP=8.06)和 NO₂ 浓度(SHAP=5.43)是最重要的驱动因子;O₃ 模型中,前一日 O₃(SHAP=16.30)、温度×辐射交互项(SHAP=15.61)和气温(SHAP=12.84)居前三位。

图8 SHAP 特征重要性条形图(Top 15)。两种污染物的驱动因子存在显著差异:PM₂.₅ 主要受一次污染物(CO、NO₂)和气象条件(温度、湿度)驱动;O₃ 主要受光化学反应条件(气温、太阳辐射)和前体物排放驱动。

图9 核心驱动因子 SHAP Dependence Plot。气温对 PM₂.₅ 呈负效应(高温有利于扩散),对 O₃ 呈正效应(高温促进光化学反应);NOx 排放对两种污染物均有正贡献,但对 O₃ 的影响存在非线性饱和效应。

图10 NOx 与 VOC 排放对 PM₂.₅ 和 O₃ 的交互 SHAP 贡献分析。高 NOx + 低 VOC 情景下,O₃ 生成受 VOC 限制;高 VOC + 低 NOx 情景下,O₃ 生成受 NOx 限制,揭示了济南市 O₃ 生成的 VOC 敏感性特征。
协同控制策略研究
排放因子贡献对比、关键期识别与协同控制指数
月度协同控制分析
实时数据- 协同控制指数

图11 主要排放因子对 PM₂.₅ 和 O₃ 的 SHAP 贡献对比。NOx 对两种污染物均有显著贡献,是协同减排的优先目标;VOCs 对 O₃ 贡献更大,是夏季 O₃ 防控的关键前体物。

图12 月度协同控制指数(SCI)。冬季(1月、12月)SCI 最高(>1.3),是协同减排效率最高的窗口期;夏季(7–8月)SCI 最低(<1.0),以 O₃ 单独防控为主。

图13 年际趋势与超标率演变。PM₂.₅ 超标率从 2015 年 88.5% 降至 2026 年 28.4%,降幅显著;O₃ 超标率从 18.2% 升至 33.6%,形成'此消彼长'的反向趋势,凸显协同控制的紧迫性。
减排情景模拟
基于 SHAP 响应系数,动态模拟 NOx/VOCs 减排效果
减排情景模拟
基于 SHAP 分析结果,模拟 NOx/VOCs 减排对污染物浓度的影响
基准值 vs 模拟值对比
空间分布热力图
济南市 12 个监测站点污染物浓度空间异质性分析
济南市监测站点空间分布
点击站点查看详细数据 | 热力图显示污染物空间分布
各站点年均浓度汇总
| 站点名称 | 区域类型 | PM₂.₅ (μg/m³) | O₃-MDA8 (μg/m³) | 达标状态 |
|---|---|---|---|---|
| 历下区监测站 | 城区 | 38.2 | 152.4 | ⚠️ PM₂.₅超标 |
| 市中区监测站 | 城区 | 41.5 | 148.6 | ⚠️ PM₂.₅超标 |
| 槐荫区监测站 | 城区 | 44.8 | 145.2 | ⚠️ PM₂.₅超标 |
| 天桥区监测站 | 城区 | 43.2 | 147.8 | ⚠️ PM₂.₅超标 |
| 历城区监测站 | 城区 | 39.6 | 154.3 | ⚠️ PM₂.₅超标 |
| 长清区监测站 | 郊区 | 35.4 | 158.7 | ⚠️ PM₂.₅超标 |
| 章丘区监测站 | 郊区 | 36.8 | 161.2 | ❌ 双超标 |
| 济阳区监测站 | 郊区 | 33.5 | 163.8 | ⚠️ O₃超标 |
| 莱芜区监测站 | 郊区 | 34.2 | 159.4 | ✅ 双达标 |
| 钢城区监测站 | 工业区 | 48.6 | 142.1 | ⚠️ PM₂.₅超标 |
| 平阴县监测站 | 郊区 | 32.8 | 165.3 | ⚠️ O₃超标 |
| 商河县监测站 | 郊区 | 31.6 | 167.8 | ⚠️ O₃超标 |
结论与政策建议
基于模型结果的分季节、分前体物精细化治理建议
主要研究结论
分季节精细化治理建议
- ▸强化燃煤锅炉超低排放改造,削减 SO₂、NOx 和 PM₂.₅ 一次排放
- ▸实施重污染天气应急响应,限制高排放工业企业生产
- ▸推进清洁取暖工程,减少散煤燃烧
- ▸加强机动车尾气管控,推广新能源车辆
- ▸重点削减 VOCs 排放:石化化工、工业涂装、包装印刷行业
- ▸加强油品储运销 VOCs 泄漏管控
- ▸在 NOx 敏感区适度控制 NOx 排放,避免「滴定效应」
- ▸高温天气加强臭氧预报预警,及时发布健康提示
- ▸提前启动 O₃ 防控措施,防止 O₃ 浓度快速攀升
- ▸加强 NOx 与 VOCs 协同减排,防止 O₃ 超标
- ▸关注沙尘天气对 PM₂.₅ 的叠加影响
- ▸推进工业企业 VOCs 治理设施的春季检修维护
- ▸加强秸秆禁烧监管,防止生物质燃烧造成 PM₂.₅ 峰值
- ▸提前部署冬季重污染应对预案
- ▸持续推进 NOx 减排,为冬季协同控制奠定基础
- ▸加强区域联防联控,协调周边城市协同减排
基于 XGBoost-SHAP 模型的城市 PM₂.₅ 与 O₃ 协同控制研究——以济南市为例
数据时段:2015–2026 | 模型:XGBoost + SHAP | 分析工具:Python / pandas / scikit-learn / shap