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双重分解+编码器+长短期记忆神经网络多元时间序列预测

相关推荐
Flying pigs~~4 小时前
从“计数”到“对话”:一文读懂语言模型与大语言模型 (LLM)
人工智能·语言模型·自然语言处理·大模型·llm·transformer
renhongxia14 小时前
基于角色的大型语言模型框架,用于从健康食品政策中提取结构化信息
人工智能·深度学习·游戏·microsoft·语言模型·自然语言处理·transformer
老刘说AI17 小时前
浅谈多模态领域的Transformer
人工智能·深度学习·神经网络·机器学习·语言模型·transformer
夜幕下的ACM之路18 小时前
一、基础知识学习(Transformer + 上下文窗口 + Token 计算 + Embedding 向量)
人工智能·学习·transformer·embedding
前端摸鱼匠18 小时前
【AI大模型春招面试题13】残差连接(Residual Connection)与层归一化(Layer Norm)在Transformer中的作用?
人工智能·深度学习·语言模型·面试·transformer·求职招聘
爱睡懒觉的焦糖玛奇朵19 小时前
【工业级落地算法之人员摔倒检测算法详解】
人工智能·python·深度学习·神经网络·算法·yolo·目标检测
Learn Beyond Limits19 小时前
长短期记忆网络|LSTM(Long Short-Term Memory)
人工智能·rnn·深度学习·神经网络·自然语言处理·nlp·lstm
小超同学你好1 天前
Transformer 19. Qwen 2 架构介绍:相对 Qwen 1 / Qwen 1.5 的演进与 MoE 扩展
深度学习·架构·transformer
Learn Beyond Limits1 天前
双向循环神经网络|Bi-RNN(Bidirectional Recurrent Neural Networks)
人工智能·rnn·深度学习·神经网络·语言模型·自然语言处理·nlp