6.1.3 时间序列数据集划分方法

6.1.3 时间序列数据集划分方法

如何比较一个模型在预测方面是更好还是更差?在常见的模型预测评估中,首先指定一组训练数据;然后在一组单独的测试数据上评估预测;最后将我们的预测与测试数据进行比较,并计算评估指标。但在时间序列中,如何划分训练数据集、验证数据集和测试集是一个较麻烦的问题,通常使用留出法来解决。

留出法:正确执行交叉验证非常重要,这样模型只能看到某个时间点的训练数据,而不能通过展望未来“作弊”;这个错误被称为“数据泄露”。因为我们可能只有一个单一的时间序列可以使用,并且我们的预测是暂时的,所以不能简单地将一些数据分成训练集,另一部分分成验证集和测试集。取而代之的是,我们使用向前移动分割,其中验证集是从训练集向前移动一定数量的时间步长而得的。如果在从时间t0到ti的时间序列上训练一个模型,那么通过ti+k对一些选定的k进行时间ti+1的预测。在预测上计算一个误差,然后扩大训练集并迭代计算另一个误差,以此类推,在时间上不断前进,直到用完可用数据。总的来说,这个想法被称为“滚动窗口过程”,允许我们进行多重折叠验证。(https://www.daowen.com)

可以使用几种不同的评估指标来计算如上所述形成的验证集和测试集的误差。