基于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实现,如需完整代码与数据,欢迎私信交流探讨。

相关推荐
吃好睡好便好1 天前
MATLAB仿真框图3
开发语言·matlab·仿真·simulink
吃好睡好便好2 天前
MATLAB仿真框图2
开发语言·matlab·仿真·simulink
AAIshangyanxiu3 天前
涡度通量碳观测数据 MATLAB 全流程解析与敏感性定量分析、观测数据质控、插补及 footprint 建模技术
开发语言·matlab·涡度通量·生态碳汇·生态碳汇模拟
吃好睡好便好3 天前
MATLAB仿真框图
开发语言·matlab·仿真·simulink
netccdn4 天前
Hough变换检测直线(Matlab)
开发语言·计算机视觉·matlab
DFT计算杂谈5 天前
ADV. SCI. 反铁磁体MnTe2中的Plaid-like自旋劈裂与手性磁振子
matlab
机器学习之心6 天前
可拓理论+云模型:一套量化高校科研创新能力的MATLAB实现方案
matlab·云模型·可拓理论
bu_shuo6 天前
MATLAB中的meshgrid和ndgrid
开发语言·matlab
青春不败 177-3266-05207 天前
MATLAB在生态环境数据处理与分析
matlab·生态学·遥感·生态系统服务·数据处理·环境科学