1 研究背景与分析目标
空气质量监测数据通常同时包含颗粒物和多种气态污染物。不同污染物之间既存在共同排放来源,也会受到气象扩散、化学转化和地理位置影响。通过机器学习识别PM2.5较高浓度风险,可以展示环境数据的清洗、长宽表转换、类别不平衡处理和模型解释方法。
本案例的目标不是替代环境监管标准,而是建立一个可在Jupyter Notebook中完整复现的分类流程。分析重点包括:数据质量识别、污染物分布和相关性、站点分组划分、多模型比较、阈值权衡以及错误样本解释。
2 数据来源与适用范围
使用公开世界空气质量快照中的中国记录制作可直接运行的CSV文件。原始记录来自多个空气质量数据源,数据字段包括国家代码、城市、监测点、坐标、污染物、单位、数值和更新时间。
需要特别说明的是,不同监测源的更新时间并不一致。虽然记录时间覆盖至2024年,但样本主要集中在2021年,因此本报告只分析污染物横截面关系与风险识别,不进行全国年度趋势推断。
3 数据字段与分析流程
|------------|--------------------------|
| 字段 | 含义 |
| 国家代码 | 国家或地区代码 |
| 城市 | 城市或区域名称 |
| 监测点 | 监测站点名称 |
| 坐标 | 纬度和经度 |
| 污染物 | PM2.5、PM10、NO2、SO2、CO或O3 |
| 数据源 | 监测数据提供来源 |
| 单位 | 污染物浓度单位 |
| 数值 | 监测浓度 |
| 更新时间 | 该条记录的更新时间 |
4 数据质量与探索性分析
4.1 中国空气质量记录的年份分布

****数据现象:****记录年份覆盖 2018---2024 年,但样本明显集中在2021年,2024年仅代表部分来源的最新快照。
4.2 各类污染物监测记录数量

六类主要污染物记录数量接近,说明多数站点同步提供颗粒物和气态污染物指标。
4.3 清洗前主要数据质量问题

****数据现象:****共发现 2 条负值或哨兵异常,站点和时间字段整体完整。
****原因分析:****监测系统可能用-9999等特殊数值表示设备故障、无上传值或无效观测。
4.4 PM2.5浓度分布

****数据现象:****PM2.5中位数为 18.0 µg/m³、均值为 21.5 µg/m³,分布具有明显右长尾。
****原因分析:****污染事件通常低频但强度较高,使环境浓度数据呈现多数低值、少量极高值的偏态结构。
4.5 PM2.5风险标签分布

4.6 各污染物浓度的对数分布比较

****数据现象:****各污染物数量级和离散程度差异明显,CO原始尺度远高于其他指标。
****原因分析:****污染物物理浓度、排放来源及监测尺度不同,不能直接使用同一原始纵轴比较。
4.7 污染物与地理变量相关性热力图

4.8 PM10与PM2.5的关系

****数据现象:****PM10升高时PM2.5整体同步上升,较高浓度样本集中在右上方,但散点仍存在离散。
****原因分析:****颗粒物共享来源,但细颗粒占比受燃烧类型、扬尘、湿度和化学转化影响。
4.9 不同纬度区间的较高浓度样本比例

5 特征工程与建模设计
5.1 标签与特征
目标变量为"较高浓度风险":PM2.5大于35 µg/m³记为1,否则记为0。该阈值用于构造教学型二分类问题,不对应法定空气质量等级。模型输入不包含PM2.5本身,使用PM10、NO2、SO2、CO、O3、纬度、经度、月份和小时。
5.2 数据划分
采用GroupShuffleSplit按站点划分,训练集1,197条、验证集241条、测试集248条。这样可避免同一站点的地理和命名特征同时出现在训练和测试阶段。\
5.3 模型设置
模型保持简洁:多数类基线用于识别虚高准确率;逻辑回归作为线性可解释模型;决策树用于表达简单非线性;随机森林通过多棵决策树集成提高稳定性。逻辑回归、决策树和随机森林均使用类别权重平衡少数类。未使用XGBoost、LightGBM、深度学习或复杂参数搜索。
5.4 验证集模型指标
|------------|-------------|-------------|-------------|-------------|-----------------|----------------|
| 模型 | 准确率 | 精确率 | 召回率 | F1值 | ROC-AUC | PR-AUC |
| 随机森林 | 0.8880 | 0.5333 | 0.8000 | 0.6400 | 0.9387 | 0.6685 |
| 逻辑回归 | 0.8838 | 0.5217 | 0.8000 | 0.6316 | 0.9158 | 0.6429 |
| 决策树 | 0.8589 | 0.4615 | 0.8000 | 0.5854 | 0.8780 | 0.5299 |
| 多数类基线 | 0.8755 | 0.0000 | 0.0000 | 0.0000 | 0.5000 | 0.1245 |
6 模型评价与结果解释
6.1 验证集模型指标对比

多数类基线无法识别较高浓度样本;随机森林在ROC-AUC、PR-AUC和F1上综合领先。
6.2 随机森林测试集混淆矩阵

模型识别 28 条较高浓度样本,漏判 11 条,并误报 11 条一般浓度样本。错误主要来自阈值附近样本,不同类别在特征空间存在重叠。
6.3 测试集ROC曲线

6.4 测试集PR曲线

6.5 分类阈值对识别结果的影响

6.6 随机森林特征重要性
6.7 不同实际类别的预测概率分布

7 主要结论
****•****数据包含11,115条中国空气质量长表记录,六类污染物记录数量相对均衡,但年份集中,适合横截面关联分析而非长期趋势推断。
****•****完整建模样本为1,686条,较高浓度样本占14.2%,类别不平衡使多数类基线产生表面准确率但无法识别风险。
****•****PM10与PM2.5相关系数约为0.85,是最主要的模型特征;NO2、CO、O3和空间位置提供补充信息。
8 局限性与改进建议
具体细节见原文
创造不易,谢谢各位多多点赞收藏!