CEEMDAN-VMD-Transformer-LSTM双重分解+编码器+长短期记忆神经网络多元时间序列预测




研究背景

针对非平稳、非线性时间序列(如电力负荷、风速、股票价格、设备振动信号等)预测精度低的问题,传统单一分解方法(如EMD、EEMD)存在模态混叠、端点效应等缺陷,单一深度学习模型(如LSTM)难以充分提取复杂时序特征。本代码采用CEEMDAN(完全自适应噪声集合经验模态分解)与VMD(变分模态分解) 相结合的二级分解策略,并融合Transformer与LSTM构建混合预测模型,以提升预测精度和泛化能力。

主要功能

  1. 信号自适应分解:对原始序列进行CEEMDAN分解,基于样本熵和K-means聚类将IMF分量重组合并为高、中、低频三类,并对高频分量进一步VMD分解。
  2. 各分量预测:对每个分解子序列分别构建Transformer-LSTM网络进行训练和预测。
  3. 集成预测:将各分量预测结果线性相加得到最终预测值。
  4. 性能评估:输出MAE、MBE、MSE、RMSE、R²、RPD、MAPE等多项指标,并绘制回归图、误差图、雷达图、罗盘图等可视化结果。

算法步骤

  1. CEEMDAN分解 :对原始信号 X 进行CEEMDAN,得到多个IMF分量。
  2. 计算样本熵 :对每个IMF计算样本熵(嵌入维数dim=2,相似容限r=0.2*std)。
  3. K-means聚类 :将样本熵值聚为3类,对应高频、中频、低频分量,并分别求和得到Co_IMF1(高频)、Co_IMF2(中频)、Co_IMF3(低频)。
  4. VMD二次分解 :对高频分量Co_IMF1进行VMD(K=3),得到3个模态。
  5. 合并分量 :将VMD分解的3个模态与Co_IMF2Co_IMF3合并为最终子序列集Co_data
  6. 数据重构 :对每个子序列,采用延时步长kim=2、预测步长zim=1构造输入输出对。
  7. 数据集划分:70%训练集,30%测试集,并进行归一化。
  8. 各分量建模:构建Transformer(位置嵌入+自注意力层)+ LSTM网络,采用Adam优化器训练。
  9. 预测与反归一化:分别得到各分量的训练/测试预测值。
  10. 集成求和:将所有分量的预测值相加,得到最终预测结果。
  11. 误差计算与可视化:输出各项评价指标并绘图。

技术路线

复制代码
原始信号 → CEEMDAN → IMFs → 样本熵 → K-means聚类 → 高/中/低频重组
    ↓
高频分量 → VMD二次分解 → 合并所有子序列
    ↓
对各子序列:划分训练/测试集 → 归一化 → Transformer-LSTM训练 → 预测 → 反归一化
    ↓
各分量预测结果求和 → 性能评估

公式原理

  • CEEMDAN :在EMD基础上向每一阶段添加自适应白噪声,通过计算唯一残差获得IMF,避免模态混叠。
    x(t)+εkwk(t)x(t) + ε_k w_k(t)x(t)+εkwk(t) → EMD分解 → 取平均得到第k个IMF。
  • 样本熵 :度量序列复杂度。给定嵌入维数mmm和相似容限rrr,
    SampEn(m,r,N)=−ln(A/B)SampEn(m,r,N) = -ln(A/B)SampEn(m,r,N)=−ln(A/B),其中B为匹配向量对数,A为m+1维匹配对数。
  • K-means :最小化簇内平方和 ∑i=1k∑x∈Ci∣∣x−μi∣∣2∑{i=1}^k ∑{x∈C_i} ||x - μ_i||^2∑i=1k∑x∈Ci∣∣x−μi∣∣2。
  • VMD :变分框架下将信号分解为带宽受限的模态,通过求解优化问题 minuk,ωk∑k∣∣∂t(δ(t)+j/πt)∗uk(t)e−jωkt∣∣22min_{u_k,ω_k} {∑_k ||∂_t(δ(t)+j/πt)\*u_k(t)e^{-jω_k t}||^2_2}minuk,ωk∑k∣∣∂t(δ(t)+j/πt)∗uk(t)e−jωkt∣∣22实现非递归分解。
  • Transformer自注意力 :Attention(Q,K,V)=softmax(QKT/√dk)VAttention(Q,K,V) = softmax(QK^T/√d_k)VAttention(Q,K,V)=softmax(QKT/√dk)V,捕获序列长程依赖。
  • LSTM:通过遗忘门、输入门、输出门控制信息流,缓解梯度消失。

参数设定

模块 参数
CEEMDAN Nstd(噪声标准差) 0.2
NR(白噪声重复次数) 500
MaxIter(最大迭代) 5000
样本熵 dim(嵌入维数) 2
r(相似容限) 0.2×std(x)
K-means 聚类数 3
VMD K(模态数) 3
数据重构 kim(延时步长) 2
zim(预测步长) 1
训练集比例 0.7
Transformer numHeads(注意力头数) 8
numKeyChannels(键通道数) 256
maxPosition(最大位置编码) 512
LSTM hidden units 64
训练 优化器 Adam
最大轮数 500
批量大小 256
初始学习率 0.01
L2正则化系数 0.001
学习率下降因子 0.1
下降周期 300
梯度裁剪阈值 10

运行环境

  • 软件:MATLAB2024b
  • 数据格式 :Excel文件 data.xlsx,最后一列为预测目标变量

应用场景

  • 能源预测:电力负荷、光伏/风电功率、电池剩余容量
  • 环境气象:风速、气温、降雨量时间序列
  • 金融股票:股价、指数、汇率预测
  • 工业运维:设备振动信号趋势预测、剩余寿命预测
  • 交通流量:道路车流量、地铁客流量预测

完整代码私信回复CEEMDAN-VMD-Transformer-LSTM双重分解+编码器+长短期记忆神经网络多元时间序列预测

相关推荐
Lee_jerome5 小时前
python神经网络编程入门(三十五)——Transformer 整体架构——一张图看懂全貌
nlp·transformer·encoder·注意力机制·decoder·交叉注意力·self-attention
_codemonster10 小时前
Transformer的核心机制
人工智能·深度学习·transformer
AI即插即用1 天前
即插即用系列 | IEEE TMI PLG-HN:原型学习引导的 CNN-Transformer 混合网络,攻克乳腺肿瘤分割难题
人工智能·深度学习·神经网络·学习·目标检测·cnn·transformer
Lee_jerome1 天前
python神经网络编程入门(三十三)——多头注意力(Multi-Head Attention)
深度学习·nlp·transformer·注意力机制·多头注意力·self-attention
爱知菜1 天前
Transformer vs Diffusion:为什么扩散模型更擅长捕捉细节?
人工智能·深度学习·transformer·扩散模型
ʜᴇɴʀʏ1 天前
ICCV 2025 | STEP-DETR:基于超级教师与伪标签引导文本查询的半监督目标检测
人工智能·目标检测·计算机视觉·transformer
是上好佳佳佳呀1 天前
【深度学习|DAY03】神经网络深度学习笔记(上):框架总览、参数初始化与激活函数
笔记·深度学习·神经网络
杀生丸学AI2 天前
【前馈三维重建】SAF3R:前馈式3D重建Transformer的动态稀疏注意力(加速)
深度学习·3d·transformer
焱童鞋2 天前
基于DJL的LSTM水文预报模型训练完整指南
人工智能·rnn·lstm
梦想的初衷~2 天前
人工智能核心模型详解教程:注意力机制、Transformer、CV、NLP与多模态大模型
人工智能·深度学习·transformer