基于CEEMDAN-TCN-BiGRU的空气质量指数(AQI)预测研究,五模型对比,实验报告+MATLAB代码

基于CEEMDAN-TCN-BiGRU的空气质量指数(AQI)预测研究

融合信号分解、时序卷积与双向门控循环网络的多模型对比分析


1 研究背景

空气质量指数(Air Quality Index, AQI)是衡量大气污染程度的核心指标,准确预测AQI对公众健康防护和政府环境决策具有重要现实意义。然而,AQI时间序列数据具有非线性、非平稳、多尺度耦合等复杂特征,传统单一统计模型(如ARIMA)难以有效捕捉其动态变化规律。

近年来,深度学习技术在时间序列预测领域展现出强大能力:时序卷积网络(TCN)利用膨胀卷积有效扩大感受野,双向门控循环单元(BiGRU)能够从前向和后向同时捕捉序列依赖关系。更关键的是,CEEMDAN(完全自适应噪声集合经验模态分解)作为一种先进的信号分解方法,能够将原始复杂序列分解为多个相对平稳的本征模态函数(IMF),从而降低建模难度。

本文构建CEEMDAN-TCN-BiGRU混合预测模型,并与TCN、BiLSTM、BiGRU、TCN-BiGRU四种基线模型进行系统性对比,验证所提方法在AQI预测任务上的优越性。


2 数据来源与预处理

2.1 数据概况

研究数据来源于2023年全年逐时观测数据,每天包含24个时间点,共包含15个特征变量:

  • 污染物指标:PM₂.₅、PM₁₀、SO₂、NO₂、O₃、CO等
  • 气象指标:温度、湿度、风速、风向、气压等
  • 预测目标:AQI数值

2.2 数据预处理

原始数据中存在缺失值(NaN)和零值异常,分别处理,

随后对所有特征进行 min-max归一化(映射至0,1区间),以消除量纲差异对模型训练的影响。


3 算法原理

3.1 CEEMDAN 分解

CEEMDAN(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise)是EMD系列算法的改进版本,通过在分解的每一阶段自适应添加白噪声,有效解决了传统EMD的模态混叠问题,同时克服了EEMD分解不完备的缺陷。

算法步骤

  1. 对原始信号 x(t)x(t)x(t) 添加高斯白噪声,生成 NNN 组含噪信号
  2. 对每组信号进行EMD分解,得到第一阶IMF分量
  3. 对所有第一阶IMF取均值,得到CEEMDAN的第一阶 IMF1‾\overline{IMF_1}IMF1
  4. 计算残差 r1(t)=x(t)−IMF1‾r_1(t) = x(t) - \overline{IMF_1}r1(t)=x(t)−IMF1
  5. 对残差 rk(t)r_k(t)rk(t) 添加特定噪声后继续EMD分解,得到下一阶IMF
  6. 重复直至残差无法进一步分解

噪声参数设定

  • 信噪比 Nstd=0.2N_{std} = 0.2Nstd=0.2
  • 添加噪声次数 NR=100NR = 100NR=100
  • 最大包络迭代次数 MaxIter=5MaxIter = 5MaxIter=5

3.2 TCN(时序卷积网络)

TCN通过以下机制实现高效的时间序列建模:

  • 因果卷积(Causal Convolution) :确保输出仅依赖于过去时刻的输入,yty_tyt 仅与 xt,xt−1,...x_{t}, x_{t-1}, \dotsxt,xt−1,... 相关
  • 膨胀卷积(Dilated Convolution) :通过膨胀因子 ddd 扩大感受野,膨胀因子按 d=2i−1d = 2^{i-1}d=2i−1 指数增长
  • 残差连接(Residual Connection):缓解深层网络的梯度消失问题

对于膨胀因子为 ddd、卷积核大小为 kkk 的一维膨胀卷积:

F(s)=∑i=0k−1f(i)⋅xs−d⋅iF(s) = \sum_{i=0}^{k-1} f(i) \cdot x_{s - d \cdot i}F(s)=i=0∑k−1f(i)⋅xs−d⋅i

感受野计算公式:

RF=1+∑i=0B−12⋅(k−1)⋅2iRF = 1 + \sum_{i=0}^{B-1} 2 \cdot (k-1) \cdot 2^{i}RF=1+i=0∑B−12⋅(k−1)⋅2i

其中 BBB 为残差块数量,kkk 为卷积核大小。

3.3 BiGRU(双向门控循环单元)

GRU通过门控机制高效控制信息流动,结构比LSTM更简洁:

  • 更新门 zt=σ(Wz⋅ht−1,xt)z_t = \sigma(W_z \cdot h_{t-1}, x_t)zt=σ(Wz⋅ht−1,xt):控制前一状态信息保留量
  • 重置门 rt=σ(Wr⋅ht−1,xt)r_t = \sigma(W_r \cdot h_{t-1}, x_t)rt=σ(Wr⋅ht−1,xt):控制前一状态信息丢弃量
  • 候选状态 h~t=tanh⁡(W⋅rt⊙ht−1,xt)\tilde{h}_t = \tanh(W \cdot r_t \\odot h_{t-1}, x_t)h~t=tanh(W⋅rt⊙ht−1,xt)
  • 最终状态 ht=(1−zt)⊙ht−1+zt⊙h~th_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_tht=(1−zt)⊙ht−1+zt⊙h~t

BiGRU由两个方向相反的GRU层组成:

h→t=GRU(xt,h→t−1),h←t=GRU(xt,h←t+1)\overrightarrow{h}t = \text{GRU}(x_t, \overrightarrow{h}{t-1}), \quad \overleftarrow{h}t = \text{GRU}(x_t, \overleftarrow{h}{t+1})h t=GRU(xt,h t−1),h t=GRU(xt,h t+1)

最终输出为两者的拼接:Ht=h→t;h←tH_t = \\overrightarrow{h}_t; \\overleftarrow{h}_tHt=h t;h t

3.4 混合模型架构

CEEMDAN-TCN-BiGRU 的整体工作流程:

  1. CEEMDAN分解 :将原始AQI序列分解为 nnn 个IMF分量和1个残差分量
  2. 特征构造:对每个分量,将15个原始特征与分量值拼接,利用前24小时历史数据构造输入特征
  3. TCN特征提取:通过2个残差块(含因果膨胀卷积+层归一化+空间Dropout)提取多尺度时序特征
  4. BiGRU时序建模:前向GRU和后向GRU各60个隐藏单元,捕获双向时序依赖
  5. 分量预测合成:逐分量预测后累加得到最终AQI预测值

4 技术路线


5 模型参数设定

5.1 CEEMDAN-TCN-BiGRU核心参数

参数类别 参数名 设定值
CEEMDAN 信噪比 Nstd 0.2
CEEMDAN 噪声添加次数 NR 100
CEEMDAN 最大包络迭代 5
TCN 卷积核数量 64
TCN 卷积核大小 5
TCN 残差块数量 2
TCN Dropout因子 0.05
BiGRU 隐藏单元数 60 × 2
训练 优化器 Adam
训练 初始学习率 0.01
训练 L2正则化 0.001
训练 学习率调整 Piecewise(100轮后×0.2)
训练 最大训练轮次 200

5.2 对比模型参数

模型 核心结构 训练轮次
TCN 1个残差块,16个卷积核,卷积核大小3 800
BiLSTM 25个隐藏单元 150
BiGRU 4层GRU,40个隐藏单元 150
TCN-BiGRU 2个残差块+GRU(35×2) 150

6 评价指标

采用五项指标全面评估模型性能:

平均绝对误差(MAE)

MAE=1n∑i=1n∣yi−y^i∣MAE = \frac{1}{n}\sum_{i=1}^{n}|y_i - \hat{y}_i|MAE=n1i=1∑n∣yi−y^i∣

均方根误差(RMSE)

RMSE=1n∑i=1n(yi−y^i)2RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2}RMSE=n1i=1∑n(yi−y^i)2

平均绝对百分比误差(MAPE)

MAPE=1n∑i=1n∣yi−y^iyi∣×100%MAPE = \frac{1}{n}\sum_{i=1}^{n}\left|\frac{y_i - \hat{y}_i}{y_i}\right| \times 100\%MAPE=n1i=1∑n yiyi−y^i ×100%

均方误差(MSE)

MSE=1n∑i=1n(yi−y^i)2MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2MSE=n1i=1∑n(yi−y^i)2

决定系数(R²)

R2=1−∑i=1n(yi−y^i)2∑i=1n(yi−yˉ)2R^2 = 1 - \frac{\sum_{i=1}^{n}(y_i - \hat{y}i)^2}{\sum{i=1}^{n}(y_i - \bar{y})^2}R2=1−∑i=1n(yi−yˉ)2∑i=1n(yi−y^i)2


7 实验结果与对比分析

7.1 测试集性能对比

模型 MAE ↓ MAPE ↓ MSE ↓ RMSE ↓ R² ↑
TCN 19.467 36.53% 1048.50 32.380 0.7710
BiLSTM 12.346 20.73% 591.70 24.325 0.8708
BiGRU 10.918 16.60% 500.56 22.373 0.8907
TCN-BiGRU 9.390 15.84% 411.95 20.297 0.9100
CEEMDAN-TCN-BiGRU 8.999 13.83% 343.14 18.524 0.9250

7.2 结果分析

(1)单一模型性能排序:BiGRU > BiLSTM > TCN

BiGRU较BiLSTM结构更精简、参数量更少,在中等规模数据上表现出更好的泛化能力。TCN单独使用时性能较弱(R²仅0.77),说明单一卷积结构难以充分捕捉AQI序列的复杂时序依赖。

(2)混合模型的提升:TCN-BiGRU较BiGRU有显著提升

  • MAE降低 14.0%(10.918 → 9.390)
  • RMSE降低 9.3%(22.373 → 20.297)
  • R²提高 2.2%(0.8907 → 0.9100)

证明TCN提取的多尺度特征与BiGRU的时序建模能力形成互补。

(3)CEEMDAN的增益效应:CEEMDAN-TCN-BiGRU表现最优

  • 较TCN-BiGRU,MAE再降低 4.2% ,RMSE降低 8.7%
  • R²达到 0.9250 ,较基础TCN模型提升 20.0%

CEEMDAN将复杂AQI序列分解为相对平稳的分量,每个分量更容易被网络拟合,最终合成后精度显著提升。

(4)误差分布特征

从MAE-R²散点图可以看出,CEEMDAN-TCN-BiGRU位于左下角------即低误差+高拟合优度的理想区域,与其他模型形成明显区分。


8 运行环境

项目 配置
编程语言 MATLAB R2022a+
深度学习框架 Deep Learning Toolbox
关键依赖 Signal Processing Toolbox

9 应用场景

本方法可应用于以下场景:

  • 城市空气质量预警:实时预测AQI变化趋势,辅助环保部门发布预警信息
  • 重污染天气应急响应:提前预判污染峰值时间和程度,科学制定减排方案
  • 公众健康出行建议:为敏感人群提供未来空气质量预报,降低健康风险
  • 工业排放调度优化:结合气象预报优化企业生产计划,实现错峰减排
  • 多污染物协同预测:方法可推广至PM₂.₅、O₃、NO₂等单项污染物浓度预测

10 结论

本文构建了CEEMDAN-TCN-BiGRU空气质量预测模型,通过与TCN、BiLSTM、BiGRU、TCN-BiGRU四种模型的多维度对比,得出以下结论:

  1. 混合架构优势明显:TCN-BiGRU融合卷积与时序建模,较单一模型有显著提升
  2. CEEMDAN分解增效显著:将非平稳AQI序列分解后逐分量建模,有效降低了预测难度,R²达到0.9250
  3. BiGRU优于BiLSTM:在本任务中,参数量更少的GRU展现出更好的泛化性能

CEEMDAN-TCN-BiGRU模型在AQI预测任务上综合性能最优,各项指标均优于对比模型,具有较强的实际应用价值。


本文模型代码基于MATLAB Deep Learning Toolbox实现,如需完整代码与数据,欢迎私信交流探讨。

相关推荐
吃好睡好便好2 天前
查找函数的使用
学习·算法·matlab·生活·查找函数
chhttty2 天前
Design Verifier检查:整型数溢出检查与修复
matlab·simulink
吃好睡好便好2 天前
判断函数的使用
学习·算法·matlab·生活·判断函数
hu9245195592 天前
Matlab保护源代码—P文件和exe文件详细解析
开发语言·matlab
史上最甜的躯2 天前
控制系统——基础、导论;以直流电机控制系统为例详解微分方程模型、拉普拉斯变换、传递函数模型的理论、推导及仿真
matlab·simulink·传递函数·控制系统·拉普拉斯·电机模型
lingchen19063 天前
用MATLAB r2010b和r2016b求解微分方程组
开发语言·算法·matlab
可编程芯片开发3 天前
基于李雅普诺夫算法的四旋翼无人机姿态跟踪控制系统simulink建模与仿真
matlab·无人机·制造·四旋翼无人机·李雅普诺夫·姿态跟踪控制
matlab代码5 天前
基于matlab的玉米种子计数设计(GUI界面)【源码58期】
开发语言·matlab
吃好睡好便好5 天前
转换函数的使用
学习·matlab·生活·转换函数
吃好睡好便好6 天前
取整函数的使用
学习·matlab·生活·取整函数