拒绝信息泄露!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
● 使用对象:论文需求、毕业设计需求者
● 代码保证:代码注释详细、即拿即可跑通。
购买链接:https://mbd.pub/o/bread/ZpuWlJxx
或点击文末,阅读原文,获取代码!
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的优势,实现高效且准确的时序预测,组合预测效果显著!
本文转载自 建模先锋,作者: 小蜗爱建模