当前位置: 首页 > news >正文

重温:时间窗口与滑动步长的概念


核心概念

  1. 窗口大小(Window Size)

    • 定义窗口包含的时间步数(如过去7天、24小时等)。
    • 例如,窗口大小为5时,每个窗口包含连续的5个时间点数据。
  2. 滑动步长(Step/Stride)

    • 窗口每次向前移动的时间步数。步长为1表示窗口每次移动一个时间单位;步长大于1时,窗口跳跃式移动。
  3. 窗口方向

    • 前向窗口:从历史到当前时间(用于预测未来)。
    • 后向窗口:从当前时间到历史(用于分析过去模式)。

典型应用场景

  1. 特征工程

    • 在窗口内计算统计量(均值、标准差、最大值、最小值等),作为模型的输入特征。
    • 示例:用过去30天的平均销售额预测未来一周的销售额。
  2. 时间序列预测

    • 将窗口内的历史数据作为输入(X),窗口后的未来数据作为输出(Y),构建监督学习数据集。
    • 例如:用过去10天的温度预测第11天的温度。
  3. 异常检测

    • 通过窗口内的数据分布(如移动平均、标准差)识别突变点或异常值。
  4. 平滑处理

    • 使用移动平均(Moving Average)或指数平滑(Exponential Smoothing)消除噪声。

实现示例(Python)

假设有一个时间序列数据 [1, 2, 3, 4, 5, 6, 7, 8],窗口大小为3,步长为1:

def sliding_window(sequence, window_size, step=1):
    windows = []
    for i in range(0, len(sequence) - window_size + 1, step):
        windows.append(sequence[i:i+window_size])
    return windows

data = [1, 2, 3, 4, 5, 6, 7, 8]
windows = sliding_window(data, window_size=3, step=1)

# 输出结果:
# [[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8]]

工具库支持

  • PandasDataFrame.rolling() 实现滚动计算。

    import pandas as pd
    df = pd.DataFrame({'value': [1, 2, 3, 4, 5]})
    df['rolling_mean'] = df['value'].rolling(window=3).mean()
    
  • NumPy:通过 np.lib.stride_tricks.sliding_window_view 快速生成滑动窗口视图(需NumPy 1.20+)。


注意事项

  1. 窗口大小选择

    • 太小:可能捕捉不到长期趋势,对噪声敏感。
    • 太大:可能导致滞后,丢失细节信息。
  2. 数据泄漏

    • 在预测任务中,需确保窗口内不包含未来信息(验证时需严格划分训练集和测试集)。
  3. 边界处理

    • 初始窗口可能不足长度时,可选择填充(padding)或忽略。

相关文章:

  • 【算法】动态规划:子序列问题、回文子串问题、两个数组的dp
  • C++ 变量类型
  • Qt 信号和槽
  • 原型模式为什么可以解决构建复杂对象的资源消耗问题
  • 天洑参展2025全球产业科技创新与投资促进大会
  • dify + deepseek /qwen + win +xinference 等完成知识库建设
  • STM32 IIC通信
  • 从春招“AI热潮”看科技变革中的就业新趋势
  • 学习不同电脑cpu分类及选购指南
  • 【Linux-驱动开发-pinctrl子系统】
  • AI大模型从0到1记录学习 day08
  • Django:构建高性能Web应用
  • 国内GitHub镜像源全解析:加速访问与替代方案指南
  • Spring @EnableAutoConfiguration 注解执行过程详解
  • 卷积神经网络在图像分割中的应用:原理、方法与进展介绍
  • 如何使用 GPT-4o API 实现视觉、文本、图像等功能 附赠gpt升级和4o额度购买
  • Matlab设置表table的表头
  • 为什么使用Flask + uWSGI + Nginx 部署服务?
  • 硬件基础--14_电功率
  • Transformers中的BertConfig、BertModel详解
  • 体坛联播|C罗儿子完成国家队首秀,德约结束与穆雷合作
  • 成都警方通报:8岁男孩落水父母下水施救,父亲遇难
  • 广州地铁十一号线赤沙车辆段工程高坠事故调查报告公布:1人重伤且漏报
  • 工人日报评规范隐藏式车门把手:科技美学须将安全置顶
  • 菲律宾举行中期选举
  • 铁肩担道义,历史鉴未来——中共中央政治局委员、外交部长王毅谈习近平主席对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典