DeepGLO:Think Globally, Act Locally: A Deep Neural Network Approachto High-Dimensional Time Series

解决问题

1.多维时间序列预测

比如Amazon需要预测同一个商品类中所有未来商品的需求,这些商品需求时间序列是具有相关性的,预测未来需求的时候同时考虑相关的时间序列历史数据能提高预测精度。

2.不同时间序列之间往往具有不同的scale,加大了网络初始化的难度

3.已有的模型单独考虑时间序列的全局特征(MF)或者局部特征(TCN),不能更好的将多维时间序列的这两个特征相结合起来以获得更高的预测精度

解决思路

1.文中使用LeveledInit使得训练过程不需要apriori normalization,以解决上述问题难点2。

2.使用TCN-MF对多维时间序列进行预测,以获取时间序列的全局特征。

3.将上述2中所获得的考虑全局特征的预测结果和原始序列covariates组合作为新的covariates输入TCN网络中再次进行预测,即hybrid模型DeepGLO,同时考虑全局特征与局部特征。

LeveledInit

即使初始TCN网络处于这样的状态:倾向于输出预测值,预测值为历史时间窗口的目标值y_{j-l:j-1}的均值。假如输入数据中没有covariates且网络每一层只有一个channel,LeveledInit可以通过简单的将TCN的filter的初始权重设置为1/k实现,其中k是每一层中的filter大小。论文表述如下:

TCN-MF

即将时间序列分解为一个low-rank factors F和一个基底序列X=[X^{tr}X^{te}],使得原始时间序列中的任意一条时间序列可以通过基向量来表示。这两者的更新过程可以用下图表示,即FX^{tr}基于通过LeveledInit初始化的TCN进行更新,然后在5到7步之间,再次通过算法三更新FX^{tr}

,再根据算法1更新TCN参数。 

DeepGLO:Think Globally, Act Locally: A Deep Neural Network Approachto High-Dimensional Time Series_第1张图片

上述训练完成后,通过迭代预测得到\widehat{X^{te}},然后通过最后一次训练时的F,利用Y^{te}=F \widehat{X^{te}}得到最终的全局预测值,如下图所示,即整个训练测试结果由基底序列组成。

 DeepGLO:Think Globally, Act Locally: A Deep Neural Network Approachto High-Dimensional Time Series_第2张图片

DeepGLO

即本文提出的混合模型,将TCN-MF得到的全局预测结果与TCN网络的局部预测相组合。该网络的输入向量为r+2维,包含历史时间序列数据、原始时间序列中的r维covariates(局部特征)和上述TCN-MF中得到的全局预测结果(全局特征),将其输入TCN网络中进行预测。DeepGLO的结构如下图,即核心部分为考虑全局特征的预测结果与TCN网络。

DeepGLO:Think Globally, Act Locally: A Deep Neural Network Approachto High-Dimensional Time Series_第3张图片

 实验结果

本文在四个数据集上进行了预测,并且对Normalized和Unnormalized的情况进行了比较。实验结果如下。

DeepGLO:Think Globally, Act Locally: A Deep Neural Network Approachto High-Dimensional Time Series_第4张图片

 实验代码:(27条消息) DeepGLO_颹蕭蕭-CSDN博客

你可能感兴趣的:(时间序列分析,论文研读,算法,python,数据挖掘,深度学习)