多元时序预测:独立预测 or 联合预测?

人工智能 深度学习
多元时间序列预测问题中,从多变量建模方法的维度有两种类型,一种是独立预测(channel independent,CI),指的是把多元序列当成多个单变量预测,每个变量分别建模;另一种是联合预测(channel dependent,CD),指的是多变量一起建模,考虑各个变量之间的关系。

今天介绍一篇南大今年4月份发表的文章,主要探讨了多元时间序列预测问题中,独立预测(channel independent)和联合预测(channel dependent)二者效果的差异、背后的原因以及优化方法。

图片

论文标题:The Capacity and Robustness Trade-off: Revisiting the Channel Independent Strategy for Multivariate Time Series Forecasting

下载地址:https://arxiv.org/pdf/2304.05206v1.pdf

1、独立预测和联合预测

多元时间序列预测问题中,从多变量建模方法的维度有两种类型,一种是独立预测(channel independent,CI),指的是把多元序列当成多个单变量预测,每个变量分别建模;另一种是联合预测(channel dependent,CD),指的是多变量一起建模,考虑各个变量之间的关系。二者的差异如下图。

图片

这两种方式各有特点:CI方法只考虑单个变量,模型更简单,但是天花板也较低,因为没有考虑各个序列之间的关系,损失了一部分关键信息;而CD方法考虑的信息更全面,但是模型也更加复杂。

2、哪种方法更好

文中首先做了详细的对比实验,在多个数据集,观察CI方法和CD方法哪种效果更好(采用线性模型)。文中实验得到的一个核心结论是:CI方法在大多数任务上表现的更好,并且效果方差也更小。下面这张图中可以看到,CI的MAE、MSE等指标在各个数据集上基本都小于CD,同时效果的波动也更小一些。

图片

从下面的实验结果可以看到,CI相比CD,在绝大多数预测窗口长度和数据集上,效果都是提升的。

图片

为什么CI方法在实际应用中比CD效果更好、更稳定呢?文中进行了一些理论证明,核心的结论是:真实数据往往存在Distribution Drift,而使用CI方法有助于缓解这个问题,提升模型泛化性。下面这张图,展示了各个数据集trainset和testset的ACF(自相关系数,反映了未来序列和历史序列之间的关系)随时间变化分布,可以看到Distribution Drift在各个数据集上是广泛存在的(也就是trainset的ACF和testset的ACF不同,即两者的历史与未来序列的关系不同)。

图片

文中通过理论证明了CI对于缓解因此Distribution Drift有效,CI和CD之间的选择,是一种模型容量和模型鲁棒性之间的权衡。CD模型更加复杂,但是也对于Distribution Drift更敏感。这其实和模型容量与模型泛化性之间的关系类似,越复杂的模型,模型拟合的训练集样本越准确,但是泛化性较差,一旦训练集和测试集分布差异较大,效果就会变差。

3、如何优化

针对CD建模的问题,文中提出了一些优化方法,可以帮助CD模型更具鲁棒性。

正则化:引入一个正则化损失,用序列减去最近的样本点作为历史序列输入模型进行预测,同时使用平滑约束预测结果,让预测结果和最近邻的观测值偏差不要太大,使得预估结果更平;

图片

低秩分解:将全连接参数矩阵分解成两个低阶矩阵,相当于减少了模型容量,缓解过拟合问题,提升模型鲁棒性;

损失函数:采用MAE替代MSE,降低模型对于异常值的敏感度;

历史输入序列长度:对于CD模型来说,输入的历史序列越长,可能反而会造成效果的下降,也是因为历序列越长,模型越容易受到Distribution Shift的影响,而对于CI模型,增长历史序列长度可以比较稳定的提升预测效果。

4、实验效果

文中将上面提到的改进CD模型的方法在多个数据集上进行实验,相比CD取得比较稳定的效果提升,说明上述方法对于提升多元序列预测鲁棒性有比较明显的作用。此外,文中也列举了低秩分解、历史窗口长度、损失函数类型等对于效果的影响实验结果。

图片

责任编辑:武晓燕 来源: 圆圆的算法笔记
相关推荐

2022-07-12 14:45:54

达摩院模型

2024-03-18 00:00:03

时间序列Prompt模型

2023-10-27 09:34:34

携程应用

2020-11-04 10:09:06

物联网智慧办公技术

2021-11-02 17:17:42

数字化

2018-08-27 15:02:27

预测分析软件

2023-07-14 07:15:13

2018-12-17 09:47:54

2016-06-14 15:46:33

高德

2013-10-30 10:19:18

2022-07-12 10:37:08

阿里巴巴达摩院机器学习

2018-08-11 05:50:18

2012-01-05 09:38:13

虚拟化Hyper-V

2011-04-12 10:30:35

Windows 8

2019-07-30 10:35:26

编程语言前端Rust

2023-07-21 08:24:02

算法任务学习模型

2014-12-31 11:12:14

2014-05-27 10:23:42

物联网

2019-12-16 07:40:45

网络安全漏洞网络威胁

2020-03-29 22:49:42

物联网IOT物联网技术
点赞
收藏

51CTO技术栈公众号