当前位置: 首页 > news >正文

基于CNN(卷积神经网路)-BiLSTM(双向长短期记忆网络)-Attention(注意力机制)的时间序列预测python代码

程序名称:基于CNN-BiLSTM-Attention 的时间序列预测

实现平台:python—Jupyter Notebook

代码简介:构建了基于CNN(卷积神经网路)-BiLSTM(双向长短期记忆网络)-Attention(注意力机制)的时间序列预测模型。对比了LSTM、BiLSTM、CNN-BiLSTM 和 CNN-BiLSTM-Attention四种模型的预测效果。

CNN-BiLSTM-Attention模型通过分层结构协同挖掘时间序列的多层次特征,其核心原理在于:首先,CNN利用卷积核的局部感知特性,从原始序列中自动提取短期关键模式(如局部趋势、周期片段或突变点),通过滑动窗口计算高效过滤噪声并保留显著特征;随后,BiLSTM通过双向结构(前向与后向LSTM层)同步学习当前时间步的历史与未来上下文信息,突破传统单向LSTM仅依赖过去数据的局限,更全面地建模长程时序依赖关系(如季节性波动或长期趋势演变);最后,Attention机制动态计算各时间步特征的权重,自动聚焦对预测目标贡献最大的关键时间点(如异常事件、峰值或转折点),通过加权聚合优化特征表示,使模型更精准地捕捉重要信息。

该组合模型的优势体现在多维度性能提升:其一,CNN与BiLSTM的互补性解决了单一模型的局限性——CNN擅长局部特征提取但难以建模长程依赖,BiLSTM擅长长程依赖但可能忽略局部细节,二者结合可同时捕捉短期细节与长期趋势;其二,Attention机制显著增强了长序列预测能力,通过动态权重分配避免无关或噪声数据的干扰,聚焦关键时间步信息,提升模型在超长序列中的鲁棒性;其三,模型对非平稳、多尺度时间序列(如电力负荷、金融波动或医疗监测数据)适应性强,CNN的局部滤波可降噪,BiLSTM的双向记忆可处理复杂依赖,Attention的自适应加权进一步优化特征重要性,整体预测精度与稳定性更优。

该代码实现了一个基于CNN-BiLSTM-Attention的时间序列预测系统,并在 Jupyter Notebook 平台上使用 Python 和 TensorFlow/Keras 构建。整体流程如下:首先,从数据集文件中读取光伏功率数据,并设定预测窗口长度;接着,通过滑动窗口方式构造输入特征x和目标值y,并对输入特征进行标准化处理(仅对x标准化,保持时序结构),随后将其重塑为三维张量以适配深度学习模型的输入要求;之后,将数据按时间顺序划分为训练集和测试集(禁用打乱以保留时序依赖)。代码定义了四种模型结构:基础 LSTM、双向 BiLSTM、CNN-BiLSTM 以及完整的 CNN-BiLSTM-Attention。其中,CNN-BiLSTM-Attention 模型首先通过一维因果卷积(Conv1Dwithpadding='causal')提取局部时序模式,再送入双向 LSTM 层捕获前后向长期依赖关系,并在此基础上引入注意力机制——通过一个全连接层加tanh激活生成注意力得分,经Softmax归一化后与 BiLSTM 输出加权融合,最终通过求和得到上下文向量并映射为单步预测输出。所有模型均使用 Adam 优化器、均方误差损失函数进行训练,并配合早停策略防止过拟合。训练完成后,计算各模型在测试集上的 MSE 指标,并通过可视化对比训练损失曲线与预测结果(含误差柱状图),直观展示 CNN-BiLSTM-Attention 在捕捉关键时序特征和提升预测精度方面的优势。

对比维度

传统统计模型(如ARIMA、SARIMA)

单一 LSTM

BiLSTM(双向LSTM)

CNN-LSTM

CNN-BiLSTM-Attention(本方案)

时序特征提取能力

弱,依赖线性假设,难以捕捉复杂非线性关系

中等,能提取时序依赖但局部特征提取能力有限

中等偏强,可同时利用过去和未来上下文信息

较强,CNN可提取局部空间/时序特征,LSTM建模时序依赖

强,CNN提取局部特征,BiLSTM建模双向时序依赖,Attention聚焦关键信息

长期依赖建模能力

有限,难以处理长序列

一般,存在梯度消失/爆炸,对长序列建模较弱

有一定提升,但仍受限于LSTM本身结构

较好,LSTM部分可建模长期依赖

优秀,BiLSTM适合长序列,Attention机制可动态聚焦重要时间步

局部特征提取能力

无,无法提取局部模式(如周期、趋势片段)

无,仅依赖序列整体

强,CNN擅长提取局部时空特征(如边缘、片段)

强,CNN提取局部特征后输入BiLSTM进一步建模,更精准

上下文信息利用

仅使用历史信息(单向)

仅使用历史信息(单向)

同时利用过去和未来的上下文信息(双向)

主要利用历史信息(取决于结构设计)

利用双向上下文信息 + Attention动态权重

关键信息聚焦能力

无,平等对待所有时间点

无,平等对待所有时间步

强,Attention机制自动学习并聚焦于对预测最关键的时间步

模型表达能力 / 非线性拟合能力

弱,线性或简单非线性

中等,有非线性激活但表达能力有限

中等偏强

较强,CNN+LSTM组合

非常强,多层次非线性变换,组合多种机制

对噪声与冗余数据的鲁棒性

一般,对数据分布和噪声较敏感

一般

一般

一般

较强,Attention可抑制噪声时间步的影响,CNN有平移不变性与滤波效果

模型可解释性

高(参数有明确统计意义)

低,黑盒模型

中高(Attention权重可部分解释关键时间点)

训练难度与计算成本

低,训练快

中等

中等偏高

中等偏高

较高,但合理设计后可接受,性能提升显著

适用场景

小规模、平稳、线性或近似线性时序

中小规模、一般时序预测

需要双向信息的任务

图像+时序混合、局部特征重要的时序

复杂、非线性、长序列、多特征融合的时序预测任务(如电力负荷、股价、气象等)

优势类别

具体说明

多层级特征提取

CNN负责提取局部时空/频域特征,BiLSTM建模全局双向时序依赖,两者互补,有效挖掘复杂模式。

动态注意力聚焦

Attention机制使得模型能够自动关注对预测目标最为关键的时间步,提高预测准确性和可解释性。

长序列建模能力强

相比单一LSTM或CNN-LSTM,BiLSTM结合Attention更能有效处理长时间依赖与关键信息选择。

适应复杂非线性关系

多种深度网络结构的组合使模型具有强大的非线性拟合能力,适合现实世界复杂的时序数据。

泛化性能较好

通过深层网络与注意力筛选,模型对噪声、异常值和局部波动具有更好的鲁棒性。

参考文献:《GWO优化CNN-BiLSTM-Attention的风电功率预测模型研究》《基于贝叶斯优化的CNN-BiLSTM-Attention的煤体结构识别方法》《基于GA优化的CNN-BiLSTM-Attention箱梁离散点温度预测模型》《基于CNN-BiLSTM-Attention的城镇燃气用气量预测》《基于CNN-BiLSTM-Attention模型的胡麻产量预测》《基于CNN-BiLSTM-Attention-XGBoost的飞机引气系统故障预测方法研究》《基于CNN-BiLSTM-Attention含方法的腐蚀缺陷油气管线爆破压力预测研究》《基于CNN-BiLSTM-Attention的特高压三端混合直流输电线路故障区域判别研究》《基于COA-CNN-BiLSTM-Attention的短期风电功率预测》《融合CNN/BiLSTM/attention的滇川电离层TEC预测模型》《基于CNN-BiLSTM-Attention的风电机组故障预警》《基于特征选择和优化CNN-BiLSTM-Attention对SF6断路器漏气故障诊断》《基于CNN-BiLSTM-Attention的搅拌摩擦焊搅拌头磨损程度识别》《基于模态二次分解和OOA-CNN-BiLSTM-Attention的光伏发电功率组合预测》《以霜冰优化算法优化CNN-BiLSTM-Attention的参考蒸散量估算》《基于RF-RFECV特征选择的BO-CNN-BiLSTM-attention中国资源型城市碳排放影响因素分析与达峰情景模拟》《基于CNN-BiLSTM-Attention的弓网系统接触力预测模型研究》《基于IBWO-CNN-BiLSTM-Attention的机床刀具磨损预测模型》《基于CNN-BiLSTM-Attention的电力系统虚假数据注入攻击检测》《CNN-BiLSTM-attention模型在卫星钟差预报中的应用》《基于CNN-BiLSTM-Attention的深基坑变形预测方法》《基于SNA与CNN-BiLSTM-Attention组合模型的中国省域能源消费减排路径》《基于SBERT-CNN-BiLSTM-Attention的电力区块链智能合约漏洞检测模型》《基于CNN-BiLSTM-Attention舞台吊杆群同步控制系统剩余寿命区间预测》《基于CNN-BiLSTM-Attention的油气井固井施工参数监测与预测研究》《基于CNN-BiLSTM-Attention的光伏功率预测模型》《基于CNN-BiLSTM-Attention的重力坝稳定时变安全系数预测模型》《基于CPO-CNN-BiLSTM-Attention模型的高速电主轴热误差预测建模》《基于CNN-BiLSTM-Attention混合神经网络的结构非线性模型修正》《基于CNN-BiLSTM-Attention的励磁涌流识别方法》《结合多变量气象因素的共享单车需求预测方法》《基于TimeGAN和CNN-BiLSTM-Attention的大坝变形预测混合模型》《基于IWOA-CNN-BiLSTM-Attention模型的兰州市月降水量预测研究》《基于CNN-BILSTM-Attention模型的光伏发电预测研究》《基于CNN-BiLSTM-Attention的钢铁企业电力能耗预测》《多维度CNN-BiLSTM-Attention模型的化工装置早期预警方法》《基于非平衡数据处理的CNN-BiLSTM-Attention模型窃电检测方法》《基于CNN-BiLSTM-Attention的三峡库区滑坡地表位移预测研究》《基于改进蜣螂算法优化CNN-BiLSTM-Attention的串联电弧故障检测方法》

代码获取方式:基于CNN(卷积神经网路)-BiLSTM(双向长短期记忆网络)-Attention(注意力机制)的时间序列预测python代码

Training LSTM model...
LSTM Mean Squared Error: 1.839458703994751
Training BiLSTM model...
BiLSTM Mean Squared Error: 1.724195122718811
Training CNN-BiLSTM model...
CNN-BiLSTM Mean Squared Error: 1.612446904182434
Training CNN-BiLSTM-Attention model...
CNN-BiLSTM-Attention Mean Squared Error: 1.5371288061141968

http://www.jsqmd.com/news/120294/

相关文章:

  • Vue.js:轻量高效的渐进式前端框架,为何成为开发者首选?
  • EI顶刊复现:基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度附Matlab代码
  • 生成式AI重构内容生态 人机协同定义创作新范式
  • 【课程设计/毕业设计】基于springboot+vue的在线招标系统的设计与实现基于springboot电子招投标系统【附源码、数据库、万字文档】
  • 2025.12.21博客
  • 实用指南:【threejs】材质共享导致的典型问题
  • 2025年儿童鞋服品牌前十名揭晓!哪些品牌靠科技与口碑征服家长? - 品牌测评鉴赏家
  • Vue.js从入门到实战:一站式学习指南
  • 深入解析:NewStar CTF 2025公开赛道-web题目-week4-writeup
  • centos7.9上面卸载中文语言包和中文字体重新安装
  • 深入解析:C#中级43、什么是事件
  • 68
  • 2025年12月男生女生童装书包品牌深度调研报告 - 品牌测评鉴赏家
  • Semantic Kernel使用连接器进行向量搜索
  • Vue.js + Element UI 实战:企业级后台管理系统开发全流程
  • 2025年家长必看!儿童鞋服品牌排行榜前十名权威盘点,这些品牌凭什么征服千万家庭? - 品牌测评鉴赏家
  • 跨境电子商务综合试验区DID(内含七批试验区名单)
  • 0-16岁儿童鞋服品牌全解析:从高端到平价,总有一款适合你家宝贝 - 品牌测评鉴赏家
  • 【漏水定位】基于压力测量和拓扑信息实现的稳健数据驱动漏水定位附Matlab代码
  • 1991-2025年地市级年度科学家数量统计数据
  • 一个基于 .NET MAUI 的开箱即用的 UI 组件库,可快速搭建面向业务的应用程序界面!
  • ESA正式授予Sivers波束成形技术开发合同
  • 2025儿童鞋服品牌Top10揭晓!这些品牌凭什么征服家长? - 品牌测评鉴赏家
  • Ubuntu下Qt应用崩溃自动重启6大方案
  • Java毕设选题推荐:基于springboot的游泳用品专卖店系统的设计与实现泳衣、泳镜、浮板【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 事后诸葛亮分析
  • 宝妈必看!2025高性价比儿童鞋服品牌红榜,安全舒适还省钱 - 品牌测评鉴赏家
  • Java毕设项目推荐-基于Springboot的乡政府管理系统设计与实现基于springboot的村务管理系统的设计与实现【附源码+文档,调试定制服务】
  • 2025年12月男生女生童装鞋子质量评测报告 - 品牌测评鉴赏家
  • 第2章:LangChain大模型工具开发(Agent工具能力)