传统的时间序列预测模型,如 ARIMA、SARIMA 和 VAR ,都是基于回归过程,因为这些模型需要处理连续变量。随机森林也是常用的机器学习模型之一,在分类和回归任务中具有非常好的性能。随机森林回归模型也可用于时间序列建模和预测,以获得更好的结果。在本文中,我们将讨论如何使用随机森林回归器进行时间序列建模和预测。
关于随机森林回归器:
随机森林模型是许多决策树的集合,其中决策树被称为弱学习器。它可以应用于分类和回归问题。使用随机森林的回归过程可以通过以下步骤完成:
数据拆分:该过程通过特征拆分,每一行负责创建决策树。
决策:每棵树都根据数据做出自己的决策。
决策聚合:在这一步中,树的平均值预测成为最终结果。
这种来自树的平均决策使得随机森林回归比任何其他算法都强。让我们看看如何在时间序列建模中使用随机森林模型。
流程 :
在开始前,我们可以使用从此处获得的每日女性出生总数数据集。
由于我们使用的模块旨在处理监督学习数据集,因此我们需要将时间序列转换为监督学习数据集,转换后,再对单变量数据进行验证。在将数据拟合到模型中后,我们根据平均绝对误差交叉检查准确性。下面从导入库开始。
1.导入库-
在正常中只需要使用 pandas、NumPy、matplotlib 和 sklearn 库。
从 sklearn 集成导入随机森林回归器
2.数据转换-
这部分实现了一个函数,可以将时间序列转换为监督学习数据。
在上面的函数中,我定义了输入序列和预测序列并将它们连接起来,并且删除了所有的 NaN 值。
3.数据拆分-
本节定义了一个可以拆分数据集的函数。
4.模型拟合-
在本节中,我们将定义一个函数,它可以帮助通过随机森林回归模型拟合转换后的数据。
这个函数将列表转换为数组,然后拆分数据并拟合模型。训练模型后,它将帮助我们进行下一步预测。
5.单变量数据的验证-
本节将利用上述所有函数,并将测试数据与模型拟合,以预测和检查模型的准确性。
6.加载数据中-
加载数据并使用上述函数将数据转换为监督学习数据。
7.模型评估-
根据均方误差评估模型。
输出:
在上面的输出中,我们可以看到 MAE 为 5.999。这是一个很好的迹象。下面我们用测试数据绘制这些预测。
输出:
在这里我们可以看到拟合随机森林回归模型的预测值。为了获得更好的性能,我们可以改变随机森林回归模型的参数。
领取专属 10元无门槛券
私享最新 技术干货