zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

NeurIPS 2021 | 微观特征混合进行宏观时间序列预测

2023-03-14 22:55:38 时间

时间序列预测的应用非常的广泛,像股票预测、销量预测、贷款预测等等,在生产生活中发挥着极大的价值。现有的模型,比如ARIMA,Prophet,状态空间模型或者神经网络模型等,主要是对单条时间序列进行建模分析。然而,在很多真实场景中,需要预测的时序变脸常常是描述具体结果的“宏观变量”,例如沪深指数大盘走势,电商平台GMV等,这些宏观变量的变化通通都受其下层微观因素变化所决定,单单对宏观时间序列建模往往得不到很好的效果。

最近,来自蚂蚁的几位学者在NeurIPS 2021上发表了一种混合微观特征进行宏观时间序列预测的方法。他们提出将“宏观时序变量”拆分为“微观时序变量”,并可以赋予这些微观变量一些专家领域的经验知识。该方法类似于时序分解,不同的是,宏观时序不是由微观时序通过一些加减乘除运算就可以得来,而是需要通过混合建模,将微观时序数据聚类形成聚合时间序列,再利用时序模型预测聚合时间序列,最终汇总得到宏观时序预测结果的方式。该方法被作者命名为MixSeq。

论文地址:https://arxiv.org/pdf/2110.14354v1.pdf

论文源码:暂未公布

概述

该论文的主要目标是利用微观时序数据辅助预测宏观时序预测。从混合模型的角度出发,从混合模型的角度出发,作者发现通过合理地将微观时序数据聚类形成聚合时间序列,再利用时序模型预测聚合时间序列,最终汇总得到宏观时序预测结果的方式能够提升宏观时序预测性能。

基于此,作者提出了一种基于混合神经时序模型的聚类方法MixSeq。MixSeq从混合模型的角度首次在理论上验证了时序拆分满足什么样的性质能提升“宏观时序”的精度;并基于卷积Transformer构建了一个端到端的混合模型实现时序聚类,从而对宏观时序做拆分达到优化宏观时序预测的目的。此外,MixSeq的目标是将服从相同神经网络时序模型的数据聚在一起,同组时序数据具有一定的同质性。

该论文所宣布的核心贡献如下:

  1. 作者证明,通过聚类转换原始宏观时间序列,可以优化每个聚类时间序列的预期方差,从而提高宏观时间序列估计的准确性和鲁棒性
  2. 作者提出了 MixSeq,它是一个 end2end 混合模型,用于组合微观时序特征提升宏观时序预测的性能

算法模型

01

问题定义

假设存在宏观时间序列

,其中

是宏观时序变量在时刻t的取值。任务要预测未来

个时间步长的值,即

。因此,期望构建如下形式化模型

其中,

是宏观时序在区间[1,t)的取值,即

。这里,作者假设宏观时序数据由m个微观时序数据组成,即

。作者们期望将m个微观时序数据划分为K组,并形成K个聚合时间序列

,其中,

是类别变量,

是第z个类别对应的聚合时序变量在时刻t的取值,由属于第z类的所有微观时序数据汇总获得。此时,可以对各个聚合时间序列进行建模

,并汇总得到宏观时序结果。后续分析表明,在最优聚类前提下,上述方式能够提升宏观时序预测性能。

02

理论基础

假设数据真实分布是混合概率分布(不同微观数据的产生来自于不同成分的概率分布),即

,其中

是数据整体在第i个成分上的先验,

是第i个成分的概率分布,那么有如下定理

定理:假设混合分布的概率密度:

,在混合概率分布

和各成分分布

存在一阶矩和二阶矩的前提下,且

存在

,那么有:

上述定理说明,混合概率分布的方差大于等于每个成分方差的期望。这意味着:合理拆分,每类样本的方差的期望更小;样本独立情况下,总体方差更小。也就是说,在微观数据相互独立的情况下,如果能够知道微观数据的真实生成过程,即每个数据来自于混合分布的某个成分,那么对于宏观数据建模而言,对各个成分的聚合数据分别建模再汇总是一种更准确的方式,具有更小的不确定性。

仿真实验:这里给出一个上帝视角的时序拆分预测实例说明,在已知混合分布(mixture of ARMA或者mixture of Gaussian Process)的前提下,从混合分布的每个成分分别生m个微观时序数据。所有微观时序汇总得到对应的宏观时序数据,每个成分的m个微观时序汇总得到对应的聚合时序数据。

下面作者比较如下两种策略的性能:

  1. 直接对宏观时序进行建模预测,结果记为macro results;
  2. 分别对聚合时序数据建模预测,再汇总预测结果得到宏观时序预测,结果记为clustered results

相同区间的滑动窗口方式进行滚动回测,具体评测结果(smape)如下表:

clustered results都要优于macro results,表明合理的时序拆分预测有助于提升宏观时序的预测性能。

03

MixSeq

基于上述分析,为了在给定

的前提下预测

,面对的核心问题是如何构建模型将微观时序数据

分为K组,从而获得合适的时序拆分结果。如前所述,假设m个微观时序数据服从某个混合概率分布,那么对于任意微观时序数据

,其混合模型概率生成描述如下:

其中,

是离散隐变量,K是混合模型的成分数目,p(z)是样本类别的先验分布,p(x|z)是时序x由类别z对应的成分生成的概率。得益于Seq2Seq模型对序列数据的建模能力,作者利用卷积Transformer来实例化各个成分

,这里不再对其结构进行详细描述。此时,上述混合模型的不同成分分量来自于由不同参数确定的神经网络,其期望全部微观时序数据可以划分为多组,每组分别遵从不同参数化的神经网络时序模型。最终混合模型的参数为

对于上述混合神经网络模型而言,期望能够高效的求解参数并完成后验分布

的推断。然而,在对似然函数取log之后,无法直接完成求解。这里采用AEVB方法。对于单个微观时序数据,其变分下界(LB)如下:

其中,q(z|x)是时序x的近似后验分布。AEVB方法的优点是可以利用神经网络作为编码器来计算q(z|x)。这里同样基于卷积Transformer来提取时序特征,并将时序特征输入MLP获得后验概率。在模型训练完毕后,每个微观时序数据会分配到后验概率最大的组别,完成分组聚类任务。

模式崩溃:际测试发现,优化上式中的变分下界可能面临这样一个问题:编码器q(z|x)容易将所有样本判定为同一类别,并没有像预期的一样将样本进行有效划分。在这种情况下,编码器没有能够提取时间序列中有区分度的信息,即

。为避免上述情况,在变分下界的基础上添加

,期望模型能够在隐变量z中学到区别不同输入时序的信息。此时,全部训练样本下的优化目标如下:

其中,

表示所有样本的总体后验分布。上述目标在尽可能重构样本的同时,期望可以最小化KL散度,即期望整体样本的隐变量分布与先验分布尽可能一致。实际优化过程中,作者利用mini-batch数据来近似q(z),即

退火技巧:对于长时序数据而言,上式优化目标中的样本重构损失和KL散度损失两部分数值的数量级会差别比较大,可能会导致KL散度作用减弱,进而影响模型效果。因此,在这个基础上,最终损失函数调整如下:

其中,α和λ分别是KL散度和ℓ2正则项的损失权重。加入卷积Transformer模型参数的ℓ2正则项是为了相对简化模型,避免学习到过于复杂的神经网络。同时,利用退火策略动态地调整α的值,使得α随着训练不断减小。

‍‍

实验

‍‍‍‍

为验证MixSeq方法的有效性,作者们分别在仿真数据和实际数据上进行了实验。仿真数据实验的目的是分析在具有ground truth的数据上,MixSeq能否区分出遵从不同模型的微观时序数据;实际数据则是为了验证基于MixSeq的时序拆分预测的有效性。

01

仿真数据实验

利用相同结构不同参数的时序模型(ARMA或者DeepAR)生成多组微观仿真时序,每组包含一万条长度为100的时序样本。利用MixARMA和MixSeq对仿真时序进行聚类,同时对于MixSeq而言,在训练获得模型后,我们会依据生成模型重新生成新的样本来直接infer新样本的类别,从而判断模型是否学到了生成模型的规律(该部分记为MixSeq-infer)。详细结果如下图所示,评测指标为RI(Rand Index)。

  1. 对于ARMA仿真时序,MixARMA和MixSeq两个方法都能够获得较好的聚类性能;
  2. 对于DeepAR仿真时序,MixSeq性能优于MixAR,原因在于线性的AR模型难以刻画非线性的DeepAR时序;
  3. MixSeq-infer的评测结果与MixSeq性能相当,说明MixSeq方法能够挖掘时序数据的规律从而区分时序。

02

真实数据实验

作者在三个实际时序数据集上测试了基于MixSeq的拆分预测性能,包括Rossman销量数据,M5数据和Wiki流量数据。对比时序聚类方法包括DTCR和MixARMA,也测试了直接在宏观数据上建模的预测性能(记为Macro)。对于每个聚类方法,分别结合ARMA、Prophet、DeepAR、TCN和卷积Transformer完成各部分的时序预测任务。具体结果如下,图1评测指标为smape,图2评测指标为R0.5/R0.9-loss。绝大多数情况下,基于MixSeq的拆分预测都能获得最优性能。

03

参数分析

下图给出了三个数据集在不同类簇数目K下的预测性能,其中,K=1表示直接对宏观时序进行预测,不采用拆分预测的策略。与一般聚类任务相似,基于MixSeq的时序拆分预测同样会受到类簇数目的影响。只有在合适的类簇数目下才能获得最优的时序预测性能,可以依据专家经验进行设定或者在验证集上进行搜索。

总结

本文探索如何利用微观时序数据辅助宏观时序预测。从混合模型角度出发,首次在理论上验证了时序拆分满足什么样的性质能提升“宏观时序”的精度,即合理地刻画数据的混合分布并实现微观数据聚类;基于此,蚂蚁的学者们提出了MixSeq,一种端到端的混合神经网络模型,从而对宏观时序做最优拆解以达到优化宏观时序预测的目的。仿真实验验证了MixSeq能够捕捉混合模型中不同成分的特征,较好地还原仿真数据真实类簇结果;公开数据上的预测实验表明,基于MixSeq的拆分预测可以提升宏观时序预测性能;同时在蚂蚁消费信贷的余额预测场景中,该方法也已经作为推全方案服务于背后的金融决策过程。