时间序列预测:将差异预测转换回差异水平之前

机器算法验证 r 时间序列 机器学习 预测
2022-03-04 00:35:55

我正在使用 R,我需要一种更简单的方法来根据使用差异数据的预测来生成原始级别的数据预测。

更详细地说,情况是这样的:我正在使用几种不同的模型(包括 SVM 和其他一些模型)来预测时间序列。我的模型基于差异数据,因为原始数据不是固定的。现在我有每个模型的预测值向量,但所有预测都是针对差异数据的。如何在差异之前获得原始数据的预测?

换句话说,如果我有收益预测,如何在 R 中自动得到同期股票价格的预测?我知道硬编码的方法,但我正在寻找一种更简单的方法。在测试具有不同预测范围的滚动窗口之类的情况下,我相信事情可能会更棘手。更具体地说,如果窗口以 7 天(天)滚动,那么直到很容易通过以下 Glen 的回答来计算。然而,一旦我们滚动窗口后,我们将站在时间,此时我们同时拥有我想计算y^t+1y^t+7t+7yt+7y^t+7y^t+8yt+7+z^t+8y^t+9,依此类推。因此,对于,需要使用值,这可以一直持续到数据集的末尾。我可以使用任何 R 函数来方便地进行此计算吗?yt+7+z^t+8+z^t+9y^t+8y^t+14yt+7

1个回答

点预测的常用方法是将差异预测累积添加到最后的累积观察中。如果是差分数据,是原始数据,则:zy

y^t+1=yt+z^t+1

y^t+2=y^t+1+z^t+2=yt+z^t+1+z^t+2

等等。值的累积和很容易,加上也很容易。在 R 中做什么的细节将取决于特定的模型(例如,如果您将 ARMA 安装到差异中,只需指定对应的 ARIMA 到原始模型和那个)。z^ytpredict

关于第二个问题,您有更多数据,因此无论如何您都必须计算新的参数估计值。由于您有新的参数估计值,您只需以与以前相同的方式重新计算预测值,但需要额外增加 7 个观察值。在某些情况下,可以根据旧估计和数据(例如状态空间模型)计算参数更新,但是对于许多模型,您只需像以前的预测一样重新计算所有内容。