step1:使用滑动窗口重构数据集
给定时间序列数据集的数字序列,我们可以将数据重构为看起来像监督学习问题。
我们可以通过使用以前的时间步作为输入变量并使用下一个时间步作为输出变量来做到这一点。
通过观察重构后的数据集与原本的时间序列,我们可以总结出如下几点:
使用先前的时间步来预测下一个时间步的方法称为滑动窗口法。在统计和时间序列分析中,这称为滞后或滞后方法。
下面将着重关注一下几点:
step2:多元时间序列如何重构?
- 单变量时间序列:这些数据集每次仅观察到一个变量,例如每小时的温度。上一节中的示例是一个单变量时间序列数据集。
- 多变量时间序列:这些是每次观察到两个或多个变量的数据集。
这里给出一个二元时间序列
每个时间步有两个观察值。我们还假设我们只关心预测measure2。
我们可以将这个时间序列数据集重新构建为一个窗口宽度为 1 的监督学习问题。
这意味着我们将使用 measure1 和 measure2 的前一个时间步长值。我们还将获得measure1的下一个时间步长值。然后我们将预测measure2的下一个时间步长值。
这将为我们提供 3 个输入特征和一个输出值来预测每种训练模式。
我们可以看到,就像上面的单变量时间序列示例一样,我们可能需要删除第一行和最后一行来训练我们的监督学习模型。
这个例子提出了一个问题,如果我们想预测下一个时间步的measure1和measure2怎么办?
使用上面相同的时间序列数据集,我们可以将其表述为一个监督学习问题,我们预测measure1和measure2的窗口宽度相同,如下所示。
step3:单元时间序列预测多个时间步长如何重构?
我们可以看到,第一行和最后两行不能用于训练监督模型。
这也是一个很好的例子来展示输入变量的负担。具体来说,监督模型只有X1可用于预测y1和y2。
需要对您的问题进行仔细的思考和实验,以找到能够产生可接受的模型性能的窗口宽度。
翻译自
https://machinelearningmastery.com/time-series-forecasting-supervised-learning/