基于2025年Nature子刊AGDO算法优化的CNN-LSTM多变量时序预测模型——四模型对比全解析

基于2025年Nature子刊AGDO算法优化的CNN-LSTM多变量时序预测模型------四模型对比全解析

摘要: 本文系统介绍基于2025年最新Nature子刊《Scientific Reports》提出的Adam梯度下降优化算法(AGDO)与CNN-LSTM混合网络的多变量时序预测模型。在光伏发电预测场景下,将其与CNN、LSTM、标准CNN-LSTM三组基准模型进行全面对比,验证AGDO算法在深度学习超参数优化中的优越性能。


一、研究背景

时间序列预测是能源管理、金融风控、气象预报等领域的关键技术。随着可再生能源的大规模并网,光伏发电功率的准确预测对电力系统稳定运行至关重要。然而,光伏发电受太阳辐照度、温度、湿度、风速等多维气象因素的耦合影响,呈现出强非线性、高波动性和非平稳性特征,传统的单一模型(如CNN或LSTM)难以同时捕捉数据的空间特征与时间依赖性。

2025年7月,Yiqiang Xia等人在《Scientific Reports》上发表了Adam梯度下降优化算法(Adam Gradient Descent Optimizer, AGDO) ------一种受深度学习Adam优化器启发的新型元启发式算法。AGDO区别于传统的"动物园算法"(如PSO、GA、GWO等),其搜索机制直接建立在梯度动量、二阶矩估计和自适应步长等坚实的数学原理之上,而非模拟生物行为。该算法在CEC 2017基准测试集中,与19种算法对比,在其中三个维度上获得Wilcoxon秩和检验最高分,展现出卓越的探索与开发平衡能力$TRAE_REF

本文的核心创新在于:将AGDO算法引入CNN-LSTM混合网络的超参数寻优,以训练集RMSE为目标函数,自动搜索最佳L2正则化系数、初始学习率和LSTM隐藏层节点数,从而构建AGDO-CNN-LSTM模型,并在北半球光伏数据集上与CNN、LSTM、标准CNN-LSTM进行四模型对比实验。


二、技术路线与算法步骤

2.1 整体技术路线

整个建模流程分为四个核心阶段:

复制代码
数据预处理 → 滑动窗口构建 → 模型训练与超参数优化 → 多模型对比评估
  1. 数据预处理:导入北半球光伏数据,经延时步长(lag=4)构建输入特征矩阵,进行Min-Max归一化至0,1区间
  2. 滑动窗口构建:利用前4个时间步的多维气象特征预测未来1步的光伏功率,将时序数据重构为监督学习格式
  3. 模型训练与超参数优化:分别训练CNN、LSTM、CNN-LSTM和AGDO-CNN-LSTM四个模型,其中AGDO-CNN-LSTM的超参数(L2正则化系数、初始学习率、LSTM隐藏层节点数)由AGDO算法自动寻优
  4. 多模型对比评估:在测试集上分别计算RMSE、MSE、MAE、MAPE、R²五项指标,通过雷达图、柱状图、散点图等多种可视化手段进行全方位对比

2.2 CNN-LSTM混合网络结构

CNN-LSTM混合网络是本工作的核心预测架构,其设计思想是先通过CNN卷积层提取多变量时间序列的局部空间特征,再通过LSTM层捕获长程时间依赖

层序号 层类型 参数配置 功能说明
1 sequenceInputLayer 输入维度 features, 1, 1 多变量时序输入层
2 sequenceFoldingLayer --- 序列折叠,适配2D卷积
3 convolution2dLayer 3×1核,16通道,same padding 浅层空间特征提取
4 reluLayer --- 非线性激活
5 convolution2dLayer 3×1核,32通道,same padding 深层空间特征提取
6 reluLayer --- 非线性激活
7 sequenceUnfoldingLayer --- 序列展开,还原时序结构
8 flattenLayer --- 特征展平
9 lstmLayer 待优化(默认5/优化后由AGDO确定) 时序依赖建模
10 fullyConnectedLayer 输出维度=1 回归输出
11 regressionLayer --- MSE损失函数

设计要点:卷积核尺寸设为3×1,仅沿特征维度进行一维卷积操作,保留完整的时间维度信息。两层卷积逐步提升通道数(16→32),实现特征的层次化提取。

2.3 滑动窗口数据构建

设原始数据集包含 (n) 个样本,特征维度为 (m),延时步长为 (k),预测步长为 (z),则每个监督学习样本的输入维度为:

Input Shape = ( k + z ) × m \text{Input Shape} = (k + z) \times m Input Shape=(k+z)×m

代码中取 (k=4),(z=1),即利用前4个时刻的所有特征来预测当前时刻的光伏发电功率。训练集/测试集按70%/30%比例划分。


三、AGDO算法原理与公式推导

AGDO算法的核心创新在于将深度学习中的Adam优化器思想迁移到元启发式搜索领域,通过以下三阶段机制完成全局优化。

3.1 初始化阶段

在候选解边界内生成大小为N×Dim的随机初始种群:

x i j = rand ( N , Dim ) × ( U B j − L B j ) + L B j (1) x_{ij} = \text{rand}(N, \text{Dim}) \times (UB_j - LB_j) + LB_j \tag{1} xij=rand(N,Dim)×(UBj−LBj)+LBj(1)

其中 (UB_j) 和 (LB_j) 分别为第 (j) 维的上界和下界。初始化后识别适应度最优个体 (X_{\text{superior}}) 作为梯度下降的方向引导。

3.2 渐进式梯度动量积分(探索阶段)

灵感来源于Adam中的一阶矩估计(动量)。位置更新框架为:

X i , n e w 1 t + 1 = { ω ⋅ X i t + α i ⋅ X i t , k = 1 X i , n e w 1 t + sin ⁡ ( 2 π ⋅ dim ⋅ t ) ⋅ X i , n e w 1 t , 1 < k ≤ 2 dim (2) X_{i,new_1}^{t+1} = \begin{cases} \omega \cdot X_i^t + \alpha_i \cdot X_i^t, & k=1 \\ X_{i,new_1}^{t} + \sin(2\pi \cdot \text{dim} \cdot t) \cdot X_{i,new_1}^{t}, & 1 < k \leq \frac{2}{\text{dim}} \end{cases} \tag{2} Xi,new1t+1={ω⋅Xit+αi⋅Xit,Xi,new1t+sin(2π⋅dim⋅t)⋅Xi,new1t,k=11<k≤dim2(2)

其中自适应权重 (\omega) 和随机扰动 (\alpha_i) 定义为:

ω = rand() ⋅ ( 1 t total 2 t now 2 − 2 t total t now + 1 2 ) (3) \omega = \text{rand()} \cdot \left( \frac{1}{t_{\text{total}}^2}t_{\text{now}}^2 - \frac{2}{t_{\text{total}}}t_{\text{now}} + \frac{1}{2} \right) \tag{3} ω=rand()⋅(ttotal21tnow2−ttotal2tnow+21)(3)

α i = cos ⁡ ( 1 − rand() ⋅ 2 π ) (4) \alpha_i = \cos(1 - \text{rand()} \cdot 2\pi) \tag{4} αi=cos(1−rand()⋅2π)(4)

(\omega) 的二次函数形式使得算法在早期进行广泛探索(搜索半径大),随着迭代逐渐收缩,实现从全局探索到局部开发的平滑过渡。

3.3 动态梯度交互系统(利用阶段)

灵感来源于Adam中的二阶矩估计(自适应学习率)。分为预利用与后利用两个子阶段:

预利用阶段(公式5)------基于方向指针的精细搜索:

X i , n e w 2 a t + 1 = X i , n e w 1 t + 1 + ξ ⋅ a ⋅ ( G − X idx 1 t ) − a ⋅ ( X i , n e w 1 t + 1 − X idx 2 t ) (5) X_{i,new_{2a}}^{t+1} = X_{i,new_1}^{t+1} + \xi \cdot a \cdot (G - X_{\text{idx}1}^t) - a \cdot (X{i,new_1}^{t+1} - X_{\text{idx}_2}^t) \tag{5} Xi,new2at+1=Xi,new1t+1+ξ⋅a⋅(G−Xidx1t)−a⋅(Xi,new1t+1−Xidx2t)(5)

后利用阶段(公式6)------高效收敛:

X i , n e w 2 b t + 1 = X idx 1 t + a ⋅ ( G − X idx 2 t ) (6) X_{i,new_{2b}}^{t+1} = X_{\text{idx}1}^t + a \cdot (G - X{\text{idx}_2}^t) \tag{6} Xi,new2bt+1=Xidx1t+a⋅(G−Xidx2t)(6)

其中关键参考点 (G) 由Adam矩估计确定:

G = X i , best t − η v ^ t + ϵ m ^ t (7) G = X_{i,\text{best}}^t - \frac{\eta}{\sqrt{\hat{v}_t + \epsilon}}\hat{m}_t \tag{7} G=Xi,bestt−v^t+ϵ ηm^t(7)

位置梯度信息 (g_t) 的计算:

g t = X i , best t − C ⋅ P , C = 1 − rand() , P = X i , mean t − X i , new 1 t + 1 (8) g_t = X_{i,\text{best}}^t - C \cdot P, \quad C = 1 - \text{rand()}, \quad P = X_{i,\text{mean}}^t - X_{i,\text{new}_1}^{t+1} \tag{8} gt=Xi,bestt−C⋅P,C=1−rand(),P=Xi,meant−Xi,new1t+1(8)

一阶矩和二阶矩的偏置校正估计:

m ^ t = m t 1 − β 1 t , v ^ t = v t 1 − β 2 t (9) \hat{m}_t = \frac{m_t}{1 - \beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1 - \beta_2^t} \tag{9} m^t=1−β1tmt,v^t=1−β2tvt(9)

一阶矩和二阶矩的迭代更新:

m t = β 1 ⋅ m t − 1 + ( 1 − β 1 ) ⋅ g t v t = β 2 ⋅ v t − 1 + ( 1 − β 2 ) ⋅ g t 2 (10) \begin{aligned} m_t &= \beta_1 \cdot m_{t-1} + (1 - \beta_1) \cdot g_t \\ v_t &= \beta_2 \cdot v_{t-1} + (1 - \beta_2) \cdot g_t^2 \end{aligned} \tag{10} mtvt=β1⋅mt−1+(1−β1)⋅gt=β2⋅vt−1+(1−β2)⋅gt2(10)

其中 (\beta_1 = 0.9),(\beta_2 = 0.999),(\epsilon = 10^{-8}),学习率 (\eta = 0.001)。

3.4 系统优化算子(Levy飞行增强)

为弥补利用阶段在解空间全局覆盖上的不足,引入Levy飞行策略:

X i , new 4 t + 1 = X superior + levy ( φ ) ⋅ δ ⋅ ( X superior − X i t ⋅ θ ) (11) X_{i,\text{new}4}^{t+1} = X{\text{superior}} + \text{levy}(\varphi) \cdot \delta \cdot (X_{\text{superior}} - X_i^t \cdot \theta) \tag{11} Xi,new4t+1=Xsuperior+levy(φ)⋅δ⋅(Xsuperior−Xit⋅θ)(11)

Levy飞行的步长计算:

levy ( φ ) = 0.01 × r 1 × τ ∣ r 2 ∣ 1 / σ (12) \text{levy}(\varphi) = 0.01 \times \frac{r_1 \times \tau}{|r_2|^{1/\sigma}} \tag{12} levy(φ)=0.01×∣r2∣1/σr1×τ(12)

τ = Γ ( 1 + σ ) × sin ⁡ ( π σ 2 ) Γ ( 1 + σ 2 ) × σ × 2 σ − 1 2 1 / σ (13) \tau = \left \\frac{\\Gamma(1+\\sigma) \\times \\sin(\\frac{\\pi\\sigma}{2})}{\\Gamma(\\frac{1+\\sigma}{2}) \\times \\sigma \\times 2\^{\\frac{\\sigma-1}{2}}} \\right^{1/\sigma} \tag{13} τ=Γ(21+σ)×σ×22σ−1Γ(1+σ)×sin(2πσ)1/σ(13)

动态参数(与公式3同构但取值域不同的自适应缩放):

δ = rand() ⋅ ( 1 t total 2 t now 2 − 2 t total t now + 1 ) , θ = 2 t now t total (14) \delta = \text{rand()} \cdot \left( \frac{1}{t_{\text{total}}^2}t_{\text{now}}^2 - \frac{2}{t_{\text{total}}}t_{\text{now}} + 1 \right), \quad \theta = \frac{2t_{\text{now}}}{t_{\text{total}}} \tag{14} δ=rand()⋅(ttotal21tnow2−ttotal2tnow+1),θ=ttotal2tnow(14)

该算子按Sigmoid概率阈值触发(随迭代次数增加而概率性增强):

P trigger = 1 1 + e − ( 18 t T − 12 ) (15) P_{\text{trigger}} = \frac{1}{1 + e^{-(18\frac{t}{T} - 12)}} \tag{15} Ptrigger=1+e−(18Tt−12)1(15)

Levy飞行的长步长跳跃特性使算法能够有效跳出局部最优,在保证收敛精度的同时实现对解空间更全面的探索。


四、参数设定

4.1 模型训练超参数

参数名称 CNN LSTM CNN-LSTM AGDO-CNN-LSTM
优化器 Adam Adam Adam Adam
最大训练轮次 500 500 500 500
Mini-Batch大小 256 256 256 512
初始学习率 5e-3 5e-2 3e-3 AGDO自动寻优
L2正则化系数 4e-2 4e-2 4e-3 AGDO自动寻优
LSTM隐藏层节点数 --- 20 5 AGDO自动寻优
学习率衰减策略 piecewise (×0.1) piecewise (×0.1) piecewise (×0.1) piecewise (×0.1)
学习率衰减周期 400 400 400 400

4.2 AGDO超参数搜索空间

AGDO算法优化的三个关键超参数及其搜索范围:

优化变量 参数含义 下界 上界 数据类型
optVars(1) L2正则化系数 1e-3 1e-1 连续(取绝对值)
optVars(2) 初始学习率 0.001 0.03 连续(取绝对值)
optVars(3) LSTM隐藏层节点数 5 100 连续(取整)

4.3 AGDO算法参数

参数 说明
种群数量 (N) 5 搜索代理数量
最大迭代次数 (T) 6 优化迭代轮次
(\beta_1) 0.9 一阶矩估计指数衰减率
(\beta_2) 0.999 二阶矩估计指数衰减率
(\epsilon) 1e-8 防止除零的小常数
学习率 (\eta) 0.001 Adam更新步长
Levy参数 (\sigma) 1.2 Levy飞行稳定性参数

4.4 适应度函数

AGDO以CNN-LSTM模型在训练集上的**均方根误差(RMSE)**作为适应度函数:

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

其中 (y_i) 为真实值,(\hat{y}_i) 为反归一化后的训练集预测值。每次适应度评估需完整训练一次CNN-LSTM网络(500轮),因此AGDO的种群×迭代=5×6=30次网络训练。


五、运行环境

环境项 配置
操作系统 Windows 10/11 64-bit
编程语言 MATLAB R2021a+
深度学习框架 Deep Learning Toolbox
必要工具箱 Statistics and Machine Learning Toolbox
关键函数 trainNetworkpredictmapminmax
自定义脚本 AGDO.mfical.mcalc_error.mradarChart.minitialization.mTransposeLayer.m
数据集 北半球光伏数据.xlsx(多维气象特征+光伏功率)

运行流程 :直接执行 main.m,脚本将自动完成数据读取、预处理、四模型训练、超参数优化、结果可视化和评价指标计算的全流程。


六、实验结果与分析

6.1 测试集评价指标汇总

在测试集上,四个模型的五项评价指标对比如下表所示:

模型 MAE ↓ MAPE ↓(%) MSE ↓ RMSE ↓ R² ↑
CNN 1.6401 72.24 6.4731 2.5442 0.7825
LSTM 2.5925 191.68 9.8114 3.1323 0.6703
CNN-LSTM 1.3317 40.16 4.0252 2.0063 0.8647
AGDO-CNN-LSTM 1.2001 41.55 2.7233 1.6502 0.9085

6.2 核心结论

1. CNN-LSTM混合架构显著优于单一模型。 CNN-LSTM的R²(0.8647)分别超出CNN(0.7825)和LSTM(0.6703)约10.5%和29.0%,说明CNN提取空间特征与LSTM捕获时序依赖的互补设计是有效的。

2. AGDO超参数优化带来进一步增益。 AGDO-CNN-LSTM相比标准CNN-LSTM:RMSE降低17.8%(2.0063→1.6502),MSE降低32.3%(4.0252→2.7233),R²提升5.1%(0.8647→0.9085)。这表明AGDO搜索到的最优超参数组合(L2正则化、学习率、隐藏层节点数)显著改善了模型的泛化能力。

3. LSTM单独使用效果最差。 LSTM在所有指标上排名垫底(MAPE高达191.68%),说明光伏数据中存在复杂的多维特征交互,单一LSTM仅靠时序建模难以有效捕获空间维度的关联信息。

4. MAPE指标的特殊性。 AGDO-CNN-LSTM的MAPE(41.55%)略高于CNN-LSTM(40.16%),但其余四项指标均占优。这说明以RMSE为目标的超参数优化可能导致MAPE出现轻微波动,在实际应用中可考虑多目标优化策略。

6.3 可视化分析

代码中实现了丰富的多维度可视化对比,涵盖:

  • 训练集/测试集预测值 vs 真实值时序曲线图(4模型×2集=8幅子图)
  • 组合对比图(训练/测试分别叠加四模型预测曲线)
  • 测试集相对误差柱状图(直观比较各样本点的预测偏差)
  • 五维评价指标雷达图(归一化后综合比较四模型表现)
  • 罗盘图(逐指标独立展示各模型优劣)
  • 柱状图(MAE/RMSE/R²/MSE四指标并排比较)
  • R² vs MAPE二维散点图(精度-百分比误差权衡分析)
  • AGDO适应度收敛曲线

七、应用场景展望

AGDO-CNN-LSTM模型及其方法论可拓展应用于以下领域:

应用领域 具体场景 技术价值
可再生能源 光伏功率预测、风电功率预测 提升并网调度的准确性,降低弃光弃风率
电力系统 短期负荷预测、电价预测 支撑电力市场决策与需求侧管理
金融市场 股价趋势预测、波动率建模 捕捉多维金融因子的时空联动效应
气象水文 降雨量预测、PM2.5浓度预测 多源气象数据的融合分析与趋势研判
工业制造 设备剩余寿命预测、故障预警 多维传感器信号的时序退化建模
交通物流 交通流量预测、冷链温度预测 多维环境因素下的时序趋势预测

更重要的是,AGDO作为一种通用的超参数优化工具,理论上可替换任何深度学习模型的手动调参过程(如BiLSTM、GRU、TCN、Transformer等),甚至可以与信号分解方法(VMD、CEEMDAN等)集成,构建"分解-优化-预测"的一体化框架,具有极高的方法学推广价值。


八、总结

本文的工作完整展示了从算法研究到工程落地的完整链路:

  1. 算法层面:深度剖析了2025年最新AGDO元启发式算法的三大核心机制------渐进梯度动量积分、动态梯度交互系统和Levy飞行增强算子
  2. 模型层面:构建了CNN-LSTM混合架构,利用CNN的局部特征提取能力和LSTM的长期依赖建模能力实现多变量时序预测
  3. 优化层面:将AGDO应用于深度学习超参数自动寻优,替代传统的手动试错和网格搜索
  4. 实验层面:在光伏预测场景下完成了四模型对比,AGDO-CNN-LSTM在五项评价指标中四项最优,R²达0.9085

关键结论:AGDO优化的CNN-LSTM模型在光伏发电功率预测任务上取得了最优性能,验证了"元启发式超参数优化 + 混合深度学习架构"这一技术路线在多变量时序预测领域的有效性和推广价值。


本文代码基于MATLAB Deep Learning Toolbox实现,AGDO算法源自Xia & Ji (2025), Scientific Reports。

完整代码私信回复基于2025年Nature子刊AGDO算法优化的CNN-LSTM多变量时序预测模型------四模型对比全解析

相关推荐
机器学习之心2 个月前
198种组合算法+优化CNN-LSTM+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备
深度学习·算法·cnn-lstm·shap分析·198种组合算法
机器学习之心6 个月前
CNN-LSTM、LSTM、CNN三模型多变量分类预测Matlab实现
分类·cnn·lstm·cnn-lstm
机器学习之心1 年前
三种深度学习模型(LSTM、CNN-LSTM、贝叶斯优化的CNN-LSTM/BO-CNN-LSTM)对北半球光伏数据进行时间序列预测
深度学习·cnn·lstm·cnn-lstm·贝叶斯优化的cnn-lstm
机器学习之心1 年前
【五模型时间序列预测对比】Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN
lstm·transformer·cnn-lstm
机器学习之心1 年前
BKA-CNN-LSTM、CNN-LSTM、LSTM、CNN四模型多变量时序光伏功率预测,附模型研究报告
人工智能·cnn·lstm·cnn-lstm·光伏功率预测·bka-cnn-lstm·四模型多变量时序
机器学习之心1 年前
Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测
matlab·cnn·lstm·cnn-lstm
机器学习之心2 年前
GA-CNN-LSTM-Attention、CNN-LSTM-Attention、GA-CNN-LSTM、CNN-LSTM四模型多变量时序预测一键对比
人工智能·cnn·lstm·cnn-lstm·ga-cnn-lstm
机器学习之心2 年前
回归预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络多输入单输出回归预测
神经网络·matlab·回归·cnn-lstm
简简单单做算法2 年前
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
matlab·cnn-lstm·贝叶斯优化·数据分类·bo-cnn-lstm