组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用

发布于 2024-5-28 12:13
浏览
0收藏

​包括完整流程数据代码处理:

单步-多步、单变量-多变量预测数据集制作、数据加载、模型定义、参数设置、模型训练、模型测试、预测可视化、多步预测、模型评估

模型整体介绍:

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1. 时空卷积网络(TCN):

    TCN是一种卷积神经网络结构,用于捕捉时序数据中的时序关系。它由一系列的1D卷积层组成,每个卷积层都具有相同的卷积核大小和步长。TCN中的残差连接(Residual Connections)和空洞卷积(Dilated Convolutions)用于增加网络的感受野,以便更好地捕捉时序数据中的长期依赖关系。TCN可以同时处理多个时间步的输入,这使得模型能够在多个时间步上进行并行预测。

2.短期和长期依赖关系的捕捉:

  • TCN:通过卷积操作,能够有效捕捉时间序列中的短期依赖关系,同时由于其因果卷积和扩展卷积,能够处理较长的序列依赖关系。
  • BiLSTM:双向 LSTM 能够同时处理序列的前向和后向信息,捕捉序列中的长期和双向依赖关系。
  • 并行计算:TCN:卷积操作可以并行处理,相较于 RNN 的串行计算,TCN 在处理长序列时具有计算效率上的优势。

3.信息选择和权重分配:

Attention 机制:通过注意力机制,模型能够为输入序列中的不同部分分配不同的权重,从而更好地关注对预测结果有重要贡献的时间步。这有助于提高模型的预测精度和解释性。

4.稳定性和长序列处理能力:

TCN:由于使用了残差连接和扩展卷积,TCN 在处理长序列时更稳定,能够避免梯度消失和梯度爆炸问题。结合了 TCN、BiLSTM 和 Attention 的模型具有强大的表达能力,能够处理复杂的时间序列数据,并且提高预测的准确性和鲁棒性。

配有代码、文件介绍:

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

模型介绍和调参教程:

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

电力变压器数据集的详细介绍可以参考下文:

电力变压器数据集介绍和预处理

1.1 导入数据

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1 单变量单步预测任务

1.1 任务描述

单变量单步预测,就是只有(用)一个变量 ,用已有的数据去预测未来的数据,每次预测一步

  • 输入训练集  变量:变量var-OT
  • 对应y值标签为: 变量var-OT

1.2 单变量单步预测预处理

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1.3 模型定义-基于TCN-BiLSTM-Attention的单变量单步预测

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1.4 设置参数,训练模型

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1.5 预测结果可视化

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1.6 模型评估

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

1.7 加载模型进行预测

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

2 单变量多步预测任务

2.1 任务描述

单变量多步预测,就是只有(用)一个变量 ,用已有的数据去预测未来的数据,每次预测多步

  • 输入数据的形状应该是 (batch_size, window_size, input_dim)
  • 输出数据的形状应该是 (batch_size, num_steps, output_dim)

解释:

  • batch_size就是批次
  • input_dim 和 output_dim 就是对应输入维度,和输出维度(如果单变量预测任务的话,就是输入输出都为1维)
  • window_size 就是输入样本序列的长度
  • num_steps 是需要预测的步长(比如:用过去 12 个步长 ,预测未来 3 个步长)

2.2 单变量多步预测预处理

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

2.3 模型定义-基于TCN-BiLSTM-Attention的单变量多步预测

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

2.4 设置参数,训练模型

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

2.5 预测结果可视化

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

每步预测单独可视化:

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

2.6 模型评估

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

2.7 加载模型进行预测

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

3 多变量单步预测任务

3.1 任务描述

多变量单步预测,就是有(用)多个变量的数据去预测某个目标变量未来的数据,每次预测一步

  • 输入训练集  变量:所有特征变量(多个)
  • 对应y值标签为:  目标变量var-OT

3.2 单变量单步预测预处理

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

3.3 模型定义、训练过程、评估、可视化、向外预测不再赘述

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

多变量单步预测效果明显优于单变量单步预测效果,考虑到其他特征带来对目标变量预测更多的信息,其预测性能更显著!

4 多变量多步预测任务

4.1 任务描述

多变量多步预测,就是有(用)多个变量的数据去预测某个目标变量未来的数据,每次预测多步

  • 输入数据的形状应该是 (batch_size, window_size, input_dim)
  • 输出数据的形状应该是 (batch_size, num_steps, output_dim)

解释:

  • batch_size就是批次
  • input_dim 和 output_dim 就是对应输入维度,和输出维度(如果多变量预测任务的话,就是输入多维,输出为1维)
  • window_size 就是输入样本序列的长度
  • num_steps 是需要预测的步长(比如:用过去 12 个步长 ,预测未来 3 个步长)

4.2 多变量多步预测预处理

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

4.3 模型定义、训练过程、评估、可视化、向外预测不再赘述

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

组合模型、注意力机制在单步、多步、单变量、多变量预测中的应用-AI.x社区

点击下载:原文完整数据、Python代码​

https://mbd.pub/o/bread/ZpaWkp5q

本文转载自 建模先锋​,作者: 小蜗爱建模

收藏
回复
举报
回复
相关推荐