当前位置:   article > 正文

用 XGBoost 进行时间序列预测

xgboost用于时间序列

XGBoost是梯度分类和回归问题的有效实现。

它既快速又高效,即使在各种预测建模任务上也表现出色,即使不是最好的,也能在数据科学竞赛的获胜者(例如Kaggle的获奖者)中广受青睐。

XGBoost也可以用于时间序列预测,尽管它要求将时间序列数据集首先转换为有监督的学习问题。它还需要使用一种专门的技术来评估模型,称为前向验证,因为使用k倍交叉验证对模型进行评估会导致乐观的结果。

在本教程中,您将发现如何开发XGBoost模型进行时间序列预测。完成本教程后,您将知道:

1、XGBoost是用于分类和回归的梯度提升集成算法的实现。 

2、可以使用滑动窗口表示将时间序列数据集转换为监督学习。

3、如何使用XGBoost模型拟合,评估和进行预测,以进行时间序列预测。

教程概述

本教程分为三个部分:他们是:

1、XGBoost集成 

2、时间序列数据准备 

3、XGBoost用于时间序列预测

XGBoost集成

XGBoost是Extreme Gradient Boosting的缩写,是随机梯度提升机器学习算法的有效实现。随机梯度增强算法(也称为梯度增强机或树增强)是一种功能强大的机器学习技术,可在各种具有挑战性的机器学习问题上表现出色,甚至表现最佳。

它是决策树算法的集合,其中新树修复了那些已经属于模型的树的错误。将添加树,直到无法对模型进行进一步的改进为止。XGBoost提供了随机梯度提升算法的高效实现,并提供了一组模型超参数,这些参数旨在提供对模型训练过程的控制。

XGBoost设计用于表格数据集的分类和回归,尽管它可以用于时间序列预测。

首先,必须安装XGBoost库。您可以使用pip进行安装,如下所示:

sudo pip install xgboost

一旦安装,您可以通过运行以下代码来确认它已成功安装,并且您正在使用现代版本:

  1. # xgboost
  2. import xgboost
  3. print("xgboost", xgboost.__version__)

运行代码,您应该看到以下版本号或更高版本。

xgboost 1.0.1

尽管XGBoost库具有自己的Python API,但我们可以通过XGBRegressor包装器类将XGBoost模型与scikit-learn API结合使用。

可以实例化模型的实例,就像将其用于模型评估的任何其他scikit-learn类一样使用。例如:

  1. # define model
  2. model = XGBRegressor()

现在我们已经熟悉了XGBoost,下面让我们看一下如何为监督学习准备时间序列数据集。

时间序列数据准备

时间序列数据可以表述为监督学习。给定时间序列数据集的数字序列,我们可以将数据重组为看起来像监督学习的问题。我们可以通过使用以前的时间步长作为输入变量,并使用下一个时间步长作为输出变量来做到这一点。让我们通过一个例子来具体说明。假设我们有一个时间序列,如下所示:

  1. time, measure
  2. 1100
  3. 2110
  4. 3108
  5. 4115
  6. 5120

通过使用上一个时间步的值来预测下一个时间步的值,我们可以将此时间序列数据集重组为监督学习问题。通过这种方式重组时间序列数据集,数据将如下所示:

  1. X, y
  2. ?, 100
  3. 100110
  4. 110108
  5. 108115
  6. 115120
  7. 120, ?

请注意,时间列已删除,某些数据行不可用于训练模型,例如第一和最后一个。

这种表示称为滑动窗口,因为输入和预期输出的窗口会随着时间向前移动,从而为监督学习模型创建新的“样本”。

有关准备时间序列预测数据的滑动窗口方法的更多信息。

在给定所需的输入和输出序列长度的情况下,我们可以在Pandas中使用shift()函数自动创建时间序列问题的新框架。

这将是一个有用的工具,因为它将允许我们使用机器学习算法探索时间序列问题的不同框架,以查看可能导致性能更好的模型。

下面的函数将一个时间序列作为具有一个或多个列的NumPy数组时间序列,并将其转换为具有指定数量的输入和输出的监督学习问题。

  1. # transform a time series dataset into a supervised learning dataset
  2. def series_to_superv
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/527423
推荐阅读
相关标签
  

闽ICP备14008679号