跳转至

P3-5.4 输入窗口(window)应该从哪里切,长度又该如何对齐

Section ID: P3-5.4 Version: v2026.07.20

如果原始时间序列本身还不是学习输入,那么立刻就会留下一个更具体的问题。那真正的输入到底应该从哪里开始、到哪里结束? 长度各不相同的动作,又该怎样像同一种输入那样对待? 输入窗口(window)正是回答这些问题的数据建模决定。

输入窗口不应该从 选一个模型方便的长度 开始,而应该先从 在当前问题里,什么算作一条输入 定下来之后再切。

到上一节为止,讨论重点还是 单行特征表 里应该保留什么。从这一节开始,我们会继续判断:同一份源时间序列,是否也可以被读成一种保留时间顺序的输入结构。也就是说,这一节的核心是,先决定从哪里切、如何对齐,然后才会分岔成“把它折成汇总输入”还是“把顺序保留下来”。

为什么需要输入窗口

原始时间序列通常长度不同,起点和终点的含义也可能不同。有的动作持续 40 秒,有的动作持续 75 秒;有的传感器在前段变化剧烈,有的传感器只在后段才显出差异。在这种状态下,如果说 直接放进去,实际上就是把长度不同、语义区间也不同的记录,当作同一种整齐输入来对待。

如果原样保留会出现的问题 为什么难以直接比较
动作长度各不相同 很难说每条输入都包含同样分量的信息
起点和终点的意义不同 很难说相同位置的值处在同一阶段
关键变化只出现在某些区间 一次性整段送进去时,关键区间可能被冲淡

所以,输入窗口并不只是一个“切分技术”,而是在决定 哪一段范围应被看作一个比较单位

先要定下来的四件事

决定输入窗口时,至少应先把下面四件事收口。

先要定什么 换成问题就是
起点 一次动作的意义从哪里开始?
终点 同一条输入应当包含到哪里为止?
长度标准 长度不同的样本要按什么共同标准对齐?
对齐标准 是按绝对时间对齐,还是按进度对齐?

这四件事并不只在顺序模型里才需要。即使是在做汇总表时,里面其实已经藏着同样的判断。把动作分成前段、中段、后段,本身就意味着:输入窗口和对齐标准其实早就先被决定过了。

同一份源数据可以有多种窗口设计

假设我们手里有一次完整动作的时间序列。即使是同一份数据,窗口的切法也可能有很多种。

窗口设计方式 在什么情况下更自然 仍然会留下的限制
从开始到结束整段作为一条输入 当一次动作的完整形状最重要时 长度差异大时难以对齐
按进度重新分成相同数量的区间 当前/中/后段结构比较更重要时 一部分绝对时间差异会消失
只截取最近 N 秒 当动作尾段征兆更重要时 前段上下文可能会丢失
只保留某个基准事件前后区间 当特定触发点附近的模式最重要时 整个动作结构会看得少一些

所以,输入窗口并不是 唯一正确答案,而是一种会随着问题变化而变化的结构选择。

所谓“对齐长度”,是在保留什么、放弃什么

对齐长度,也不只是把数值个数对齐。长度一旦被对齐,某些信息会更明显地保留下来,另一些则会变得不那么直接。

长度对齐方式 主要保留下来的东西 不那么直接保留下来的东西
按进度切区间 动作阶段之间的相对结构 实际耗时差异
按固定间隔重采样 时间轴上的整体形状 细碎的瞬时变化
固定长度截取 同长度输入之间的直接比较 截取范围外的信息
压缩成汇总特征 整体趋势与可比较数值 细节时间序列形状

所以,长度对齐方式不能只按模型方便来定。例如,如果实际时间差本身很重要,那么只保留进度视角时,就可能丢掉关键的信息。反过来,如果问题的重点是 动作是否在后段崩掉,那么即使总时长不同,按进度切区间也可能更合适。

用一个场景重新看

假设动作 A 持续 40 秒,动作 B 持续 80 秒。两者都表现出“前段稳定、后段下降”的结构,但如果按绝对时间去看,下降出现的位置会显得不一样。

动作 按绝对时间看到的样子 按进度重新读出来的样子
A 30 秒之后急剧下降 在最后 25% 区间里下降
B 65 秒之后急剧下降 在最后 25% 区间里下降

如果问题是 它在第几秒发生急跌?,那按绝对时间对齐更重要。反过来,如果问题是 动作最后阶段是否出现崩塌结构?,按进度对齐就更自然。也就是说,窗口和对齐标准不是由数据自己决定的,而是由问题决定的。

一旦输入窗口定下来,同样的判断就可能继续走向两个方向。

输入窗口决定之后的方向 保留下来的东西
做成汇总特征 单行汇总输入
保留区段顺序 保留时间顺序的输入组合

例如,如果把一次动作重新对齐成 10 个进度区间,接下来就会出现两个选择。

  1. 可以把 10 个区间平均值和差值做成汇总特征,折叠成一条输入。
  2. 也可以保留这 10 个区间本身的顺序,作为保留时间顺序的候选输入结构。

也就是说,决定输入窗口,一方面解释了汇总特征是从哪里来的,另一方面也解释了“保留顺序的输入结构”是按照什么标准做出来的。只有窗口先被定下来,后面的分岔到底是 汇总输入 还是 保留顺序的输入,才能说得一致。

下面这个小图,会更清楚地说明为什么同一个窗口决定,会产生两种候选输入结构。

flowchart TD
    A[窗口化事件序列]
    A --> B[压缩成汇总特征]
    A --> C[保留有序片段]
    B --> D[单行特征输入]
    C --> E[类似序列的输入候选]

这里也需要把边界分清。这一节回答的是 为什么把输入窗口切成这样,而不是解释在这个输入之上,哪种学习结构更合适。

问题 这一节回答吗 这一节暂时不展开吗
一条输入从哪里开始、到哪里结束?
长度不同的样本按什么标准对齐?
这种输入结构之后要怎样用于学习?
padding、masking、架构细节该怎么实现?

输入窗口(window)不是因为模型要求才出现的格式,而是“什么应被看作一条可比较输入”的数据建模结果。这样整理之后,即使后面继续读取更长的输入结构,也会先回头看 为什么输入窗口被切成这样。同时也更容易看出来:汇总特征本身,也已经是建立在某个窗口和对齐标准之上的结果。

来源与参考资料

  • Google for Developers, Machine Learning Glossary 中的 labeled example。因为 example 是特征和标签一起定义的单位,所以它支持这一节的核心:在把原始时间序列叫做输入之前,应该先固定一条输入的起点、终点和长度标准。 https://developers.google.com/machine-learning/glossary / 确认日期: 2026-07-20
  • W3C, PROV-Overview. provenance framework 说明对象识别、派生关系和可复现性应得到支持,因此它强化了一个更高层的框架:输入窗口和对齐标准背后的规则,也应当被可复现地记录下来。 https://www.w3.org/TR/prov-overview/ / 确认日期: 2026-07-20
  • U.S. Bureau of Labor Statistics, Base period. 它提供了“用于比较的参考时段”这一一般概念,因此支持这一节的判断:究竟由绝对时间还是由进度来充当比较标准,应该先由问题来决定。 https://www.bls.gov/bls/glossary.htm / 确认日期: 2026-07-20