时间序列中的Distribution Shift问题解决方法汇总

时间序列中的Distribution Shift问题解决顶会方法汇总!

在真实的应用场景中,很多情况下时间序列都呈现出Distribution Shift的现象,即时间序列分布,如均值和方差等统计信息,比如均值和方差,是随着时间变化的。这种分布的变化,会严重影响时间序列预测的效果,对模型的泛化性提出了很高的要求。

为了解决这个问题,业内出现了针对Distribution Shift问题的研究。解决这个问题的核心在于,如何从数据中抽取不变性,让模型主要对这些稳定部分进行拟合,以此提升模型的泛化性。这篇文章就给大家梳理业内的相关工作,汇总了近年来5篇顶会中Distribution Shift的解决方案。

Deep adaptive input normalization for time series forecasting(2019)

在以往的时间序列预测中,通常需要对时间序列进行标准化处理,也被常称作z-normalization,即统计每个时间序列可观测到的部分的均值和方差,利用这个均值和方差对原序列做标准化。然而,当时间序列存在distribution shift问题时,这种标准化方法就失效了,在未来的序列中,均值和方差会发生变化,使用静态的z-normalization影响了模型效果。

为了解决这个问题,本文提出了利用一个NN网络动态学习z-normalization的均值和方差的方法。具体的,对于每个序列,首先求这个序列的均值,并使用一个全连接,得到平移项。然后根据这个平移项和原始序列求类似方差的scale系数,也使用全连接进行映射。两个全连接参数都是根据数据自动训练的,以此实现动态的标准化参数生成。然后利用这个参数,对原始序列进行标准化,输入到模型中。此外,文中还使用了gate结构,对序列中无用的特征进行过滤。整个模型结构如下图所示:

时间序列中的Distribution Shift问题解决方法汇总

其实,这个过程是让模型在预测未来序列的同时,也根据历史序列来预测未来的均值和方差可能是什么样的,以此实现动态的标准化参数调整。

Adarnn: Adaptive learning and forecasting of time series(CIKM 2021)

这篇文章提出了AdaRNN模型,来解决时间序列分布变化的问题。本文的核心思路是,将历史时间序列分成多段,各段代表的是完全不同的分布,然后基于这些不同分布的序列,让模型学习共性信息,这样模型在预测有分布变化的数据时,能够更好地根据共性信息实现泛化。

文中的核心点有2个,一个是我们需要提取出原始序列中有多少个不同分布的片段,另一个是根据提取出的片段让模型学习共性信息。针对第一个问题,文中提出了Temporal distribution characterization(TDC)模块,利用熵最大化的方法,寻找将序列划分成哪K个片段,能使得整体熵最大化,也就是找到序列中最不相似的片段。这样划分后,不同片段的分布差异很大,模型的优化必须提取各个分布的共性信息,才能让所有片段的预测效果达到最好,以此提升模型的泛化能力。

在得到了熵最大化的划分方法后,使用Temporal distribution matching(TDM)对序列不同分布片段的共性信息进行学习,核心是利用domain adaptation的思路,让模型能够在不同的分布上实现泛化。

时间序列中的Distribution Shift问题解决方法汇总

REVERSIBLE INSTANCE NORMALIZATION FOR ACCURATE TIME-SERIES FORECASTING AGAINST DISTRIBUTION SHIFT(ICLR 2022)

这篇文章的核心思路是在输入序列中将均值、方差等序列不稳定的信息去掉,再在输出阶段利用这些被去掉的不稳定的序列个性化的信息对序列进行还原,模型重点处理去掉均值和方差后的平稳序列的预测任务。整体的模型结构如下图。对于输入序列,先统计出每个序列均值和方差,然后用这些统计量对序列做标准化,并配合一个全连接层进行映射。模型对这个序列进行拟合,其输出结果,会再利用之前的统计量进行还原,得到最终的预测输出。这个标准化和反标准化过程是完全镜像的。

时间序列中的Distribution Shift问题解决方法汇总

文中将其提出的框架应用到了Informer、Nbeats等模型中,模型对于分布的预测有了非常明显的改善。

时间序列中的Distribution Shift问题解决方法汇总

Dish-TS: A General Paradigm for Alleviating Distribution Shift in Time Series Forecasting(2023)

本文将时间序列中的shift问题分成两类,一类是inter-shift,另一类是intra-shift。Inter-shift指的是在观测数据内部就出现了shift线上,intra-shift指的是预测窗口和历史观测值之间出现shift。

本文提出对历史窗口和未来窗口的标准化参数分别建模。这里使用两个CONET网络,这两个网络输入的都是历史序列,但是一个的目标是预测历史序列的标准化参数,另一个的目标是预测未来序列的标准化参数。在得到历史序列和未来序列的标准化参数后,对历史序列使用历史序列标准化参数进行标准化,标准化后的序列输入到深度学习模型中预测未来。模型预测的输出结果,再使用未来序列标准化参数进行反标准化,得到最终输出。整体得到模型结构如下图所示。

时间序列中的Distribution Shift问题解决方法汇总

此外,文中还在模型中引入了人工的先验知识,帮助模型学习。通过让历史窗口的均值参数朝着历史序列的实际均值拟合,来加入人工的先验信息。最终整体的loss,一方面是时间序列预测的MSE,另一方面是对于历史窗口均值参数的先验知识:

时间序列中的Distribution Shift问题解决方法汇总

OUT-OF-DISTRIBUTION REPRESENTATION LEARNING FOR TIME SERIES CLASSIFICATION(ICLR 2023)

这篇文章主要解决在时间序列分类中的分布变化问题。时间序列随着时间的变动,分布会发生变化,如果预测序列和训练数据中的分布差异很大,可以理解为out-of-distribution(OOD)问题,这种情况下在训练数据中训练好的分类模型,很难应用傲测试集上。
针对上述问题,本文提出了适用于时间序列场景的域外表示学习工作。利用对抗学习到的思路,一方面让模型自动学习如何将时间序列切分属于多个域的片段,最大化各个域片段的分布差异;另一方面,学习域无关的共性表征。整体的建模思路和AdaRNN有一些类似(作者是同一批人),都是找分布差异最大的片段后,让模型能在这种最坏情况都保持良好性能,再借助domain adptation的思路寻找各个分布下的共性信息,增强模型的泛化能力。

时间序列中的Distribution Shift问题解决方法汇总

总结

本文汇总了解决时间序列预测中Distribution Shift问题的5篇顶会工作。Distribution Shift这类问题在实际的时间序列数据中很常见,解决好这类问题,对于准确的业务数据预测很有帮助。

【竞赛报名/项目咨询请加微信:mollywei007】

上一篇

国内14岁学生申请美高录取经验分享

下一篇

你留学的底层逻辑是什么?

你也可能喜欢

  • 暂无相关文章!

评论已经被关闭。

插入图片
返回顶部