用于时间序列预测的随机森林回归

机器算法验证 时间序列 预测 交叉验证 随机森林 自回归的
2022-03-21 09:38:35

我正在尝试利用 RF 回归来预测造纸厂的性能。

我有每分钟的输入数据(进入木浆的速度和数量等)以及机器性能(生产的纸张、机器消耗的功率),我希望在 10 分钟内做出预测在性能变量上领先。

我有 12 个月的数据,因此将其分为 11 个月的训练集和最后一个月的测试。

到目前为止,我已经为每个性能变量创建了 10 个滞后值 1-10 分钟的新特征,并使用这些以及输入进行预测。测试集上的表现非常好(系统非常可预测),但我担心我的方法中遗漏了一些东西。

例如,在本文中,作者陈述了他们测试随机森林模型预测能力的方法:

模拟通过迭代添加新一周的数据、根据更新的数据训练新模型并预测下一周的爆发次数来进行

这与使用时间序列中的“后期”数据作为测试有何不同?我是否应该使用这种方法以及测试数据集来验证我的 RF 回归模型?此外,这种随机森林回归的“自回归”方法对时间序列有效吗?如果我对未来 10 分钟的预测感兴趣,我是否甚至需要创建这么多滞后变量?

1个回答

这与使用时间序列中的“后期”数据作为测试有何不同?

您引用的方法称为“滚动原点”预测:我们预测的原点是“前滚”,并且使用新可用信息更新训练数据。更简单的方法是“单一来源预测”,我们选择单一来源。

滚动原点预测的优势在于它模拟了随着时间的推移的预测系统。在单一来源预测中,我们可能会偶然选择一个我们的系统运行良好(或非常糟糕)的来源,这可能会让我们对系统的性能产生错误的认识。

滚动原点预测的一个缺点是其较高的数据要求。如果我们想用至少 50 个历史观察预测出 10 个步骤,那么我们可以用总共 60 个数据点来做这个单源。但是如果我们想做 10 个重叠的滚动原点,那么我们需要 70 个数据点。

另一个缺点当然是其更高的复杂性。

不用说,您也不应该在滚动原点预测中使用“后期”数据,而只能使用您在每次迭代中使用的原点之前的数据。

我是否应该使用这种方法以及测试数据集来验证我的 RF 回归模型?

如果你有足够的数据,滚动原点评估总是比单一原点评估更能激发我的信心,因为它有望平均原点的影响。

此外,这种随机森林回归的“自回归”方法对时间序列有效吗?如果我对未来 10 分钟的预测感兴趣,我是否甚至需要创建这么多滞后变量?

是的,滚动与单一来源预测对任何预测练习都有效。它不取决于您是使用随机森林还是 ARIMA 或其他任何东西。

您是否需要滞后变量是我们无法为您提供建议的。最好与主题专家交谈,他们也可能会提出其他意见。只需尝试使用滞后输入与没有输入的射频即可。并且还可以与 ARIMA 或 ETS 等标准基准测试甚至更简单的方法进行比较,这些方法可能难以击败