Hyndman 对正确时间序列 CV 的精彩解释位于以下链接的页面底部:http ://robjhyndman.com/hyndsight/crossvalidation/
以下链接中的留一法插图:http: //i.imgur.com/qrQI4LY.png
在'leave one out' 插图中,如果插图中的数据集是时间序列数据,并且从左到右从过去到现在进行排序,这与 Hyndman 对时间序列 CV 的解释不一样吗?如果不是,那怎么办?
Hyndman 对正确时间序列 CV 的精彩解释位于以下链接的页面底部:http ://robjhyndman.com/hyndsight/crossvalidation/
以下链接中的留一法插图:http: //i.imgur.com/qrQI4LY.png
在'leave one out' 插图中,如果插图中的数据集是时间序列数据,并且从左到右从过去到现在进行排序,这与 Hyndman 对时间序列 CV 的解释不一样吗?如果不是,那怎么办?
简短的回答是,如果您对时间序列使用留一法 CV,您将根据未来的数据拟合模型参数。最简单的方法就是用相同的数据写出两个过程的样子。这使得差异非常明显。按照 Hyndman 的符号,让为时间序列,为构建模型所需的最小点数。然后 Hyndman 描述的过程如下
For t = m to T-1:
Fit model with y(1), ... y(t)
e(t+1) = y(t+1) - y*(t+1)
Calculate MSE of e(m+1) to e(T)
对于留一式简历,程序看起来像
For t = 1 to T:
Fit model with y(1), ..., y(t-1), y(t+1), ..., y(T)
e(t) = y(t) - y*(t)
Calculate MSE of e(1) to e(T)
请注意,在时间序列版本中,我们实际上是如何使用不同数量的点来拟合每个模型,即。将此与始终使用点的其他版本进行比较。
这两种解释都对,但它们适用于不同的情况。像往常一样,这一切都归结为如何获得数据的统计独立拆分的问题。
您链接的图像和您的描述适用于您重复测量时间序列的情况。
在这种情况下,您可以从数据中省略完整的时间序列。想象一下,您想根据另一个时间序列的新完整测量来预测某些属性,例如脑电图读数的分类。您可以假设不同患者的 EEG 读数在统计上是独立的,并且仅使用完整读数的情况是明智的。在这种情况下,拆分数据的自然方式将是由患者进行。
Hyndman 讨论了一种情况,即您基本上只有一个(正在进行的)时间序列测量值,并且您希望根据过去的测量值预测时间序列的未来值。因此,您按时间划分,未来意味着以下时间点都不知道。
在 EEG 示例中,这对应于尝试预测给定患者的 EEG 的下一秒/分钟将是什么。
当您想要测量模型的有效时间时,这种类型的拆分也很重要,请参见Esbensen, KH 和 Geladi, P.:正确验证的原则:使用和滥用重新采样进行验证,J Chemom,2010, 24, 168-187。
另一种您需要按时间和案例划分的情况是:假设您想对股票的未来价值进行预测。同样,您需要按案例(库存)进行拆分。但是,当然,被测试股票在给定时间的价值也可能(很可能)与当时其他股票的价值相关。因此,您还需要从模型训练中排除所有股票的所有“未来”数据。