首页 > 解决方案 > 时间序列预测的测试集

问题描述

下面链接中的示例具有来自时间序列数据的训练和验证集。没有提到测试集。为什么没有一个,对于一个实时动态生成时间序列数据的数据集来说,这意味着什么?

我以 1 秒的间隔收集了 3 小时的数据。我想在它可用之前预测下一个 30 分钟。训练/验证/测试拆分应该是什么样的?可以跳过测试集吗?

https://www.tensorflow.org/tutorials/structured_data/time_series

标签: tensorflowneural-networktime-serieslstm

解决方案


永远建议跳过测试集。在 TensorFlow 示例中,目的是演示如何使用时间序列;您可以像验证一样在“测试集”上进行测试,但测试集完全未知:这里我们来回答您的第二个问题。

关于测试集,在您的用例中,就像您说的那样,测试集是动态生成的数据。

当然,您可以将初始数据集拆分为训练/验证/测试。但是,显然与您的模型“实时部署”一致的第二个测试集将是预测“on-the-fly-generated-dataset”=> 这意味着您可以将数据实时提供给您的模型。

train-val-test 拆分取决于您要如何创建模型:您要使用多少时间步长(预测下一步时要考虑多少秒等,您要预测多少变量,您想要预测多少时间步长(在您的情况下,30 分钟将是 30*60 = 1800,因为您的数据集信号频率以秒为单位)。这是一个非常广泛的问题,更多地涉及如何创建时间数据集多步预测的系列分析。


推荐阅读