适用于小样本时间序列预测的图半监督学习方法

0、前言

        考虑到多变量输入时间序列预测场景多,但是并不是所有场景下都拥有足量的标记数据进行回归模型的训练。正所谓“巧妇难为无米之炊”,受限于数据量,由于过拟合问题,很多回归预测方法都不适应,例如深受大家喜爱的深度学习方法LSTM。那么怎么打破僵局呢?难道真的只能采用传统不受限于数据量的方法吗?(并不是片面认为常规简便方法不好!)或者说等几十年后数据量多了再来做预测?显然并不需要这么绝望!针对小样本学习,解决思路有以下几个方面:①想办法生成更多数据(这个在图像处理领域比较火),但是个人认为并不是适合所有应用场景;②迁移学习方法,也不是适用于所有应用场景,知识迁移比较困难,往往相似场景下、相同的输入输出空间(分布)才能获取一些可借鉴的知识;③半监督学习,个人觉得更适用于小样本学习场景;④集成学习,建立多个基分类器增强结果的可靠性,但是个人觉得这个更多时候是锦上添花的东西,数据量本身很少时,基分类器都不好训练!

        本博文在半监督学习基础上,提出一种适用于小样本时间序列数据预测的图半监督学习方法,与其说是方法更不如说是一种框架,因为可以根据实际情况选用不同的算法实现回归预测。

1、应用于小样本时间序列数据预测的图半监督学习方法

1.1 时间序列预测问题

      1)时间序列定义:一个时间序列过程(time series process)定义为一个随机过程\left \{ X_{t} |t\in T\right \},这是一个按时间t排序的随机变量的集合,也就是将每一个时刻位置的点作为一个随机变量。 T是索引集合(index set),  T决定定义时序过程以及产生观测值的一个时间集合 。

其中假定:

  • 随机变量X_{t}的取值是连续的。

  • 时间索引集合T是离散且等距的。

在整个过程中,都采用以下符号:

  • 随机变量(Random variables)用大写字母表示,即X_{t}  ,同时随机变量的值是从一个分布中采样给出。而且可以为无限多个时间点t\in T定义随机变量。 

  • 观测(Observations)用小写字母表示,即x_{t},观测可以认为是随机变量的实现。但通常在实际中,我们的观测点是有限的,因此定义n个观测是\left \{ x_{1} ,x_{2},...,x_{n}\right \} 。

        2) 时间序列分析目标

        给定一组时间序列数据,通常会要求回答一个或多个有关它的问题。时间序列数据出现的主要问题类型取决于数据的上下文以及收集数据的原因,下面给出一些常见的目标:

  • 描述:描述时间序列的主要特征,例如:序列是递增还是递减;是否有季节性模式(例如,夏季较高,冬季较低);第二个解释变量如何影响时间序列的值?

  • 监控:检测时间序列行为何时发生变化,例如销售额突然下降,或者突然出现峰值。

  • 预测:从当前值预测时间序列的未来值,并量化这些预测中的不确定性,比如根据今天的气温预测未来几天的温度。

  • 回归:给定多个时间序列以及与这些序列对应的一个额外的值,找到其中的关系。

  • 分类:给定多个时间序列,将它们按照相似性进行分类。

  • ......

        3) 时间序列的建模

        时间序列数据通常被分解为以下三个组成部分。

  • 趋势(Trend)- 趋势体现的是时间序列数据均值随时间的长期变化。如果趋势存在,它的形状通常会引起人们的兴趣,尽管它可能不是线性的。

  • 季节性影响(Seasonal effect)- 季节性影响是时间序列中以固定间隔重复的趋势。严格来说,季节性效应只是每年都会重复的效应,但在更一般的情况下,可以更广泛地使用该术语来表示任何定期重复的模式。

  • 无法解释的变化(Unexplained variation)- 无法解释的变化是在任何趋势和季节性变化被去除后时间序列中其余的变化。这种无法解释的变化可能是独立的,也可能表现出短期相关性。

        因此,时间序列数据的简单模型可以用两种方式表示,分别为:

        加法模型(Additive):X_{t}=m_{t}+s_{t}+e_{t}
        乘法模型(Multiplicative):X_{t}=m_{t}s_{t}e_{t}

        其中m_{t}表示趋势,s_{t}表示季节,e_{t}表示无法解释的变化。

        当趋势和季节性变化独立作用时,加法模型是合适的,而如果季节性效应的大小取决于趋势的大小,则需要乘法模型。当趋势和季节性变化独立作用时,加法模型是合适的,而如果季节性效应的大小取决于趋势的大小,则需要乘法模型。

        4)时间序列预测问题应该考虑的因素

        基于前面的分析,可以看出时间序列预测既要考虑时间相关性,输出变量随时间有固定趋势变化;也要考虑空间相关性,即输入变量的变化直接影响输出变量(输入变量于输出变量间有对应关系)。本文兼顾时间相关性和空间相关性,提出适用于小样本时间序列预测场景的图半监督学习方法。

1.2 图半监督学习方法

        1)时间相关性建模:建立连续时间节点输出变量之间的关系模型,并基于该模型为未标记样本赋予初始标记值。

        2)空间相关性建模:建立基于特征空间的图半监督预测模型。步骤如下

        ①首先,基于已标记样本和未标记样本的输入空间,建立样本的关联图

        ②其次,基于关联图构建结果,计算标记传播矩阵

        ③最后,基于初始标记值和标记传播矩阵,采用迭代更新方法,迭代至收敛得到最终的预测输出,实现未标记样本的输出预测。(在某种程度上这一步已经能实现新时刻点的输出预测,但是我们可以将这一步当成是对未标记样本打标签,增加样本数量,后续就可以将原本有标签样本集和无标签样本集一起用于后续监督预测模型的训练。)

        3)时间序列预测模型建立

        在前两步基础上,获取到了更多带标签的样本数据,在这些数据基础上训练回归预测模型,将有更多方法可以选择。

        以上为适用于小样本时间序列预测场景的图半监督学习方法整体思路。    

2、方法分析

        1.2 所提方法整体思路是固定的,但具体实现不唯一,例如1)中时间相关性建模方法就很多;2)中空间相关性建模方法也不唯一;3)中预测模型建立方法也不唯一。

        1)中的建模方法参考:GRNN、线性回归、最小二乘回归、SVR等等

        2)中的建模方法:主要是关联图构建方法确定

        3)中的建模方法参考:GRNN、线性回归、最小二乘回归、SVR、神经网络等等

    

你可能感兴趣的:(回归预测,时间序列预测,学习)