在机器学习算法中什么是“刷新率”?

时间:2020-07-16 20:13:40

标签: machine-learning time-series

我最近一直在使用名为Monument(Monument.Ai)的AI / ML平台来计划时间序列。该平台包含各种ML算法和算法中的参数以调整投影。当使用Light GBM和LSTM之类的算法时,有一个称为“刷新率”的参数。刷新率是一个整数值的参数。在平台中,刷新率描述为

窗口的构建频率。每个窗口都用于验证此数量的数据点

在此情况下,在主要培训期间内,窗口是“子窗口”。我的问题是,刷新率的基本用途是什么?将其从1、10或50更改会如何影响预测?

1 个答案:

答案 0 :(得分:1)

纪念碑工作人员在这里。我认为我们应该在某个地方建立一个常见问题解答平台,因为这些问题可能会使没有上下文的其他人感到困惑:-)

回到您的问题,refresh rate仅影响时间序列分析的“验证”部分。它被解释为频率数,因此1 =高刷新率,50 =低刷新率。刷新率越高,验证效果越好,但刷新率却低。因此,您通常选择一个中等的(10个是一个不错的选择)。

=======下面有更多技术说明。 ======

纪念碑上,您选择一种算法来对时间序列数据进行将来的“预测”,然后查看“验证”结果以了解该算法对您的问题的适应程度。预测任务由两个“窗口”参数指定:lookbacklookahead。选择lookback=10lookahead=5意味着您试图“通过使用最后10个数据点来预测5个数据点到将来”。

验证需要反映出完全相同的预测任务的结果。特别是,对于每个历史数据点,您想训练一个过去有10个点的模型来预测未来的5个点。这是refresh rate=1(即为每个数据点刷新)的时间。对于每个历史数据点,您将创建一个长度为15(10 + 5)的“子窗口”。那是很多要训练的新模型,而且可能非常慢。

如果不考虑时间和内存限制,那么refresh rate=1是一个不错的选择,但通常我们希望提高效率。在这里,我们利用“本地可重用性”假设,即为子窗口训练的模型对于相邻子窗口很有用。然后,我们可以在一个子窗口上训练模型,并将其用于10个历史点,即refresh rate=10。这样,所需的计算就少得多,并且验证在一定程度上仍然是准确的。请注意,您可能不希望设置refresh rate=200,因为并不是很令人信服我的模型对于200点之外的数据仍然有用。如您所见,速度和准确性之间需要权衡。