【论文阅读】基于深度学习的时序预测——Autoformer

系列文章链接
论文一:2020 Informer:长时序数据预测
论文二:2021 Autoformer:长序列数据预测
论文三:2022 FEDformer:长序列数据预测
论文四:2022 Non-Stationary Transformers:非平稳性时序预测
论文五:2022 Pyraformer:基于金字塔图结构的时序预测
论文六:2023 Crossformer:多变量时序预测
论文七:2023 LTSF-Linear:质疑transformer能力的线性预测模型

论文链接:https://arxiv.org/abs/2106.13008
github链接:https://github.com/thuml/Autoformer
解读参考:https://zhuanlan.zhihu.com/p/386955393
视频解读:https://www.bilibili.com/video/BV1kb4y1s7iA/?spm_id_from=333.337.search-card.all.click&vd_source=c912801c215d811162cae4db751b0768

清华大学吴海旭的论文(时间序列领域前沿论文制造机,实验室公众号搜索:THUML),考虑到的背景问题有以下几点:

  1. 原始时序数据中的依赖关系难以提取;
  2. 对于长时序数据而言,transformer计算的二次计算复杂度过高;
  3. 前人提出的Informer模型虽然降低了复杂度,但是存在原始信息的丢失;

基于对时序数据分解和序列周期性分布特性的理解,本文主要有以下几个创新点:
在这里插入图片描述

  • 序列分解模块(Series Decomposition Block):传统的时间序列分解可以获取时序数据的季节性(seasonal)、趋势(trend)等分布特性,这种对于时序数据而言其实是十分重要的特性;因此本文基于此思想,提出了一种时间序列分解的思想,具体计算如下: X t = A v g P o o l ( P a d d i n g ( X ) ) X_t=AvgPool(Padding(X)) Xt=AvgPool(Padding(X)) X s = X − X t X_s=X-X_t Xs=XXt其中采用Padding来保证序列的维度一致性,然后通过平均池化可以得到时序数据的趋势分布向量 X t X_t Xt,用原向量 X X X减去趋势向量可以得到具有季节性分布特性的向量 X s X_s Xs
  • 自相关机制(Auto Correlation Mechanism):采用自相关系数计算找到与当前子序列关联性更大的序列用于指导预测数据生成;当序列的相似性越高时,滞后相乘的自相关系数就会越大,计算如下: R x x ( T ) = l i m L − > ∞ 1 L ∑ L X X T i = 1 R_{xx}(T)=\underset {L->\infty}{lim}\frac{1}{L}\underset{i=1}{\sum^LXX_T} Rxx(T)=L>limL1i=1LXXT其中T表示滞后间隔的设定, X X X表示原始时序数据, X T X_T XT表示滞后时时序数据。
    在这里插入图片描述
    基于这种思想,就可以针对时序数据计算在不同步长的情况下,对应的自相关系数,得到一个自相关系数向量(选取TopK个自相关很强的自相关序列),再通过softmax函数将向量转换成对应的概率分布向量,作为权重分布;本文用Auto-Correlation替代transformer中的self-attention的计算过程;为了加速计算,采用快速傅立叶FFT运算去找到最合理的滞后步长选择,能够快速得到合理的TopK自相关向量的计算;

在本文的Encoder中,更注重关注时序数据的季节性特性,因此保留的数据都是经分解后的季节性数据;在Decoder中,会将分解后的季节性、趋势性时序都作为输入,并且将原始序列的部分数据拼接在初始位置,用于指导后续序列的预测,网络具体运算细节可以参考原文;

### 深度学习时序预测模型的输入结构设计 深度学习中的时序预测模型通常需要精心设计其输入结构,以便有效地捕捉时间序列数据中的特征和模式。以下是几种常见的时序预测模型及其输入结构的设计方法: #### 1. Informer 的输入结构设计 Informer 是一种专门针对长时间序列预测优化的 Transformer 变体[^1]。它的输入结构主要关注如何高效处理高维时间序列数据并减少计算开销。具体来说: - **输入长度控制**:为了降低内存消耗,Informer 使用了一种称为 Probabilistic Sparse Self-Attention (稀疏概率自注意力) 的机制,允许模型仅关注部分重要的历史时刻而非整个时间窗口。 - **多尺度表示**:通过引入生成对抗网络(GANs),Informer 能够自动提取不同频率下的特征。 #### 2. Autoformer 的输入结构设计 Autoformer 提出了一个新的框架来解决长期时间序列预测问题[^3]。它利用了序列分解技术以及增强版的自相关机制来进行更精确的数据建模: - **序列分解模块**:将原始信号分为趋势项和季节性波动两部分分别处理后再重新组合起来作为最终输出的一部分; - **自回归组件与外部变量支持**:除了常规的历史观测值外还可以加入额外的相关因素比如节假日效应或者气象条件等辅助信息进一步提升准确性; #### 3. DAFDC-RNN 的输入结构设计 DAFDC-RNN 结合了多种先进的神经网络设计理念构建了一个强大的端到端训练架构用于短期至中期范围内的电力负荷预报等问题求解过程中表现出优异性能[^4]: - 它采用了双向循环层堆叠而成的标准RNN形式配合门控单元实现记忆功能的同时还加入了target attention 和 full-dimension convolutional layers 来加强局部细节感知能力; - 时间注意(Temporal Attention Mechanism)则帮助区分不同时刻的重要性从而做出更加合理的决策. ```python import torch.nn as nn class Encoder(nn.Module): def __init__(self, input_size, hidden_size): super(Encoder, self).__init__() self.rnn = nn.LSTM(input_size=input_size, hidden_size=hidden_size) def forward(self, x): output, _ = self.rnn(x) return output class DecoderWithAttention(nn.Module): def __init__(self, ... ): ... def build_dafdc_rnn(): encoder = Encoder(...) decoder_with_attention = DecoderWithAttention(...) model = Seq2SeqModel(encoder, decoder_with_attention) return model ``` 以上代码片段展示了如何创建一个简单的编码器-解码器结构,并且可以扩展为目标注意力(Target Attention) 或者其他特定机制的应用实例之一。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值