基于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分解不完备的缺陷。
算法步骤:
- 对原始信号 x(t)x(t)x(t) 添加高斯白噪声,生成 NNN 组含噪信号
- 对每组信号进行EMD分解,得到第一阶IMF分量
- 对所有第一阶IMF取均值,得到CEEMDAN的第一阶 IMF1‾\overline{IMF_1}IMF1
- 计算残差 r1(t)=x(t)−IMF1‾r_1(t) = x(t) - \overline{IMF_1}r1(t)=x(t)−IMF1
- 对残差 rk(t)r_k(t)rk(t) 添加特定噪声后继续EMD分解,得到下一阶IMF
- 重复直至残差无法进一步分解
噪声参数设定:
- 信噪比 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 的整体工作流程:
- CEEMDAN分解 :将原始AQI序列分解为 nnn 个IMF分量和1个残差分量
- 特征构造:对每个分量,将15个原始特征与分量值拼接,利用前24小时历史数据构造输入特征
- TCN特征提取:通过2个残差块(含因果膨胀卷积+层归一化+空间Dropout)提取多尺度时序特征
- BiGRU时序建模:前向GRU和后向GRU各60个隐藏单元,捕获双向时序依赖
- 分量预测合成:逐分量预测后累加得到最终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四种模型的多维度对比,得出以下结论:
- 混合架构优势明显:TCN-BiGRU融合卷积与时序建模,较单一模型有显著提升
- CEEMDAN分解增效显著:将非平稳AQI序列分解后逐分量建模,有效降低了预测难度,R²达到0.9250
- BiGRU优于BiLSTM:在本任务中,参数量更少的GRU展现出更好的泛化性能
CEEMDAN-TCN-BiGRU模型在AQI预测任务上综合性能最优,各项指标均优于对比模型,具有较强的实际应用价值。
本文模型代码基于MATLAB Deep Learning Toolbox实现,如需完整代码与数据,欢迎私信交流探讨。