神经网络笔记一:Non-stationary Transformers: Exploring the Stationarity in Time Series Forecasting

摘要

现在Transformer在时间序列预测上发挥巨大作用,但对于非平稳的现实时间序列表现并不好。之前的一些研究着重在于将时间序列平稳化,这样的方法减弱了对突发事件的预测,同时在时间序列预测方面的效果下降。本文称之为过度平稳化(over-stationarization),即Transformer对于不同的时间序列产生了相似的Attention,减弱了模型预测能力。针对这种现象,本文进而提出了Non-stationary Transformers框架,其中包含两个模块:
分别是序列平稳化模块(Series Stationarization)以及逆平稳化模块(De-stationary Attention)。序列平稳化模块之中,本文将模块输入的数据的统计量与模块输出结合。逆平稳化模块则设计为从不同时间序列中习得不同Attention,利用这些Attention恢复时间序列固有的非平稳性。

时间序列的非平稳性:时间序列的统计特征和联合分布随着时间变化而变化,非平稳性使得时间序列更加不可预测。非平稳序列
上图为三段不平稳时间序列的Attention的可视化图。我们可以看到在本文的模型中,不平稳时间序列的Attention能够产生明显的差异,说明不平稳时间序列本身的固有属性能够帮助我们进行预测。而Over stationarization问题就是将时间序列平稳化,而没有利用到非平稳序列的固有属性。

本文贡献

  • 发现了非平稳时间序列的预测能力,以及现有平稳化方法造成的过平稳化问题。
  • 提出了Non-stationary Transformers 避免过平稳化的现象。
  • Non-stationary Transformers 在六个基准上,超过了四个现今主流的Transformer模型。

Non-stationary Transformers

Non-stationary Transformer 结构

1 Series Stationarization

1.1 Normalization module

class MyDataset(Dataset):
	...
	def __getitem__(self,index):
		s_begin = index
		#其中S就是seq_len
		s_end = s_begin + self.seq_len
		# seq_x[0,0]的长度为C
		seq_x = self.data_x[s_begin:s_end]
		seq_y = self.data_y[s_begin:s_end]
		return(seq_x,seq_y)

通过移动窗口的方式得 S S S长度的序列,每个序列具有 C C C长度的特征。
μ x = 1 S ∑ i = 1 S x i , σ x 2 = 1 S ∑ i = 1 S ( x i − μ x ) 2 , x i ′ = 1 σ x ⊙ ( x i − μ x ) \mu_x = \frac{1}{S}\sum_{i=1}^{S}x_i,\sigma_x^2 = \frac{1}{S}\sum_{i=1}^{S}(x_i-\mu_x)^2,x_i^{'}=\frac{1}{\sigma_x} \odot(x_i-\mu_x) μx=S1i=1Sxi,σx2=S1i=1S(xiμx)2,xi=σx1(xiμx)
其中 x = [ x 1 , x 2 , . . . , x S ] T ∈ R S × C , x ′ = [ x 1 ′ , x 2 ′ , . . . , x S ′ ] T ∈ R S × C x=[x_1,x_2,...,x_S]^{T} \in\mathbb R^{S\times C},x^{'}=[x_1^{'},x_2^{'},...,x_S^{'}]^{T} \in\mathbb R^{S\times C} x=[x1,x2,...,xS]TRS×C,x=[x1,x2,...,xS]TRS×C, S S S C C C 分别是序列的长度和变量个数。

1.2 De-normalization module

在经过整个模型 H H H后,可以得到O长度的向量 y ′ = [ y 1 ′ , y 2 ′ , . . . , y O ′ ] y^{'} = [y_1^{'},y_2^{'},...,y_O^{'}] y=[y1,y

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
非静态变压器是指通过探索时间序列预测中的静态性。在时间序列分析和预测中,静态性是指时间序列的平均值、方差和自协方差在时间上都保持不变。然而,许多实际应用中的时间序列数据往往是非静态的,其平均值、方差和自协方差在时间上变化。 非静态变压器是为了解决这个问题而提出的一种方法。通过探索时间序列的非静态性,可以更好地捕捉时间序列数据中的动态特征和趋势。非静态变压器采用了一种自适应的方式来处理时间序列数据,使得模型能够随着时间的推移自动调整参数和权重。 非静态变压器的核心原理是通过引入可学习的非静态参数,将时间序列的静态性和非静态性相结合。这样,模型可以根据数据的变化自动调整参数和权重,以适应时间序列的动态特征。通过这种方法,非静态变压器能够更准确地预测非静态时间序列数据的未来趋势和变化。 非静态变压器在时间序列预测领域具有广泛的应用。它可以应用于金融市场预测、经济指标预测、天气预测等各个领域。与传统的静态模型相比,非静态变压器具有更好的适应性和预测能力,能够更准确地捕捉时间序列数据中的动态特征和趋势,提高预测的准确性和精度。 总之,非静态变压器是一种通过探索时间序列的非静态性来提高预测精度的方法。它通过引入可学习的非静态参数,使得模型能够根据数据的变化自动调整参数和权重,更准确地预测非静态时间序列数据的未来趋势和变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值