目录
时间序列及其研究状况:
时间序列中存在迁移学习问题吗?
已有的时间序列建模方法的大致思路
迁移学习如何应用于时间序列建模?
本内容摘录于王晋东老师的《迁移学习导论》
时间序列及其研究状况:
所谓时间序列,指的是按照时间、空间或其他定义好的顺序形成的一条序列数据。由于时间的连续性,不难想象,时间序列数据会随着时间动态变化。特别地,时序列的一些统计信息(例如均值、方差等)会随着时间动态变化。统计学通常将此类时间序列称为非平稳时间序列。
为解决此问题,传统方法通常基于马尔可夫假设来建模,即时间序列上的每个观测仅依赖于它的前一时刻的观测。依据此假设,隐马尔可夫模型、动态贝叶斯网络、卡尔曼滤波法,以及其他统计模型如自回归移动平均模型(Autoregressive Integrated Moving Average Model,ARIMA)等都在时间序列预测上取得了良好的效果。最近几年随着深度学习的兴起,基于循环神经网络(Recurrent Neural Networks,RNN)的方法取得了比之前这些方法更好的效果。与其相比,RNN对时间序列的时间规律不做显式的假设,依靠强大的神经网络,RNN能自动发现并建模序列中高阶非线性的关系,并且能实现长时间的预测。因此,RNN系列方法在解决时间序列建模上十分有效。
时间序列预测问题的形式化定义:
时间序列中存在迁移学习问题吗?
我们注意到,非平稳时间序列的最大特性便是其动态变化的统计特征。故而,其数据分布也在动态变化着。在这种情形下,RNN模型尽管能够捕获一些局部的时间相关性,但是对于一个预测问题而言,对测试数据一无所知。此问题与传统的图像分类等问题并不相同:试想,时间序列建模要求我们预测未来(例如根据最近一周的天气预测未来的天气),因此未来的数据是不可知的;而在图像分类时,我们可以获取测试数据的图片。RNN在面对未知的数据分布时,很可能会发生模型漂移(Model shift)现象。因此,对时间序列进行迁移学习的主要任务就是构建一个时间无关(Temporally-invariant)的模型用于未知数据和任务。
(存在困难)
此问题无法直接应用迁移方法。首先,时间序列的数据分布具有连续性。由于每个时刻的数据分布都在改变,因此需要找到一种方法将连续的分布差异变成离散的、可计算的分布差异,同时又能最大限度地捕获整个时间序列的分布特性,以便最大化后续的迁移效果。其次,即使上一步骤能够完成,现有的迁移方法均为基于卷积神经网络的分类问题而设计,也无法直接用于RNN模型。由于上述两个挑战的存在,我们需要研究特别的算法来完成时间序列的迁移学习。
已有的时间序列建模方法的大致思路
(棘手的模型漂移问题)
已有的时间序列建模方法,这些方法包括基于距离的方法[Orsenigo and Vercellis,2010,Górecki and Luczak,2015],基于特征变换的方法[Schäfer,2015],以及基于集成学习的方法[Lines and Bagnall,2014,Bagnall et al.,2015]。基于距离的方法通常直接利用某种相似度度量作用于原始数据上,基于特征变换的方法则期望能从数据中提取某些对时间不变的特征,基于集成学习的方法则通过多个分类器的集成来取得更好效果。这些方法均基于手动的特征提取或数据表征。基于RNN的方法则利用注意力机制[Choi et al.,2016,Lai et al.,2018,Qin et al.,2017]或张量分解[Sen et al.,2019]等方法来捕获时间相关性。另一类方法则将深度学习与状态空间模型(State Space Model)进行结合[Rangapuram et al.,2018,Salinas et al.,2020]。另外,一些方法[Salinas et al.,2020,Vincent and Thome,2019]使用了序列到序列(Sequence to Sequence)模型进行多步预测。这些方法尽管取得了很好的效果,但均未从数据分布角度对时间序列进行建模,因此在面对未知数据时很有可能发生模型漂移的问题。
迁移学习如何应用于时间序列建模?
王晋东及团队提出了针对时间序列进行建模的AdaRNN方法(Adaptive RNNs)[Du et al.,2020b]。AdaRNN方法首先将时间序列中分布动态改变的现象定义为时序分布漂移(Temporal Covariate Shift,TCS)问题,并提出有效的方法来解决此问题。TCS现象如图11.5所示。AdaRNN方法为研究时间序列建模提供了一个全新的数据分布的视角。