论文笔记:Non-stationary Transformers: Rethinking the Stationarity in Time Series Forecasting

不平稳时间序列预测问题的Transformer

1 intro

1.1 背景

  • 时间序列的不平稳性(non-stationarity)是一个比较难处理,且真实世界中很常见的问题
    • 不平稳性指的是随着时间的变化,观测值的均值、方差等统计量发生变化
    • 不平稳性会导致在训练集训练的模型,在测试集上效果较差
      • 因为训练集和测试集属于不同时间,而不同时间的数据分布差异较大。
  • 目前解决这种统计量随时间变化的不平稳问题主要方法是,对时间序列数据做一些诸如归一化等平稳化处理
    • 例如对每个序列样本使用z-normalization处理成0均值1方差
    • 但是这种解决方法会对Transformer模型带来一个负面影响:
      • 平稳化后的序列虽然统计量一致了,但是这个过程中也让数据损失了一些个性化的信息,导致不同序列的Transformer中的attention矩阵趋同
        • over-stationarization
    • 对于一个序列的3个时间窗口的子序列,不进行归一化处理的attention分布差别过大
    • 使用了归一化处理后,3个序列的attention分布趋同了,缺失了各自的特征信息

1.2 论文思路

  • 论文提出了一种新的Transformer结构Non-stationary Transformers
    • 对输入序列的归平稳化处理的预测结果反平稳化
    • 让Transformer能够处理平稳化序列的同时,学习不平稳化数据中的attention规律

2  方法

2.1 平稳化处理+预测结果反平稳化

  • 对于每个输入序列,利用输入序列的均值和方差将其转换为0均值1方差的高斯分布,以此消除不同时间窗口时间序列统计量的差异
  • 对于模型的输出结果,使用均值和方差做反向处理,得到最终预测结果

2.2 De-stationary Attention

  • 为了让Transformer能够直接从平稳化前的时间序列中学习attention pattern,本文提出了De-stationary Attention
  • 对于每个Attention层,由于输入的是平稳化后的序列,其和平稳化前序列的关系可以表达成如下公式:

所以将Softmax式子最后两项去掉,得到:

  • ——>想要使用平稳化前的序列计算attention,核心就是去计算3项:
    • 平稳化的方差\sigma_x^2
    • Q在时间维度上的均值\mu_Q
    • 平稳化前序列经过Transformer得到的K
  • 论文采用一个MLP网络来学习这两个部分
    • MLP的输入是原始平滑前的时间序列

3 实验

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值