拒绝信息泄露!VMD滚动分解 + Informer-BiLSTM并行预测模型

前言

在时间序列预测任务中,像 EMD(经验模态分解)、CEEMDAN(完全集合经验模态分解)、VMD(变分模态分解) 等分解算法的使用有可能引入信息泄露,具体情况取决于这些方法的应用方式。信息泄露的主要风险在于:将未来的信息泄露给了模型,使得模型在实际应用中表现得比应有的好。

为了防止信息泄露,我们在分解之前,首先对数据集进行划分。然后使用滑动窗口的方法来制作数据集标签,最后逐步滚动分解时间序列窗口!

注:没有错误的分解方法,只有不合适的使用方式!但是也没有绝对错误的使用方式!(以我们辅导投稿的经验来看,仍然有相当大的一部分期刊在投稿时不会要求信息泄露这个点,所以投稿时大家要灵活选择)

1 创新模型效果:

1.1 相关实验介绍:

本期基于某风电功率数据集,提出一种VMD+Informer-BiLSTM并行预测模型,在单步预测任务中预测效果提升明显!

在设置滑动窗口值为96步的条件下,我们对每个样本窗口值进行VMD分解,并给出了不同分量条件下的对比试验:

对比结果如下:

随着IMF分量数量的增加,可以捕捉到更多的频率信息,并且每个IMF对应不同的时间尺度,提供了更丰富的特征用于预测模型。模型拟合分数 R2 呈现上升趋势,同时有着更小的 MSE。

1.2 模型评估:

1.3 风电功率预测可视化:

我们同时提供基于多个数据集,在多个预测任务中,进行实验和对比,并提供详细的资料、解说文档和视频讲解,包括如何替换自己的数据集、参数调整教程,预测任务的替换等,代码逐行注释,参数介绍详细:

● 数据集:某风电场风电功率数据集、电力数据集、风速数据集等

● 环境框架:python 3.9  pytorch 1.8 及其以上版本均可运行

● 单步预测模型分数:测试集 0.98

● 使用对象:论文需求、毕业设计需求者

● 代码保证:代码注释详细、即拿即可跑通。

2 模型创新点介绍

2.1 结合Informer和RNN的优势

  • Informer:擅长处理长时间序列,能够并行计算,提高了计算效率和预测性能。Informer在Transformer的基础上进行了改进,使其更适合时序数据,特别是具有长时间依赖的序列数据。

  • BiLSTM:在捕捉序列数据的短期和长期依赖性方面表现出色,能够很好地处理序列数据中的时序关系。

通过将这两种模型并行使用,可以更好地捕捉不同时间尺度上的模式,提高预测的准确性和鲁棒性。

2.2 并行模型架构

并行使用Informer和BiLSTM,通过两个分支并行学习,可以使模型在不同的时间尺度上进行信息提取和处理:

  • Informer部分:处理全局时序模式,能够有效处理长时间序列数据。

  • BiLSTM部分:处理局部时序模式,能够有效捕捉短期依赖性和序列数据的动态变化。

这种架构能够更全面地捕捉时序数据的特征,提升模型的预测性能。

2.3 模型融合

将Informer和BiLSTM的输出拼接在一起,通过一个全连接层融合不同模型的特征。这种融合方式使得模型能够同时利用Informer的全局信息提取能力和LSTM的局部时序关系建模能力。

2.4 高效计算

Informer的使用大大提高了长时间序列的计算效率,同时BiLSTM的使用确保了局部时序信息的充分利用。这种组合在保证高效计算的同时,提升了预测的精度和可靠性。

3 Informer 详解,三大创新点

3.1 概率稀疏注意力机制(ProbSparse Self-attention)

概率稀疏自注意力是Informer模型中引入的一种稀疏自注意力机制。其核心思想是通过概率方法选择最重要的一部分注意力权重进行计算,而忽略那些对结果影响较小的权重。这种方法能够显著降低计算复杂度,同时保持较高的模型性能。

  • 稀疏自注意力:不同于标准 Transformer 的密集自注意力机制,Informer 引入了 ProbSparse Self-attention,通过概率抽样机制选择重要的 Q-K 对进行计算,减少了计算复杂度。

  • 效率提升:稀疏注意力机制显著降低了计算复杂度,从 O(L2⋅d) 降低到 O(L⋅log(L)⋅d),其中 L 是序列长度,d 是每个时间步的特征维度。

3.2 多尺度特征提取-信息蒸馏

Informer的架构图并没有像Transformer一样在Encoder的左边标注来表示N个Encoder的堆叠,而是一大一小两个梯形。横向看完单个Encoder(也就是架构图中左边的大梯形,是整个输入序列的主堆栈)。

Encoder的作用是Self-attention Distilling,由于ProbSparse自相关机制有很多都是用V的mean填充的,所以天然就存在冗余的attention sorce ,因此在相邻的Attention Block之间应用卷积与池化来对特征进行下采样,所以作者在设计Encoder时,采用蒸馏的操作不断抽取重点特征,从而得到值得重点关注的特征图。

  • 多尺度时间序列特征提取:Informer 通过多尺度的方式对不同时间粒度的特征进行建模,可以更好地捕捉时间序列中的多尺度依赖关系。

  • 信息蒸馏:引入了信息蒸馏机制,通过层次化的时间卷积池化层逐步缩减时间步长,提取不同尺度的特征,实现长时间依赖的高效建模。

  • 卷积降维:在编码器中使用1D卷积池化层进行降维,步长为2,使得序列长度减半,进一步减少计算复杂度。

  • 信息压缩:通过卷积池化层进行信息压缩,将长序列信息浓缩到较短的时间步长中,从而更高效地进行时序建模。

3.3 时间编码

Informer在原始向量上不止增加了Transformer架构必备的PositionEmbedding(位置编码)还增加了与时间相关的各种编码:

  • 日周期编码:表示一天中的时间点。

  • 周周期编码:表示一周中的时间点。

  • 月周期编码:表示一个月中的时间点。

在 LSTF 问题中,捕获远程独立性的能力需要全局信息,例如分层时间戳(周、月和年)和不可知时间戳(假期、事件)。

具体在这里增加什么样的GlobalTimeStamp还需要根据实际问题来确认,如果计算高铁动车车站的人流量,显然“假期”的时间差就是十分重要的。如果计算公交地铁等通勤交通工具的人流量,显然“星期”可以更多的揭示是否为工作日。

4 风电功率等数据集介绍

4.1 导入数据

风电功率数据集一共35040个样本,15个特征,取前6000条数据进行可视化

4.2 其它数据集介绍

参考前期文章:

免费获取 | 时间序列常用数据集、可视化代码

4.3 数据集制作与预处理

详细介绍见提供的文档!

5 基于VMD+Informer-BiLSTM的并行预测模型

5.1 定义Informer-BiLSTM并行预测网络模型

5.2 设置参数,训练模型

50个epoch,MSE 为0.01283,VMD+Informer-BiLSTM并行预测效果显著,模型能够充分利用Informer的长时间依赖建模能力和BiLSTM的短期依赖捕捉能力征,收敛速度快,性能优越,预测精度高,适当调整模型参数,还可以进一步提高模型预测表现。

6 结果可视化和模型评估

6.1 预测结果可视化

6.2 模型评估

由预测结果可见,在VMD+Informer-BiLSTM并行预测模型下拟合效果良好,通过这种设计,可以充分利用Informer和BiLSTM的优势,实现高效且准确的时序预测,组合预测效果显著!

7 代码、数据整理如下:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149600.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Vue+Tui-image-editor实现图片编辑(涂鸦,裁剪,标注,旋转,滤镜)

目录 前言 效果展示 涂鸦 裁剪 标注 旋转 滤镜 安装 使用 中文化自定义样式按钮优化 参考链接 前言 需求:对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本等。 效果展示 涂鸦 裁剪 标注 旋转 滤镜 安装 npm i tui-image-editor // or yarn add tui-image…

【MySql】在ubuntu下安装MySql数据库

目录 查看操作系统版本 添加 MySql APT源 访问下载页面并下载发布包 安装发布包 执行安装命令 从MySql APT源更新包信息 安装MySql 执行安装命令 查看MySql状态 开启自启动 登录MySql 查看操作系统版本 rootVM-24-2-ubuntu:~# lsb_release -a No LSB modules are ava…

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall 数据集-目标检测系列-鲨鱼检测数据集 shark 数据量:6k 想要进一步了解,请联系。 DataBall 助力快速掌握数据集的信息和使用方式,百种数据集,持续增加中。 示例&…

【学习笔记】Transformer架构探讨

Transformer 是一种彻底改变人工智能方法的神经网络架构。它首次在 2017 年的里程碑式论文 "Attention is All You Need"[1] 中被提出,并迅速成为深度学习模型的首选架构,为 OpenAI 的 GPT、Meta 的 Llama 和 Google 的 Gemini 等文本生成模型…

Django操作ES实现搜索功能

Django操作ES实现题目的高亮搜索功能 一、基础配置二、使用ES完成题目的高亮搜索1. ES的初始化接口2. 使用ES实现题目的增删改查1. 题目的高亮搜索2. 题目的高亮搜索优化3. 将数据存储到MYSQL中持久化存储并同步到ES中一、基础配置 下载依赖,与之前配置的ES版本一致。 ES的配置…

SpringBoot文档管理系统:架构与功能

第2章相关技术 2.1 Java技术介绍 Java语言擅长开发互联网类应用和企业级应用,现在已经相当的成熟,而且也是目前使用最多的编程语言之一。Java语言具有很好的面向对象性,可以符合人的思维模式进行设计,封装是将对象的属性和方法尽可…

[利用python进行数据分析01] “来⾃Bitly的USA.gov数据” 分析出各个地区的 windows和非windows用户

2011 年, URL 缩短服务 Bitly 跟美国政府⽹站 USA.gov 合作,提供 了⼀份从⽣成 .gov 或 .mil 短链接的⽤户那⾥收集来的匿名数据。 在 2011 年,除实时数据之外,还可以下载⽂本⽂件形式的每⼩时 快照。 数据集下载:通…

复杂网络(Complex Network)社团数据可视化分析(gephi)实验

Experiment Report of complex network course 复杂网络实验报告 目录 Experiment Report of complex network course 复杂网络实验报告 实验目标(The objective of the experiment): 实验流程(The flow of the experiment&a…

实验室ICPR 2024论文分享┆FPMT: 基于增强型半监督模型的交通事件检测(含详细视频解读)

目录 论文分享简介 1. 会议介绍 2. 研究背景及主要贡献 3. 方法 4. 实验 5. 结论 6. 论文介绍视频 论文分享简介 本推文详细介绍了一篇实验室的最新论文成果《FPMT: Enhanced Semi-Supervised Model for Traffic Incident Detection》,该论文已被第27届国际…

23中设计模式,以及三种常见的设计模式demo

常见的23种设计模式 Java设计模式是软件工程中常见的解决方案,用于解决在软件设计中反复出现的问题。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。这里,我将简单介绍三种常见的设计模式,并给出相应的Java代码示例…

序列化和自定义协议

序言 在上一篇文章中,我们介绍了Socket 编程,已经可以简单地使用该方法来进行服务端和客户端的数据了。在这篇文章中我们将在此基础上学习序列化和反序列化,以及在应用层上自定义协议。 序列化和反序列化 1. 为什么需要序列化和反序列化&…

网页跨域异常100%解决(谷歌浏览器)

目的: 1.开发过程中,经常出现浏览器提示跨域 2.原因新版本浏览器拦截跨域请求 3.错误关键消息如下: Access-Control-Allow-Origin cess to XMLHttpRequest at http://192.168.1.104:3080/api/Login/Store from origin http://yingyongliere…

数据分析学习之学习路线

前言 我们之前通过cda认证了解到数据分析行业,但是获取到证书,并不代表着,我们已经拥有的数据分析的能力,所以通过系统的学习数据分析需要掌握的能力,并学习大佬们的分析经验、分析思路,才是成为数据分析师…

为什么会出现电话机器人?语音电话机器人的出现起到了什么作用?

电话机器人的出现是科技发展与市场需求相结合的产物,它们的广泛应用反映了现代社会对效率、成本和服务质量的不断追求。以下是电话机器人出现的几个主要原因。 1. 市场需求的变化 随着经济的发展和消费模式的转变,客户对服务的期望不断提高。他们希望能…

数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall

数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall 数据集-目标检测系列-海洋鱼类检测数据集 fish 数据量:1W 数据项目地址: gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview github: https://github.com/…

时间序列数据可视化

#时间序列可视化 #离散数据的时间序列可视化 import numpy as np import pandas as pdts pd.Series(np.random.randn(1000), indexpd.date_range(1/1/2000, periods1000)) ts ts.cumsum() ts.plot() #%% #连续数据的时间序列可视化 import matplotlib.pyplot as plt df pd.D…

论文复现:考虑电网交互的风电、光伏与电池互补调度运行(MATLAB-Yalmip-Cplex全代码)

论文复现:考虑电网交互的风电、光伏与电池储能互补调度运行(MATLAB-Yalmip-Cplex全代码) 针对风电、光伏与电化学储能电站互补运行的问题,已有大量通过启发式算法寻优的案例,但工程上更注重实用性和普适性。Yalmip工具箱则是一种基于MATLAB平台的优化软件工具箱,被广泛应用…

AWS注册时常见错误处理

引言 创建AWS账号是使用AWS云服务的第一步,但在注册过程中可能会遇到一些常见的问题。本文中九河云将帮助您排查和解决在创建AWS账户时可能遇到的一些常见问题,包括未接到验证电话、最大失败尝试次数错误以及账户激活延迟等。 常见问题及解决方法 1. …

生成式AI赋能:对话式BI引领数据分析新潮流

引言:数据交互的革新之旅 在信息爆炸的今天,我们与数据交互的方式正经历着前所未有的变革。静态的仪表盘,尽管曾以视觉上的革新引领一时风尚,但如今已难以满足用户对动态、深度数据洞察的迫切需求。用户不再满足于仅仅观赏精美的…

Go weak包前瞻:弱指针为内存管理带来新选择

在介绍Go 1.23引入的unique包的《Go unique包:突破字符串局限的通用值Interning技术实现》一文中,我们知道了unique包底层是基于internal/weak包实现的,internal/weak是一个弱指针功能的Go实现。所谓弱指针(Weak Pointer,也称为弱…