将时间序列数据拆分为训练/测试/验证集


12

将时间序列数据拆分为训练/测试/验证集的最佳方法是什么,其中验证集将用于超参数调整?

我们拥有3年的每日销售数据,我们的计划是将2015-2016年用作培训数据,然后从2017年数据中随机抽取10周作为验证集,并从2017年数据中随机抽取10周作为测试集。然后,我们将在测试和验证集中的每一天向前走。

Answers:


8

您应基于时间进行分割,以避免前瞻性偏差。按时间顺序训练/验证/测试。

测试集应该是数据的最新部分。您需要模拟生产环境中的情况,在这种情况下,训练模型后,您需要评估在模型创建后产生的数据。因此,用于验证和培训的随机抽样不是一个好主意。


5

我认为,利用时间序列数据进行培训/验证/测试/预测的最完整方法是:

在此处输入图片说明

图片是自我解释吗?如果没有,请发表评论,我将添加更多文本...


3

您可以创建更多这样的集合,而不是仅创建一组训练/验证集合。

例如,第一个训练集可能是6个月的数据(2015年第一学期),然后是接下来的三个月(2015年7月至8月)。第二训练集将是第一训练和验证集的组合。然后,将在接下来的三个月(2015年9月-10月)中进行验证。等等。

这是K-fold交叉验证的一种变体,其中训练集是先前训练和验证集的组合。

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.