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

WBOY
WBOY转载
2023-05-20 21:04:38228浏览

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

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

论文标题: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),指的是多变量一起建模,考虑各个变量之间的关系。二者的差异如下图。

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

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

2、哪种方法更好

首先进行详细的对比实验,使用线性模型在多个数据集上观察CI方法和CD方法的效果,以确定哪种方法更好。在文中的实验中,一个主要的结论是CI方法在多数任务上表现出更优异的表现,并且效果稳定性更强。下面这张图中可以看到,CI的MAE、MSE等指标在各个数据集上基本都小于CD,同时效果的波动也更小一些。

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

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

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

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

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

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

3、如何优化

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

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

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

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

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

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

4、实验效果

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

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

以上就是多元时序预测:独立预测 or 联合预测?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:51CTO.COM,如有侵犯,请联系admin@php.cn删除
PHP培训优惠套餐