penpen
发布于 2024-10-22 / 167 阅读
0
0

20230413-RevIN

Title

REVERSIBLE INSTANCE NORMALIZATION FOR ACCURATE TIME-SERIES FORECASTING AGAINST DISTRIBUTION SHIFT
针对分布偏移的精确时间序列预测的可逆实例归一化
#Time-Series #Prediction
#实例归一化 #分布偏移 #归一化
#ICLR #-2021

Reflection:文章认为去除非平稳信息有助于提高模型的预测精度,但是这一非平稳信息包含了对未来值的部分信息。
因此文章通过在输入窗口采用 片段实例级 的均值和方差 去除非平稳性,然后对这一信息通过 可以学习的显式的仿射变换 反哺到输出窗口

论文只是将instance-norm的feature-map换成batch的数据而已,然后再reverse,区别不大。


Abstract

统计特性(如平均值和方差)在时间序列中经常随时间而变化,也就是时间序列数据存在分布偏移问题。
这种分布随着时间的改变 是 阻碍时间序列准确预测 的主要挑战之一。
为了解决这个问题,我们提出了一种简单而有效的归一化方法,称为 可逆实例归一化(reversible instance normalization,RevIN)这是一种具有可学习仿射变换的通用归一化和反归一化方法
所提出的方法是对称结构的,可以去除和恢复时间序列实例的统计信息,从而显著提高时间序列预测的性能。

%%我们通过对各种真实世界数据集进行广泛的定量和定性分析,证明了RevIN的有效性,解决了分布变化问题。%%


一、INTRODUCTION

1.1、distribution shift problem

分布偏移问题:时间序列数据的统计特性(例如平均值和方差)可能会随着时间而改变,它可能会在预测模型的训练数据和测试数据的分布之间产生差异。

  • 在时间序列预测任务中,训练和测试数据通常通常几乎不重叠 ,这是模型性能下降的常见原因
    • 因为他们是根据特定的时间点从原始数据中分割出来的。
  • 此外,模型的输入序列也可以具有不同的底层分布

因此我们假设,不同输入序列之间的差异会显著降低模型性能

  • 在这种假设下,如果我们从输入序列中去除非平稳信息,特别是实例的平均值和标准差,数据分布的差异将减少,从而提高模型性能。
  • 然而,将这种归一化应用于模型输入可能会导致另一个问题,因为它可能会 阻止模型捕获原始数据分布
    • 因为它去除了对预测任务中的未来值很重要的非平稳信息。
    • 但是,该模型需要 只使用归一化后的输入 来重建原始分布,由于固有的限制,这会降低其预测性能。
  • 那么,如果我们 显式地 将去除的非平稳信息返回模型,则模型将不必自己重建原始分布,同时保持归一化输入的优势。
    为了实现这一点,我们建议将 输入数据的归一化 反向应用到 输出层 中,即 使用归一化统计来对模型输出进行非归一化

1.2、RevIN

我们提出了一种简单而有效的归一化和非归一化方法,即 可逆实例归一化(RevIN)

  • 该方法首先对输入序列进行归一化然后对模型输出序列进行非归一化,以解决针对分布偏移的时间序列预测问题。
  • RevIN通过对称结构将原始分布信息返回到模型输出,对称结构如下:
    • 输入数据中 归一化层中的移位和缩放 = 输出数据中 非归一化层的移位和缩放
  • RevIN是一个灵活的端到端可训练层,可以应用于任何任意选择的层,有效地抑制一层中的非平稳信息(实例的均值和方差),并 在另一层中以虚拟对称的位置恢复它(例如输入层和输出层)。
  • 为了验证RevIN的有效性,我们使用时间序列预测的SOTA方法作为基线进行了广泛的定量评估。
  • 我们还对所提出的方法的行为进行了深入分析,包括对可逆实例归一化假设的验证。

现阶段基于深度学习的时间序列预测方法忽视了归一化的重要性,只对模型输入进行简单的全局预处理
从这个意义上说,我们介绍了运用适当的归一化方法对基于深度学习的时间序列方法的重要性,并将该方法与可学习的仿射变换相结合,提出了一种精心设计的、对深度学习友好的时间序列预测模块。


1.3、contribution

  • 我们提出了一种简单而有效的时间序列归一化和非归一化方法,称为RevIN,它是对称结构的,用于删除和恢复时间序列实例的统计信息。所提出的方法适用于任意深度神经网络,且成本可忽略不计。
  • 通过将RevIN添加到基线中,我们在七个大规模的真实世界数据集上有着显著的提升。
  • 我们使用定量分析和定性可视化对RevIN进行了广泛的评估,以验证其有效性,解决分布偏移问题。

二、RELATED WORK

2.1、Time-series forecasting


2.2、Distribution shift

尽管有各种各样的时间序列预测模型,但它们往往受到非平稳时间序列的影响,即数据分布随时间变化。

  • 领域自适应和泛化都是缓解分布转移的常见方法,他们都有一个共同的目标,就是减少源域分布和目标分布之间的差距
    • 域自适应(Domain adaptation) 算法试图减少源域和目标域之间的分布差距。
    • 域泛化(domain generalization) 算法只依赖于源域,并希望在目标域上进行泛化。

然而,在非平稳时间序列中,对域的定义并不简单,因为数据分布会随着时间的推移,在整个时间序列上变化。 #分布域 #Non-stationary

  • 最近,Du等人(2021)提出了Adaptive RNN来处理非平稳时间序列数据的分布偏移问题。
    • 它首先通过将训练数据划分为时段来表征分布信息,
    • 然后,它匹配所发现的周期的分布来推广模型。

与成本高昂的Adaptive RNN不同,RevIN简单而有效,并且与模型无关,可以很容易地应用于任何深度神经网络。


三、PROPOSED METHOD

3.1、REVERSIBLE INSTANCE NORMALIZATION

给定一组输入\mathcal{X} = \{x^{(i)} \}^N_{i=1}和相应的目标\mathcal{Y} = \{y^{(i)} \}^N_{i=1},我们考虑离散时间中的多变量时间序列预测任务,其中N表示序列的数量。
设K,T_xT_y分别表示变量的数量、输入序列长度和模型预测长度。
给定一个输入序列x^{(i)} \in \mathbb{R} ^ {K \times T_x},我们的目标是解决时间序列预测问题,即预测后续值y^{(i)} \in \mathbb{R} ^ {K \times T_y}
在RevIN中,输入序列长度T_x和预测长度T_y可以是不同的,这是因为观测在时间维度上被归一化和去归一化。

我们提出的方法RevIN由对称结构的归一化层和非归一化层组成,如图所示。
[20230413-RevIN-4.png]

  1. 首先,我们使用特定实例的平均值和标准差对输入数据x^{(i)}进行归一化,这被广泛接受为实例归一化(2016)。

    • 计算输入数据的每个实例x^{(i)}的平均值和标准偏差为:
    • [20230413-RevIN-1.png|1050]
    • 使用这些统计数据,我们对输入数据x进行归一化
    • [20230413-RevIN-2.png]
      • 其中\gamma , \beta \in \mathbb{R}^K是可学习的仿射参数向量。 #仿射变换
    • 归一化序列可以具有更一致的均值和方差,其中减少了非平稳信息。
    • 因此,归一化层允许模型准确地预测序列内的局部动力学,同时接收平均值和方差方面一致分布的输入。
  2. 然后,该模型接收变换后的数据\hat{x}^{(i)}作为输入,并预测它们的未来值。

    • 然而,输入数据具有与原始分布不同的统计信息,并且通过仅观察归一化后的输入\hat{x}^{(i)},很难捕获输入{x}^{(i)}的原始分布。
    • 因此,为了简化模型,我们通过在对称位置(即输出层)反转归一化步骤,将从输入数据中删除的非平稳特性显式返回到模型输出。
    • 反归一化步骤也可以将模型输出返回到原始时间序列值(2010)。
    • 因此,我们通过应用上面归一化参数的倒数来对模型输出\tilde{y}^{(i)}进行反归一化。
    • [20230413-RevIN-11.png]
    • 具体形式化表达为:
    • [20230413-RevIN-3.png]
      • 上面两个方程的归一化步骤中使用的相同统计用于缩放和移位。
      • 现在,\hat{y}^{(i)}是模型的最终预测,而不是\tilde{y}^{(i)}
  • RevIN简单地添加到网络中的虚拟对称位置,就可以有效地缓解时间序列数据中的分布差异,作为一种普遍适用于任意深度神经网络的可训练归一化层。

    • 事实上,RevIN是一个灵活的、端到端的可训练层,可以应用于任意选择的层,甚至应用于几个层。
  • 然而,RevIN在应用于编码器-解码器结构的虚拟对称层时是最有效的。

    • 在典型的时间序列预测模型中,编码器和解码器之间的边界通常是不清楚的。
  • 因此,我们将RevIN应用于模型的输入层和输出层,因为它们可以被解释为编码器-解码器结构,在给定输入数据的情况下生成后续值。


3.2、EFFECT OF REVERSIBLE INSTANCE NORMALIZATION ON DISTRIBUTION SHIFT

RevIN可以通过去除输入层中的非平稳信息,然后在输出层中恢复它来缓解分布差异问题。
我们分析了所提出方法每一步的训练和测试数据的分布,如图所示。
[20230413-RevIN-12.png]

  • 当比较每个例子中训练和测试数据的分布时(a → b),我们可以观察到RevIN显著减少了它们的差异。
    • 在原始输入(a)中,训练和测试数据 分布几乎不重叠(尤其是ETTm1),这是由分布偏移问题引起的。
    • 在原始输入(a)中,每个数据分布都有 多个峰值(尤其是ETTh1和ECL的测试数据),这意味着在数据中 序列段分布可能存在严重差异
    • 在(b)中,归一化步骤将每个数据分布转换为以平均值为中心的分布。
    • 这一结果支持了 原始的多峰分布(a)是由数据中不同序列之间的分布差异引起的
  • 更重要的是,所提出的方法使训练和测试数据分布重叠。
  • 这验证了RevIN的归一化步骤可以缓解分布偏移问题,减少训练数据和测试数据之间的分布差异。

[20230413-RevIN-13.png]

  • 以归一化数据作为输入,该模型可以在预测输出中保留对齐的训练和测试数据分布(c)。
  • 正如预期的那样,通过RevIN的反归一化步骤,这些分布返回到原始分布(d)。
  • 在不进行反归一化的情况下,模型需要仅使用遵循去除非平稳信息的变换分布(b)的归一化输入,来重建遵循原始分布的值(d)。

此外,我们假设,当RevIN仅应用于输入层和输出层时,模型中间层的分布差异也会减少。
因此,这种RevIN过程可以被认为是 首先使问题变得更容易然后将它们恢复到原始状态,而不是直接解决存在分布偏移问题的具有挑战性的问题。


四、EXPERIMENTS

4.1、EXPERIMENTAL SETUP

1)Datasets

  • Electricity transformer temperature (ETT)
  • Electricity Consuming Load (ECL)

2)Experimental details

我们评估了时间序列在均方误差(MSE)和平均绝对误差(MAE)上的预测性能。
我们在z-score归一化数据上计算MSE和MAE,以测量同一尺度上的不同变量。


4.2、RESULTS AND ANALYSES

4.2.1、EFFECTIVENESS OF REVERSIBLE INSTANCE NORMALIZATION ON VARIOUS TIME-SERIES FORECASTING MODELS

我们比较了基线和RevIN的预测精度。
[20230413-RevIN-6.png]
结果表明,RevIN在很大程度上始终优于Informer、N-BEATS和SCINet这三个基线,在四个数据集上实现最先进的性能。

  • RevIN的有效性在长序列预测中更为明显,它显著降低了基线的误差。
  • 随着预测长度增加,RevIN的误差变化相对稳定,基线的误差也随之增加的现象。
    • 例如,当ETTh2数据集上的预测长度从24增加到960时,N-BEATS的预测误差从0.403显著增加到6.408。相比之下,RevIN显示误差略微增加,即从0.192增加到0.471。
    • 其他预测长度、数据集和基线模型也出现了类似的趋势。
  • 这些结果表明,RevIN使基线模型对预测长度更具鲁棒性。

我们进一步定量分析了RevIN对长序列预测的影响。
[20230413-RevIN-7.png]

  • 当模型预测长度从48增加到960时,与基线相比,RevIN减少了预测误差,显示出相对于预测长度的鲁棒性能。
    • 当预测长度较短(48)时,SCINet和RevIN之间的预测误差差异相对较小;
    • 但当预测长度较长(336、720和960)时,RevIN显著超过SCINet一个显著的幅度。
  • 这些结果证实了采用RevIN可以使模型对预测长度具有鲁棒性。

此外,为了研究RevIN如何在长序列预测中表现良好,我们将图中每个时间步长的预测误差可视化。
我们比较了当预测长度为960(40天)时,ETTh1的基线和RevIN预测前1~960步的误差。
[20230413-RevIN-9.png]

  • 第t个时间步长的误差计算为
    • MSE_t = \frac{1}{N} \sum^N_{i=1} \frac{1}{K} \sum^K_{k=1}(\hat{y}^{(i)}_{kt} - {y}^{(i)}_{kt})^2
  • 总体而言,RevIN的性能下降明显较慢,即使在预测960步时也显示出较低的误差
  • 对于N-BEATS和SCINet,误差随着预测遥远的未来值而急剧增加。
    • 而RevIN缓解了误差的显著增加,与基线相比显示出显著的性能。
  • Informer在不同的时间步长也表现出不稳定的性能:在早期步骤中误差很大,在远处步骤中误差相对较小。
  • RevIN使得模型在每个时间步长中都有 一致的小误差 ,即使基线最初显示出高误差(Informer的早期步长,N-BEATS和SCINet的远距离步长)。
  • 结果证明了RevIN在预测长序列时的有效性。

Postscript:文章这里分析了预测窗口1-960步的每一步的误差,很有创意,值得学习。


4.2.2、COMPARISON WITH EXISTING NORMALIZATION METHODS

我们将RevIN与经典和最先进的归一化方法进行了比较,包括:

  • 最大最小归一化(minmax normalization)
  • z-score归一化(z-score normalization)
  • 层归一化(layer normalization,2016)
  • 批归一化(batch normalization,2015)
  • 实例归一化(instance normalization,2016)
  • 深度自适应输入归一化(DAIN)(2019)

在这里,我们为每个输入实例(instance)计算min-max和z-score的统计信息,而不是整个数据。
此外,我们尝试在RevIN中使用batch归一化作为输入归一化方法,称为可逆批量归一化(RevBN)。
layer归一化不能以类似的方式使用,因为当输入和预测长度不同时,它是不可逆的。
[20230413-RevIN-8.png]

  • 与其他归一化方法相比,RevIN显示出出色的性能,尤其是在ETTh2和ETTm1数据集上。
  • RevBN提高了batch归一化的预测性能。
    • 具体地说,在长序列预测中误差显著减小,例如960和1344。
    • 因此,RevIN的反归一化步骤 作为 改进长序列预测方法的关键组成部分 是必不可少的。
    • 然而,batch归一化使用从整个训练数据中获得的全局统计,由于是对所有输入序列应用相同的归一化,它不能减少训练和测试数据分布之间的差异。
  • 在实例(instance)级别的数据变换上,RevIN显著优于RevBN。
    • 表明减少不同输入序列分布之间的差异可以有效提高性能。
  • 此外,RevIN不仅表现出最佳性能,而且与基线相比具有轻量级的优势。
    • 例如,当K作为变量时,DAIN需要至少3K^2个附加参数,而RevIN只需要2K个附加参数。

4.2.3、ANALYSIS OF DISTRIBUTION SHIFT IN THE INTERMEDIATE LAYERS

我们分析了训练数据和测试数据之间的特征差异,以验证RevIN也可以减少中间特征级别的分布偏移。
我们使用Informer作为基线进行实验;它包括 两个编码器层一个解码器层
因此,我们通过 对称KL散度 来计算平均特征发散,来分析第一(第1层)和第二(第2层) 编码器层 的特征。
[20230413-RevIN-10.png]

  • 结果表明,RevIN显著降低了两层中训练和测试数据之间的特征发散,
    • 当仅将所提出的方法添加到输入和输出层时,成功地缓解了中间层中的分布偏移问题。
    • 这加强了RevIN作为一种 普遍适用的柔性层 的作用。
  • 任意模型可以通过将RevIN添加到输入和输出层来采用RevIN,而无需任何架构修改。
  • 我们的方法可以添加到任意选择的层中,以提高了模型性能。

五、CONCLUSION

本文旨在解决时间序列中的分布偏移问题,提出了一种简单而有效的归一化和非归一化方法,即可逆实例归一化(RevIN)。
所提出的方法有效地缓解了训练和测试数据分布之间的差异,从而显著提高了时间序列预测的性能。
作为任意深度神经网络的通用层,所提出的方法在七个真实世界的时间序列数据集上以显著的优势实现了最先进的性能。
大量的定量和定性实验以及深入的分析证明了RevIN在精确的时间序列预测中对分布偏移问题的有效性


评论