Applied Scientist L5 · ML Breadth

Amazon ML:Random Forest 能不能处理 Time Series?

用只含过去的lag特征构造监督问题,区别序列归纳偏置、滚动验证和外推限制。

题目重点:用只含过去的lag特征构造监督问题,区别序列归纳偏置、滚动验证和外推限制。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 预测y_(t+h),仅使用预测时点可得变量;RF是普通树回归模型,不自动维护序列hidden state。
  • 题目没有具体预测h/采样间隔/数据集,本文按单序列监督构造并讨论多实体变体。

解题路线

  1. RF可以输入lag y_t/y_(t−1)、过去rolling统计、已知日历和外生变量做监督预测;它不原生表达顺序/动态记忆,但不等于不能处理任何时序。
  2. 每一特征标明available time:预测t+h时rolling窗口只能截至t。先shift再rolling,避免把target或未来均值混进来;天气未来值若只离线观测而上线未知,也会泄漏。
  3. 用rolling/expanding时间验证,训练早段预测后段,间隔按重叠窗口/label horizon/数据发布延迟设。随机split可能让邻近相似窗口跨集合,离线过于乐观。
  4. 多步可direct每horizon模型或recursive把预测当后续lag;递归误差传播、训练时真实lag而推理用预测lag差异要测。不用未来真值填lag证明recursive很好。
  5. 常规树叶输出训练标签均值,森林平均不能天然线性外推到训练label范围之外;趋势强时对残差/差分建模或其他外推结构可作为候选,验证还原与漂移。
  6. 先做last value/seasonal naive基线,再比较树、统计模型或序列NN的任务表现与维护成本。seasonal周期、missing/不规则采样与entity分组也要入合同,不因“时序”就无条件选RNN。

手动走一遍

预测明天销量可用今天/昨天和过去7日均值;若预处理给特征“以明天为中心7天均值”,已含未来销售,RF score好仍无效。以最后200天为未来验证且仅用当时可得数据更接近上线。

规模与取舍

特征构造用rolling可O(T),朴素每窗口O(Tw);RF训练/推理随树数深度与特征量变化。递归预测H步还串行H次,direct预测训练多模型成本另计。

易错点与追问

容易失分的边界

  • 把RF不原生序列当绝对不能。
  • rolling包含未来。
  • 随机split相邻窗口泄漏。
  • recursive未来lag用真值。
  • 树均值输出当趋势外推。

继续深挖

  • 不规则采样怎样定义lag?
  • 多店铺新店泛化怎样拆组与时间?
  • rolling gap如何由horizon确定?
  • 外生变量发布延迟怎么模拟?

技术参考

✓已复制微信号!