机器学习时间序列的排序


14

在阅读了RJ Hyndman的关于交叉验证和时间序列的“研究技巧”之一之后,我回到了我的一个老问题,我将在这里尝试表述。这个想法是,在分类或回归问题中,数据的排序并不重要,因此可以使用k倍交叉验证。另一方面,在时间序列中,数据的排序显然非常重要。

但是,当使用机器学习模型预测时间序列时,一种常见的策略是将序列为一组“输入-输出向量”,该向量在时间具有形式。{y1,...,yT}t(ytn+1,...,yt1,yt;yt+1)

现在,一旦完成了重塑,我们是否可以认为不需要对所得的“输入-输出向量”进行排序?例如,如果我们使用具有n个输入的前馈神经网络来“学习”这些数据,则无论我们向模型显示矢量的顺序如何,我们都将获得相同的结果。因此,我们是否可以使用k-fold交叉验证的标准方法,而无需每次都重新拟合模型?

Answers:


2

该问题的答案是,只要正确指定了模型顺序,此方法就可以正常工作,因为来自模型的错误将是独立的。

本文在此表明,如果模型的交叉验证较差,则将低估其实际水平。在所有其他情况下,交叉验证将比通常在时间序列上下文中使用的样本外评估更好,尤其是更好。


6

有趣的问题!

您描述的方法肯定会被使用标准ML方法的人们广泛使用,这些方法要求使用属性的固定长度特征向量来分析时间序列数据。

在您链接到的帖子中,Hyndman指出,重塑后的数据向量(样本)之间存在相关性。这可能是有问题的,因为k-CV(或其他将数据随机分为训练和测试集的评估方法)假定所有样本都是独立的。但是,我认为这种担心与单独处理属性的标准ML方法无关。

ñ=3

一种ÿ1个ÿ2ÿ3;ÿ4ÿ2ÿ3ÿ4;ÿ5Cÿ3ÿ4ÿ5;ÿ6

ÿ2


1
我同意您的观点,因为某些ML算法将属性完全分开,所以它们可能不受高度相关的样本问题的影响。但是这些算法对于时间序列工作也不是很好。对于时间序列有希望的ML算法必须能够注意到属性#1和属性#2实际上有点相似,否则它们将不利于预测(将时间偏移1)。这些算法也将遭受Hyndman提到的问题。
最大
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.