当数据中有时间结构时如何运行随机森林

机器算法验证 时间序列 随机森林
2022-04-14 02:34:58

我习惯于没有时间组件的数据集。在阅读时间序列数据时,我了解到在将 ARIMA 模型应用于单变量时间序列之前将数据转换为固定数据的重要性。但是,如果我有一个多元数据集(意思是:许多特征可能解释一个响应变量)并且我想使用高级 ML 技术,例如回归随机森林,该怎么办?在应用随机森林之前,我应该先将数据转换为固定时间序列吗?

谢谢!

以下具体问题的更多详细信息:

- 对于每个时间点(t=0, 1,....T),我有一个响应变量 y 和特征 x1,x2....xN 的值 -我需要基于 y 预测未来值关于知道 x1, x2,...xN -注意:我不能将时间用作预测 y 的特征之一 - 顺便说一下:如果我忽略数据中的任何时间结构,并在随机选择的训练中运行随机森林数据集,并评估剩余测试集的错误,我得到了一个很好的结果。注意:由于我忽略了时间顺序,我的测试集观察不一定发生在我的训练集观察之后。问题:1-如果我将数据转换为固定数据,然后在转换后的数据上运行随机森林,我可能会得到更好的结果吗?2-如果是这样,我是否需要对 y 和 x 变量应用相同的转换?例如 如果要删除 yi 差异 y 中的时间结构并删除 y 中的季节性分量,我是否还需要区分所有 x 并在运行随机森林之前删除 x 中的任何季节性分量?3-一旦我使系列静止,是否可以在不考虑时间顺序的情况下随机选择训练和测试数据集(即在训练集观察之后没有发生测试集观察)?e 特点。

1个回答

要应用随机森林,您不需要检查任何假设。以 y=t, 和 x=t-1, t-2, t-3 为例(您认为所有滞后都会有所帮助)。
但是不要应用 RF 等,而是使用时间序列技术,如 R 中的混合模型,这将为您提供 ARIMA、ETS、NN、TBATS、THETAM、STLM 算法的集合。

另一种处理多层次季节性的算法(Facebook 的 Prophet 模型)-

https://machinelearningstories.blogspot.in/2017/05/facebooks-phophet-model-for-forecasting.html