时间窗口(Time Windows)

本贴介绍了时间窗口的相关概念,以及通过举例详细介绍时间窗口的工作原理。

1. 时间窗口

常用的时间窗口有:

  • 翻滚时间窗口(tumbling time window)
  • 滑动时间窗口(sliding time window)
翻滚时间窗口

翻滚时间窗口的窗口固定,若时间窗口设定为1分钟,则该时间窗口只计算当前1分钟内的数据,而不会管前1分钟或后1分钟的数据。
时间窗口(Time Windows)_第1张图片

滑动时间窗口

滑动时间窗口的窗口是滑动的。首先需要定义窗口的大小,然后还要定义在窗口中滑动的大小,但理论上滑动的大小不超过窗口的大小。
时间窗口(Time Windows)_第2张图片

2. 滑动时间窗口

假设有某时间序列 Y = ( y 1 , y 2 , … , y m ) \mathbf{Y}= (y_1, y_2,\dots, y_m) Y=(y1,y2,,ym),有影响因素组成的特征矩阵 X = [ x 1 , x 2 , … , x m ] T \mathbf{X} = [x_1, x_2, \dots, x_m]^T X=[x1,x2,,xm]T
假设 m = 7 m=7 m=7,即有7天的数据。具体的滑动时间窗口工作原理分析如下:

  1. 时序 Y \mathbf{Y} Y
  1. 特征矩阵 X \mathbf{X} X + 时序 Y \mathbf{Y} Y
时间窗口(Time Windows)_第3张图片

其中 x 1 n x_{1n} x1n 代表第一天的第n个影响因素, x 7 n x_{7n} x7n 代表第七天的第n个影响因素。一行代表某一天的所有影响因素与当天的时序数据。

  1. 设定时间窗口,形成新的特征矩阵 X \mathbf{X} X+时序 Y \mathbf{Y} Y
时间窗口(Time Windows)_第4张图片

设定时间窗口 i = 4 i=4 i=4,即用前4天的时序数据和影响因素去预测当天的数据。那么通过上图可以观察到当 m = 4 m=4 m=4 时,也就是在第四天的时候,只有前三天的时序数据可用于时序预测,而我们的时间窗口设置为4,即需要前4天的数据去预测当天的数据,这与我们的条件不符。而当 m = 5 m=5 m=5,也就是在第五天的时候,刚好有前四天的数据可用于预测。
那么我们可以得出一个结论,当设定时间窗口为 i i i 时,从第 i + 1 i+1 i+1 天才可以进行有效预测。

  1. 删除带 n a n nan nan 的行,得到最终的数据集
时间窗口(Time Windows)_第5张图片

通过上文我们可以知道,带 n a n nan nan 的行代表着数据缺失,那么我们不能使用带 n a n nan nan 的行进行预测,所以在进行数据集转化的时候,删除带 n a n nan nan 的行,得到最终的数据集,这才是我们需要的数据集。
对于这个例子而言,若要预测第六天的 y 6 ^ \hat{y_6} y6^ ,最终用于预测的数据是第六天的各影响因素与前 4 天 y y y 的真实值。


若有不足,请批评指正!

你可能感兴趣的:(回归,机器学习)