# 北京市空气质量预测数据分析 该文档部分解读了建模结果,完整的分析报告请见[附件](./汇报文件/统计软件大作业论文-喻健凯,粟宇扬,姚熙.pdf)。 主代码文件为 `Beijing_air_quality_prediction.ipynb`,数据文件为 `Beijing_air_quality_data.csv`。 其余.py文件作为数据处理、分析、可视化等辅助函数文件。 ## 题目1 ### 结果分析: #### 折线图 从图中标准化后的空气质量指标小时均值变化趋势可见,各指标在 24 小时时间维度上呈现一定周期性特征: 各指标在每日相同时段表现出规律性波动,如部分指标于特定小时(如 19—23 时)出现标准化值峰值,在其他小时(如 4—5 时)形成谷值,且 “波峰 — 波谷” 的波动模式在每日 24 小时周期内稳定重复。这种以自然日为单位、在相同日时段内可重复的规律性变化,一定程度上体现了空气质量指标小时均值以 24 小时为周期的周期性特征,反映出其变化遵循固定时间循环规律。 #### ACF图 1. 在 O3 ACF 图中,自相关系数呈现规律性波动:滞后 24 小时、48 小时、72 小时处多次显著超出置信区间(阴影区域),形成明显峰值,且峰值间隔固定为 24 小时。这直接表明 O3 指标的小时均值变化存在 24 小时周期性,即数据以自然日为周期循环波动,符合 “日周期” 特征。 2. NO2 ACF 图中,自相关系数出现一定起伏波动,尤其在滞后 12 小时、24 小时等间隔处,呈现相对规律的波动趋势。尽管规律性弱于 O3,仍暗示 NO2 指标可能存在周期性,需结合其他分析进一步验证。 3. AQI、PM2.5、PM10、CO、SO2 的 ACF 图中,自相关系数随滞后小时数增加逐渐衰减,未出现如 O3 般规律的周期性峰值,也无固定间隔的显著波动,说明这些指标在 72 小时滞后范围内,周期性特征不明显。 ## 题目2 ### 热力图解读 热力图显示了各指标之间的相关性。颜色越深表示相关性越强,颜色越浅表示相关性越弱,偏红色表示正相关,偏蓝色表示负相关。 1. 图形大致可分为四个部分: - 左上角的颜色较深的矩形反映了AQI与数个观测指标(污染物)的关系。 - 右上侧有一些颜色较深的区块,可能反映了污染物(如CO、NO2、O3)浓度与环境因素(如温度、湿度、风速)的相关关系。 - 中心与中心正右侧的深色区块反映温度与气压间的强负相关关系。 - 右下角的颜色较深的矩形主要反映各环境指标间的相关关系。 2. 空气质量指数(AQI)与PM2.5、PM10有很强正相关关系,与CO、NO2、SO2呈现较强正相关关系。同时跟VV(水平能见度)有较强负相关关系。后者的原因显然。经过查阅资料,前者数个指标本就为AQI的计算所考虑的指标,而同为考虑指标的O3相关性低,不知道为什么,需要进一步调研。 3. 小时(hour)与O3等指标呈现一定正相关关系,这或许反映O3浓度变化具有日周期。且与U(地面高度2米处的相对湿度)等指标呈现一定负相关关系。 ### 主成分分析解读 1. 检验指标: - KMO值: 0.762>0.7。 - 巴赫利特检验卡方值: 90424.712, p值: 0.0<0.001,显著。 - 提取5个特征值大于1的因子作为主成分,累积方差贡献率为78.89%。 - 检验效果较好,说明数据适合主成分分析降维。 2. 旋转载荷矩阵解读: 1) Factor1(温度气压因子) - 高载荷变量: Tn (-0.963), T (-0.958), Tx (-0.954), P (0.924), Po (0.921), Td (-0.898) - 物理意义: 主要反映温度(T, Tn, Tx)和气压(P, Po)相关指标的强负相关关系(温度越高,气压越低)。 2) Factor2(颗粒物污染因子) - 高载荷变量: AQI (0.967), PM10 (0.933), PM2.5 (0.879) - 物理意义: 直接反映空气质量指数(AQI)和颗粒物污染(PM10, PM2.5),空气质量问题代表颗粒物污染主导。 3) Factor3(大气条件与污染物因子) - 高载荷变量: U (-0.824), Ff (0.772), NO2 (-0.728), CO (-0.695), VV (0.667) - 物理意义: 风速增加(Ff)与相对湿度(U)负相关,与能见度(VV)正相关。 同时风速增加(Ff)与污染物浓度(NO2、CO负载荷)的负相关关系可能暗示了风对大气污染物的扩散作用。 4) Factor4(因子) - 高载荷变量: Pa (-0.747), SO2 (0.694) - 物理意义:难以解释。 5) Factor5(降水因子) - 高载荷变量: RRR (0.819), tR (0.512) - 物理意义: 直接反映降水量(RRR)和降水时间(tR)。 6) 交叉载荷与特殊变量 - O3(臭氧):在Factor1和Factor3上均有载荷,可能需结合气象与化学机制进一步分析。 - VV(能见度):受Factor3(风速)和Factor2(颗粒物)共同影响,符合实际物理规律。 ## 题目3 ### SARIMA模型解读 1. **模型结构选择** - 最终参数:(p,d,q)(P,D,Q,s) = (1,1,1)(1,1,1,24) - 参数选择依据: - 通过ACF/PACF图观察24小时周期特征 - 使用网格搜索确定最优参数组合 - 季节性分量设置为24小时周期(s=24) 2. **特征工程** - 仅使用AQI单变量时间序列 - 通过差分处理消除非平稳性: - 一阶常规差分(d=1) - 一阶季节性差分(D=1) 3. **参数调优** - 使用AIC/BIC信息准则评估模型 - 通过auto_arima自动搜索参数空间 - 最终选择AIC最低的候选模型 4. **评估指标** - RMSE: 11.893 - R-squared: 0.932 - MAE: 7.744 - 相比XGBoost模型预测精度相近,但保持时间序列特性 5. **预测结果可视化** - 滚动预测效果图:![SARIMA预测](./images/AQI-SARIMA.png) - 置信区间覆盖率达到95%,实际值大部分落在预测区间内 6. **残差分析** - Ljung-Box检验p值=0.32(>0.05) - 残差ACF图无明显自相关 - 符合白噪声假设,说明模型已充分提取序列信息 ### XGBOOST模型解读 1. 该模型使用历史AQI数据,并进行周期性编码和滞后特征构建(3小时粒度的滞后特征(最多7天)),作为特征工程。 2. 每次预测均采用该时间点以前的真实数据,即每次预测均为单步预测。 3. 使用随机搜索法参数调优。 4. 评估指标: - RMSE: 11.815 - R-squared: 0.929 - MAE: 7.722 5. 预测图:![图](./images/xg_by_step.png) 6. 重要特征:![图](./images/xg_feature_importance.png)AQI_lag_1最为重要,即该时刻的AQI主要由前1个观测时刻决定。AQI_lag_21也较为重要。day_of_week显示影响较小,但不是完全没有。 7. 模型比较:与SARIMA模型相近,在单步预测的准确度上几乎不相上下。两个模型在时间特征上的把握各有优势,比如SARIMA模型在时间序列特征上的把握较好,而XGBoost模型更能建立时间特征以外的因素对AQI的影响关系。但在同样只使用时间特征并且一次只往下预测一步的情况下,XGBOOST稍逊于SARIMA,后者预测更加稳健,而前者容易出现峰值偏高,谷值偏低的情况。 8. 其实也做了利用递归直接预测一整个月的,预测结果在2天以内尚可,而后趋于平缓,具体效果看图就很明了了。![图](./images/XG_pred_by_recursion.png)