全文链接:https://tecdat.cn/?p=45664

视频出处:拓端抖音号@拓端tecdat
封面

关于分析师

Wu Yu

在此对 Wu Yu 对本文所作的贡献表示诚挚感谢,他在浙江工业大学完成了数据科学与大数据技术专业的本科学位,专注机器学习、深度学习领域。擅长 Python、C++,神经网络、数据分析。曾参与多个环境数据分析和预测建模项目。

    • *

全文链接:https://tecdat.cn/?p=45664
原文出处:拓端数据部落公众号

    • *

引言

随着城市化和工业化的深度推进,细颗粒物污染问题日益突出,精准预测 PM2.5 浓度对公众健康和环境治理至关重要。从数据驱动的视角看,这本质上是一个融合时空动态和长程依赖的复杂时间序列预测课题。本文综合运用时序特征分析、因子关联挖掘以及深度学习建模,对某区域 184 个站点连续三年的多变量记录进行系统分析,重点对比动态图卷积循环网络(DGCRN)与长序列学习器 Informer,并用 LSTM、GRU 作为基线。

这项工作灵感来源于一次面向环保业务的咨询任务,经脱敏和方法沉淀后,形成可复现的学术分析框架。

本文内容改编自过往客户咨询项目的技术沉淀并且已通过实际业务校验,阅读原文进群获取完整代码数据及更多最新 AI 见解和行业洞察,可与 900+ 行业人士交流成长;还提供人工答疑,拆解核心原理、代码逻辑与业务适配思路;遇代码运行问题,更能享 24 小时调试支持。

论文主线流程:

数据预处理(插值、异常值、标准化)
    │
特征分析与因子挖掘(周/年周期、GAUST 相似性)
    │
模型构建与训练(DGCRN、Informer、LSTM、GRU)
    │
多指标对比评估(RMSE、MAPE、MAE、R²)
    │
模型改进展望(多尺度时序单元、空间注入)
    • *

一、数据预处理与特征工程

1. 数据探索与缺失填补

数据集包含 184 个监测点,时间跨度为 2015.01—2018.12,采样频率每 3 小时一次,共 14 个特征。经重新生成完整时间索引并比对,发现由观测时间点和观测点构成的主键缺失 11776 条记录,缺失时段主要集中在跨年夜附近,且为连续、短时中断。


图 1 数据集的基本属性探索

缺失填补策略根据变量物理特性分类实施:对具有明显日、年周期的 2m 温度、边界层高度采用周期性插值;环形特征风向角通过三角函数分解后插值;降水等累积量采用累计量插值;而 PM2.5、风速等易突变变量采用分段线性插值,以尽量保留突发波动。



图 2 缺失记录可视化

    • *

相关文章

DeepSeek、LangGraph 和 Python 融合 LSTM、RF、XGBoost、LR 多模型预测 NFLX 股票涨跌 | 附完整代码数据

原文链接:https://tecdat.cn/?p=44060

    • *

2. 异常值处理与标准化

结合物理阈值和统计方法(Z-score、箱线图)检测异常。对于符合极端天气特征的“真实异常”予以保留;随后通过 Z-score 标准化消除量纲影响,风向角用正余弦映射解决角度突变问题。


图 3 观测属性可视化特征



图 4 插值后可视化结果

阅读原文进群获取完整内容及更多 AI 见解、行业洞察,与 900+ 行业人士交流成长。

    • *

二、时序特征与因子分析

1. 多尺度周期特征

  • 日周期:整体波动平缓,无显著的“早晚高峰、午后低谷”模式,表明当地排放和气象驱动较弱。
  • 周周期:呈现“周中稳态、周末抬升”的规律,周末波幅加大。
  • 年周期:“冬高夏低”的季节锁定效应显著,冬季静稳天气利于污染累积,夏季对流和降水冲刷降低浓度。年际间中位数持续下降,箱体收窄,极端峰值减少,污染治理成效明显。


图 5 日周期特性对比


图 6 周周期特性对比


图 7、8 月周期与年周期特性对比


图 9 PM2.5 年度分布对比

2. 气象因子关联分析(GAUST)

在滑动窗口内计算各因子与 PM2.5 的 Pearson 相关系数,发现风速的时间序列趋势相似度最高,印证了扩散主导机制;地面气压次之,相对湿度和风向有一定关联。这些结果指导了后续特征权重的考量。


图 10 气象因子与 PM2.5 GAUST 分析

    • *

三、模型构建与代码实现

1. DGCRN:动态图卷积循环网络

DGCRN 的核心在于自适应图生成与扩散图卷积。节点嵌入向量在训练中自动学习站点间的潜在关联,通过内积产生动态邻接矩阵,模拟污染物在不同站点间的传播。时序单元使用改写的 GRU,将线性门替换为扩散图卷积,形成 DGCRM(图卷积循环模块),同时捕捉时间和空间依赖。


图 11 DGCRN 模型总览图

下面给出简化后的核心架构代码(完整代码可入群获取):

# 自适应图卷积与循环单元(变量名已重构)
class GraphDiffusionConv(nn.Module):
    def __init__(self, in_dim, out_dim, K_steps=2):
        super().__init__(); self.K_steps = K_steps
        # 拼接多步扩散结果的全连接层
        self.linear_combine = nn.Linear(in_dim * K_steps, out_dim)
    def forward(self, x, adj_matrix):
        B, N, _ = x.shape
        adj_mod = adj_matrix + torch.eye(N, device=x.device)   # 自环连接
        deg_inv = (adj_mod.sum(1) + 1e-6).pow(-1)             # 度矩阵的逆
        norm_adjacency = torch.diag(deg_inv) @ adj_mod
        spatial_supports, x_diffused = [x], x
        for _ in range(1, self.K_steps):   # 多步扩散模拟
            x_diffused = torch.einsum('ij,bjk->bik', norm_adjacency, x_diffused)
            spatial_supports.append(x_diffused)
        combined = torch.cat(spatial_supports, dim=-1)
        return self.linear_combine(combined)
class GraphConvGRUCell(nn.Module):
    def __init__(self, in_dim, hid_dim, K_steps=2):
        super().__init__(); self.hid_dim = hid_dim
        self.update_conv = GraphDiffusionConv(in_dim + hid_dim, hid_dim, K_steps)
        self.reset_conv  = GraphDiffusionConv(in_dim + hid_dim, hid_dim, K_steps)
        self.candidate_conv = GraphDiffusionConv(in_dim + hid_dim, hid_dim, K_steps)
    def forward(self, x, h_state, adj_matrix):
        concat_input = torch.cat([x, h_state], dim=-1)
        # ......(省略门控计算与状态更新,完整代码请进群获取)


图 12 DGCRN 训练过程损失下降图

2. Informer:概率稀疏自注意力

Informer 针对长序列设计,利用 ProbSparse 注意力仅关注关键的 query,降低复杂度;序列蒸馏层压缩编码后的维度,使解码器聚焦于宏观趋势。在本任务中,预测步长仅 24 步,序列蒸馏可能过度丢弃了短期高频抖动,导致对尖峰的捕捉能力较弱。


图 13 Informer 训练过程损失下降图

3. 基线模型 LSTM 与 GRU

作为循环神经网络基准,LSTM 和 GRU 直接对多变量时间序列建模,未显式利用空间关系,但凭借门控机制仍能捕捉一定的时序动态。

    • *

四、结果对比与解读

下表汇总了各模型在测试集上的表现(训练 30 个 epoch,RMSE 等指标越小越好,R² 越接近 1 越好)。

模型RMSEMAPEMAE
DGCRN1.0681.28%0.7190.7732
Informer1.461.68%0.940.5589
GRU1.231.47%0.820.6891
LSTM1.341.56%0.880.6274


图 14 DGCRN 模型预测结果


图 15 Informer 模型预测结果


图 16 LSTM 和 GRU 模型预测结果

DGCRN 在所有指标上全面领先,尤其在尖峰捕捉上更为敏锐,这源于其动态图机制能同步捕捉污染物在空间上的传播路径。Informer 之所以表现低于预期,甚至弱于 GRU,主要原因是 PM2.5 浓度的日、周周期特征本身较弱,而 Informer 的序列蒸馏机制倾向于保留长程趋势,滤除了大量点维度的异动,导致预测曲线过于平滑,无法精确刻画突发波动。这一现象在答辩时若被问及,可从“输入序列长度与周期性强度不匹配导致蒸馏过压缩”的角度进行解释。


图 17 DGCRN(左列)与 Informer(右列)各步误差变化


图 18 LSTM 和 GRU 各步误差变化

从误差随预测步长的变化曲线可见,DGCRN 的误差增长最为平缓,呈现出更强的多步预测稳定性,而 Informer 在后期误差加速上升。对于仅需完成本科论文的同学,可以重点分析 DGCRN 与 LSTM 的差异;若为硕士论文,则需进一步剖析 Informer 失效的内在机理,并给出改进方案。

阅读原文进群获取完整内容及更多 AI 见解、行业洞察,与 900+ 行业人士交流成长。

    • *

五、模型改进与未来方向

  1. 多尺度时序单元替换:当前 DGCRN 的时序模块本质仍是 GRU,捕捉超长依赖有限。可替换为多尺度时间循环单元,融合日、周、年周期的显式建模。
  2. 融合 GAUST 的权重编码:将风速等关键因子的关联度作为注意力偏置,设计差异化特征映射通道,避免冗余特征稀释关键信号。
  3. Informer 的机制优化:调整概率稀疏度,或引入轻量级循环单元辅助信息传递,平衡压缩与细节保留;也可借鉴 DGCRN 的空间图卷积思想,为 Informer 增加空间依赖模块,强化局部波动捕捉。
    • *

六、研究结论

本文围绕 PM2.5 预测,构建了从数据填补、时序分析到多模型对比的完整流程。实证表明,DGCRN 凭借自适应图与扩散卷积有效融合时空信息,综合性能最优;Informer 在弱周期性、强随机性的短序列预测任务中表现受限,揭示了序列蒸馏机制的潜在局限。本研究为环境时空预测的模型选型提供了可借鉴的实证参考。

本文配套的论文建模可直接套用的完整代码包、实证分析,可加小助手微信:tecdat_cn 领取,我们可提供全流程的辅助学术合规辅导、1v1 建模陪跑服务,助力顺利完成科研、通过答辩。

标签: none

添加新评论