为什么回测很重要以及如何正确进行回测

回测重要性及正确进行回测

我们如何知道我们的预测模型是否准确可靠,并评估其在未知数据上的性能?这就是回测的作用。

Lorenzo Cafaro在Pixabay上的图片
  • 什么是回测?
  • Python示例:航空公司乘客
  • 结论

什么是回测?

为了评估预测模型的性能,我们使用一种称为回测(也称为时间序列交叉验证)的过程。回测本质上是一种测试模型在过去使用时的表现的方法。

它是如何工作的?

要对时间序列预测模型进行回测,我们首先将数据分成两部分:训练集和验证集(有时也称为测试集,但我们将在下一节中澄清两者的区别)。训练集用于训练模型,而测试集用于评估模型在未知数据上的表现如何。一旦模型训练完成,您可以使用它对测试集进行预测。您可以将这些预测与实际值进行比较,以评估模型的性能。

我们如何衡量模型的性能?

有几种指标可用于评估时间序列预测模型的性能,例如平均绝对误差(MAE)或均方根误差(RMSE)。这些指标衡量预测值与实际值之间的接近程度。

该过程通常会重复多次,以便我们能够:

  • 获得模型性能的良好估计
  • 可视化性能随时间的演变

下面我们展示了回测过程的图形表示,使用了3个分割:

使用扩展窗口进行回测。作者提供的图片。

在上图中,我们只显示了3个不重叠的验证期间。然而,没有什么阻止我们使用更多部分重叠的窗口,潜在地每个时间步使用一个。