← 返回题目列表

时间序列特征工程要注意什么?

高频 困难 第 15 / 25 题 更新于 2026/09/19
特征工程数据预处理特征选择数据泄露

简化版

时间序列特征包括滞后值、滚动统计、日历周期、差分和趋势;所有特征必须只由预测时点之前的数据构造,并按预测 horizon 对齐。随机切分和中心滚动会直接泄漏未来。

详细版

  • lag k 的含义取决于采样频率与预测步长。

  • rolling 必须先 shift,避免纳入当前目标。

  • 日历特征可用 sin/cos 表达周期连续性。

  • 缺失时间点需先定义补齐与掩码策略。

  • 多步预测要区分 direct、recursive 与已知未来协变量。

完整版教学

一、时间特征的核心是因果对齐

普通表格中同一行特征与标签天然对齐,时序任务必须显式写出 origin t 和预测目标 t+h。

任何使用 [t-W,t+h] 或中心窗口的统计,在离线都很漂亮,却在线无法获得。

只有先固定预测原点和当时可用的信息集,lag、rolling 与已知未来协变量的数字才有明确含义,也才能逐项审查是否穿越。

二、底层机制与公式

target=y_(t+h)
features={y_(t-1),...,rolling(y_<t),calendar(t),known_future(t+h)}
cyclic hour=(sin(2pi*h/24),cos(2pi*h/24))

三、带数字的推演

在 t=100 预测 h=3 的 y_103,lag1 必须是 y_99 或按定义最近已知值,不能误用 y_102

24 小时滚动也只能覆盖 t 前的 24 个观测。

四、方案对比

方案/对象核心特点代价或边界
Lag保留具体历史点缺失/长周期维度多
Rolling平滑历史边界和泄漏风险
差分/趋势突出变化可能放大噪声
日历周期已知未来、成本低节假日需外部表

五、执行流程

定义 origin/horizon -> 时间轴切分 -> 只用 <origin 构造 lag/rolling
-> walk-forward 验证 -> 按 horizon 报指标 -> 上线回放同一特征函数

六、边界条件与工程代价

已知未来协变量如日历可使用 t+h 值,未知未来协变量如销量不可使用;必须按可用性分类。

数据修订会让历史值事后变化,金融/宏观任务需保存 vintage 数据,模拟当时发布版本。

记忆钩子:时序工程先写坐标:在 origin t,预测 t+h,当下真正已知什么。

七、常见误区与追问

  • 误区:rolling(center=True) 可平滑噪声后训练。 中心窗口会使用未来。

  • 追问:为什么随机切分不合适? 训练会看到验证时段之后的模式。

  • 误区:所有 t+h 特征都泄漏。 预测时已知的日历、计划价格可能合法。

  • 追问:多 horizon 怎么评估? 分别报告每个步长并按业务权重汇总。

  • 追问:缺时间点怎么办? 先重建时间网格,并增加缺失/距离上次观测特征。

八、加强记忆

时序工程先写坐标:在 origin t,预测 t+h,当下真正已知什么。

Lag、rolling、周期都必须服从这条时间箭头。