时间窗口(Time Windows)

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

1. 时间窗口

常用的时间窗口有:

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

翻滚时间窗口的窗口固定,若时间窗口设定为1分钟,则该时间窗口只计算当前1分钟内的数据,而不会管前1分钟或后1分钟的数据。
在这里插入图片描述

滑动时间窗口

滑动时间窗口的窗口是滑动的。首先需要定义窗口的大小,然后还要定义在窗口中滑动的大小,但理论上滑动的大小不超过窗口的大小。
在这里插入图片描述

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

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

  1. 设定时间窗口,形成新的特征矩阵 X \mathbf{X} X+时序 Y \mathbf{Y} Y

设定时间窗口 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 的行,得到最终的数据集

通过上文我们可以知道,带 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 的真实值。


若有不足,请批评指正!

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Windows 批处理中,如果使用 `%TIME%` 环境变量获取时间时出现乱码,可能是由于字符编码不匹配导致的。你可以尝试以下方法来解决乱码问题: 1. 使用 `chcp` 命令设置字符编码:在批处理脚本的开头添加以下命令,将字符编码设置为合适的编码(如 UTF-8): ```batch @echo off chcp 65001 > nul ``` 上述命令中的 `chcp 65001` 将字符编码设置为 UTF-8,`> nul` 用于隐藏命令的输出。 2. 修改命令行窗口的默认编码:右击命令行窗口的标题栏,选择“属性”,然后在“选项”选项卡中将“显示选项”中的“字体”更改为支持所需字符集的字体(如 Consolas)。重新打开命令行窗口并运行脚本,看看是否解决了乱码问题。 3. 使用其他方式获取时间:如果以上方法无效,你可以尝试使用其他方式获取时间,例如使用 `wmic` 命令: ```batch @echo off for /f "skip=1 delims=" %%a in ('wmic OS get LocalDateTime') do ( set "datetime=%%a" goto :next ) :next set "time=!datetime:~8,2!:!datetime:~10,2!:!datetime:~12,2!" echo 当前时间:%time% ``` 上述示例使用 `wmic` 命令获取本地日期时间,并将其存储在 `datetime` 变量中。然后使用字符串切片操作提取时间部分,并将其输出到屏幕上。 如果以上方法仍然无法解决乱码问题,请确保你的操作系统、命令行窗口和文本编辑器的字符编码设置一致,并支持所需的字符集。 希望这些方法能帮助你解决乱码问题!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值