下面的链接中的示例具有根据时间序列数据进行的训练和验证的设置。没有提及测试集。为什么不存在一个?对于实时生成时间序列数据的数据集,要有一个?
我以1s的间隔收集了3小时的数据。我想在接下来的30分钟内进行预测。训练/验证/测试拆分应该是什么样的?可以跳过测试集吗?
https://www.tensorflow.org/tutorials/structured_data/time_series
答案 0 :(得分:1)
从不建议跳过测试集。在TensorFlow示例中,目的是演示如何使用时间序列进行游戏。您可以像进行验证一样在“测试集”上进行测试,但要严格限制测试集是完全未知的:在这里,我们来回答第二个问题。
关于测试集,就像您所说的那样,在您的用例中,测试集是即时生成的数据。
当然,您可以将您的初始数据集拆分为train / val / test。但是第二个测试集显然与您的模型“实时部署”相吻合,那就是根据“动态生成的数据集”进行预测=>这意味着您可以将数据实时地馈送到模型中。
train-val-test拆分取决于您要如何创建模型:要使用多少时间步(预测下一步等时要考虑多少秒等,您要尝试多少变量来预测您要预测的时间步长(在您的情况下,30分钟将是30 * 60 = 1800,因为您的数据集信号频率以秒为单位)。这是一个非常广泛的问题,涉及更多有关如何创建时间序列分析数据集以进行多步预测。