赞
踩
本文转载自知乎王晋东不在家的《小王爱迁移》系列之十五:自动选择源域的迁移学习方法
源地址为:《小王爱迁移》系列之32:时间序列预测新范式——基于迁移学习的AdaRNN方法 - 知乎 (zhihu.com)
绝大部分迁移学习算法都假定学习任务为图像分类。然而实际应用中并非只有图像这一种数据类型,实际的任务也并非只有分类。本文介绍时间序列数据上的迁移学习方法,特别地,我们将介绍迁移学习如何应用于时间序列的回归和预测任务。由于此类研究目前还较少,因此,其在未来有很高的研究和应用价值。
本文介绍一篇刚被数据挖掘国际权威会议CIKM 2021接收的长文,第一作者为南京大学杜云涛同学(知乎 @Messi-Du ),其他作者来自微软亚洲研究院等单位。文章针对时间序列分布的动态变化特性,首次提出了时间序列的时序协方差漂移问题(Temporal Covariate Shift, TCS),进而提出了AdaRNN方法解决了此问题,在分类和回归问题上比对比方法提高2.6%和9.0%的精度(RMSE)。另外,AdaRNN可以被简单地扩展到Transformer框架下,同样能够提高其表现。
论文地址: https://arxiv.org/abs/2108.04443
代码: https://github.com/jindongwang/transferlearning/tree/master/code/deep/adarnn
视频讲解:时间序列分析和预测新范式:基于迁移学习的AdaRNN方法_哔哩哔哩_bilibili
时间序列 (Time Series)在日常生活中有着广泛的应用,例如,天气预测[1]、健康数据分析[2],以及交通情况预测[3]等实际问题均需要对时间序列进行建模。所谓时间序列,指的是按照时间、空间或其他定义好的顺序形成的一条序列数据。由于时间的连续性,不难想像,时间序列数据会随着时间动态变化。特别地,时间序列的一些统计信息 (例如均值、方差等)会随着时间动态变化。统计学通常将此类时间序列称为非平稳时间序列 (Non-stationary Time Series)。为解决此问题,传统方法通常基于马尔可夫假设来进行建模,即时间序列上的每个观测仅依赖于它的前一时刻的观测。依据此假设,隐马尔可夫模型、动态贝叶斯网络、卡尔曼滤波法以及其他统计模型如自回归移动平均模型 (Autoregressive Integrated Moving Average Model, ARIMA)发挥了重要作用。最近几年随着深度学习的兴起,基于循环神经网络 (Recurrent Neural Networks, RNNs)的方法取得了比之前这些方法更好的效果。与其相比,循环神经网络对时间序列的时间规律不做显式的假设,依靠强大的神经网络,RNN能自动发现并建模序列中高阶非线性的关系,并且能实现长时间的预测。因此,RNN系列方法在解决时间序列建模上十分有效。
我们首先对时间序列预测问题进行形式化定义。给定一个长度为 N 的时间序列, 其中
为其中一个长度为
、维度为
的样本, 且
为其
维数据标签。 显然,普通的单值预测问题中
。我们的目标是学习一个预测模型
,使得其在数据
上进行
步预测以求得预测标签
。
那么,时间序列中存在迁移学习问题吗?迁移学习如何应用于时间序列建模?
先回答第一个问题:时间序列中存在迁移学习问题。
我们注意到,非平稳时间序列的最大特性便是其动态变化的统计特征。故而,其数据分布也在动态变化着。在这种情形下,尽管RNN模型能够捕获一些局部的时间相关性,但是对于一个预测问题而言,模型对测试数据一无所知。此问题与传统的图像分类等问题并不相同:试想,时间序列建模要求我们预测未来(例如根据最近一周的天气预测未来的天气),因此未来的数据是不可知的。而图像分类时,我们可以获取测试数据的图片。因此,此问题与领域泛化问题非常相似。因此,RNN在面对未知的数据分布时,其很可能会发生模型漂移 (Model shift)现象。因此,对时间序列进行迁移学习的主要任务就是构建一个时间无关 (Temporally-invariant)的模型可以用于未知数据和任务。
此问题无法直接应用传统的迁移方法进行解决。首先,时间序列的数据分布具有连续性。由于其每个时刻的数据分布都在改变,因此我们需要找到一种方法将连续的分布差异变成离散的、可计算的分布差异,同时又能最大限度地捕获整个时间序列的分布特性,以便最大化后续的迁移效果。其次,即使上一步骤能够完成,现有的迁移方法均为基于卷积神经网络的分类问题而设计,也无法直接用于RNN模型。因此,由于上述两个挑战的存在,我们需要研究特别的算法来完成对时间序列的迁移学习。
我们简要回顾已有的时间序列建模方法的大致思路。这些方法包括基于距离的方法[4,5],基于特征变换的方法[6],以及基于集成学习的方法[7]。基于距离的方法通常直接利用某种相似度度量作用于原始数据上,基于特征的方法则期望能从数据中提取某些对时间不变的特征,而基于集成模型的方法则通过多个分类器的集成来取得更好效果。这些方法均基于手动的特征提取或数据表征。基于RNN的方法则利用注意力机制[8]或张量分解[9]等方法来捕获时间相关性。而另一类方法则将深度学习与状态空间模型 (State space model)进行结合[10]。另外,一些方法[11]使用了序列到序列 (Sequence to sequence)模型进行多步预测。这些方法尽管取得了很好的效果,但均未从数据分布角度对时间序列进行建模,因此在面对未知数据时很有可能发生模型漂移的问题。
第二个问题:迁移学习如何应用于时间序列建模?
笔者及其团队提出了针对时间序列进行建模的AdaRNN方法 (Adaptive RNNs)。AdaRNN方法首先将时间序列中分布动态改变的现象定义为 时序分布漂移 (Temporal Covariate Shift, TCS) 问题,并提出有效的方法来解决此问题。TCS现象如图1所示。AdaRNN为研究时间序列建模提供了一个全新的数据分布的视角。
图1 时间序列的时序分布漂移现象示意图
定义 时序分布漂移 (Temporal Covariate Shift) 给定一个由 K 段组合成的时间序列 ,其中每一段
,时间序列总长度为
,并且规定
。当
时,则时序分布漂移现象发生。
为解决时序分布漂移现象,AdaRNN方法设计了如图2所示两个重要步骤:
图2 时间序列迁移方法AdaRNN的原理示意图
为将时间序列切分为K段最不相似的序列(对应于正式中的求最大值操作、同时使得K最小),时序相似性量化方法将此问题表征为一优化问题:
其中D是相似度度量函数, 和
是为了避免无意义的解而预先定义好的参数。上述优化问题可以用动态规划算法 (Dynamic Programming)进行高效求解。
得到K段最不相似的序列后,时序分布匹配方法设计了一种类似于领域泛化的方法学习得到最优的模型参数 。特别地,为了在迁移过程中不损失时序相关性,AdaRNN方法提出要动态度量RNN单元中每个时间状态的重要性,将其用
表示。此时,迁移过程中每个时间状态对整个训练过程的重要性被可被动态地进行学习。该方法学习过程表示为:
其中为
段序列中任意两段的分布差异:
之后,时序分布匹配方法对提出了基于Boosting的方法来对模型参数进行学习。我们在这里不再赘述。
我们在四个真实数据集上测试了算法的效果,包括1个分类任务(行为识别)和3个回归任务(空气质量预测、用电量预测和股价预测)。
首先,我们看一下模型在行为识别任务上的效果,评价指标为准确率,可以看到AdaRNN在所有的评价指标上都取得了最好的表现,这意味着AdaRNN在非平稳时间序列分类任务中是有效的。
然后我们看一下模型在空气质量预测和用电量预测任务上的结果,可以注意到的是,在空气质量预测这个任务上,所提方法在四个站点上的效果都是最好的。在RMSE指标上,AdaRNN比强基线方法STRIPE提升8.97%。
可以看到,AdaRNN在股价预测任务上也取得了很好的效果(各评价指标越高越好)
对于算法中的时序相似性量化 部分,我们比较了K在不同取值下的结果。结果如图3(a)所示,可以发现随着 值的增加,模型性能先变好再逐渐变差,在
的时候达到最好效果。此外我们比较了算法在
时不同划分下的结果。划分1表示随机划分,划分2表示按最相似性进行划分,结果如图3(b)所示,我们的时序分布匹配 在分布距离最大时RMSE性能最好。两个实验都表明,时序分布匹配 能够有效地表征时间序列中的分布信息。
对于算法中的时序分布匹配 部分,我们比较其的几个变种算法, 结果如图3(c)所示,可以发现AdaRNN实现了最好的效果。此外为了评估重要性向量, 我们也进行了消融实验,结果如图3(d)所示,在相同的分布距离下,我们的AdaRNN取得了最好的结果。这表明,在基于RNN的时间序列建模中,建模每个隐藏状态的不同分布是重要的,我们的AdaRNN能够动态评估它们的重要性,从而获得最佳性能。
图3 消融实验结果
AdaRNN算法可以适用多种分布距离。我们运行四种不同的分布距离来进行评估。图4(a)为在空气质量预测上的结果,结合表3中的结果,可以观察到AdaRNN在获得最佳性能的同时,对分布距离的选择具有鲁棒性。此外,我们也进行了多步预测,结果如图4(b)所示,我们发现模型同样取得比较好的结果。最后,在图4(c)-(d)中,我们展示了DANN-RNN和AdaRNN算法在预测值和真实值之间的差异。
图4 算法分析结果
最后,我们发现不仅在RNN上,Adaptive方法对于Transformer结构也一样有效!
我们的方法在Transformer上的初步结果
本文提出并研究了非平稳时间序列的时序分布漂移(TCS)问题。 我们提出AdaRNN框架来学习一个自适应的RNN模型,使得其可以更好地泛化。AdaRNN算法由两种新的算法组成:时序相似性量化和时序分布匹配算法,前者用于表征时序中的分布信息,后者通过分布匹配构建广义RNN模型。在多个数据集上的大量实验证明了该方法的有效性。时间序列是日常生活中重要的数据类型。我们期待在未来会有更多的研究工作开发出更好的算法将时间序列的迁移学习做的更好。
[1] Guen, V. and Nicolas Thome. “Shape and Time Distortion Loss for Training Deep Time Series Forecasting Models.” NeurIPS (2019).
[2] Lai, Guokun et al. “Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks.” SIGIR (2018).
[3] Choi, Edward et al. “RETAIN: An Interpretable Predictive Model for Healthcare using Reverse Time Attention Mechanism.” NIPS (2016).
[4] Orsenigo, C. and C. Vercellis. “Combining discrete SVM and fixed cardinality warping distances for multivariate time series classification.” Pattern Recognition. (2010): 3787-3794.
[5] Górecki, T. and Maciej Luczak. “Multivariate time series classification with parametric derivative dynamic time warping.” Expert Syst. Appl. 42 (2015): 2305-2312.
[6] Schäfer, Patrick. “Scalable time series classification.” Data Mining and Knowledge Discovery 30 (2015): 1273-1298.
[7] Lines, Jason and A. Bagnall. “Time series classification with ensembles of elastic distance measures.” Data Mining and Knowledge Discovery 29 (2014): 565-592.
[8] Lai, Guokun et al. “Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks.” The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval (2018): n. pag.
[9] Sen, Rajat et al. “Think Globally, Act Locally: A Deep Neural Network Approach to High-Dimensional Time Series Forecasting.” NeurIPS (2019).
[10] Rangapuram, Syama Sundar et al. “Deep State Space Models for Time Series Forecasting.” NeurIPS (2018).
[11] Guen, V. and Nicolas Thome. “Shape and Time Distortion Loss for Training Deep Time Series Forecasting Models.” NeurIPS (2019).
==============
更多迁移学习系列文章:小王爱迁移》系列文章汇总
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。