Google Research 发布时间序列基础模型 TimesFM-3 可以预测未来

它预测的不是抽象事件,而是由多条时间曲线和未来已知计划共同决定的数值:销量、客流、负载、价格,以及这些变化的不确定性。

作者:Google Research09-02 · 12 分钟⚑ 研究论文
研究解读 · 小互解读
一分钟速览
  • TimesFM-3 用 3.3 亿参数和超过 1 万亿个训练时间点,原生支持多个目标、历史协变量和未来已知协变量。
  • 模型把时间和变量组织成二维网格,交替沿两个方向交换信息,再用一次前向计算生成整个预测区间和 9 个分位数。
  • 官方报告它在 GIFT-Eval、FEV-Bench、TIME 的点预测和概率预测平均排名上都居首,但平均榜单不能替代业务回测。
  • 代码已开放,3.0 默认预训练权重当前仅限非商业、非生产用途。

Google Research 发布时间序列基础模型 TimesFM-3。这是 TimesFM 系列第一次原生面向多变量预测的版本:模型可以同时预测多条相互影响的时间序列,还能把客流、天气、促销、节假日等外部信息一起纳入判断。

理论上讲,这意味着它可以预测未来。这里的“未来”指销量、客流、设备负载、价格等随时间变化的数值,不是预测任何开放事件。当结果取决于多条共同变化的曲线和已经知道的未来计划时,能否用一个无需任务专门微调的通用模型直接完成预测?TimesFM-3 给出的答案是,把时间和变量组织成一张二维网格,在网格的两个方向上轮流交换信息。

1. 突破单变量限制,走向真实多变量预测

之前的痛点: TimesFM-2.5 的基础模型主要根据单条目标序列的历史数据预测未来。现实预测却很少只取决于一条曲线。预测下个月的冰淇淋销量,不仅要看过去的销量,还要结合甜筒和糖浆销量、历史客流、天气预报、促销排期和节假日。

TimesFM-2.5 后来可以通过 XReg 接入协变量,但这和 TimesFM-3 的原生多变量能力不同:前者是在单变量基础模型之外加入外部回归,后者从预训练阶段就学习多条目标序列和协变量怎样共同变化。

现在的能力: TimesFM-3 拥有 3.3 亿参数,使用超过 1 万亿个真实与合成时间点预训练。它支持零样本预测,不需要针对当前任务专门微调,就能直接接收三类数据:

  • 多个目标: 同时预测多条相互影响的时间序列,例如不同品牌、门店或品类的销量。
  • 历史协变量: 只在过去已知的信息,例如历史客流量和设备状态。
  • 未来已知协变量: 从历史延伸到预测期的信息,例如已经排定的促销、节假日和当下可获得的天气预报。
角色 预测期是否已知 冰淇淋例子
多个目标 未知,要共同预测 多个品牌或多家门店销量
历史协变量 只知道历史 过去的客流或库存
未来协变量 历史和未来都知道 促销排期、节假日、天气预报
三类输入的分界来自信息在做出预测时是否可用。

“未来已知”不等于预知。节假日和促销排期可以提前确定,天气预报本身却带有误差;模型得到的是做出预测时已经可用的信息。零样本也只表示不用为当前门店、设备或业务序列重新训练模型,数据清洗、变量选择、时间对齐和回测依然要做。

2. 把时间和变量组织成一张二维网格

多变量不是把几列数据简单拼在一起。直接把每一个时间点都送进 Transformer,序列一长,计算量会迅速上升。TimesFM-3 沿用 TimesFM 的做法,把连续 32 个时间点打成一个 patch,再把每个 patch 编码成 token。不同量纲的序列还会分别归一化,避免几百元的销量和 0 到 1 的开关变量仅因数值范围不同而失衡。

目标序列和只知过去的协变量,每个 token 对应一个普通 patch。未来也已知的协变量多了一步“向前看”:它把当前 patch 和后面的未来 patch 拼在一起。这样,当模型处理某个时间位置时,已经能看到预测期内排定的促销或节假日。

TimesFM-3 原始架构图,显示目标序列、历史协变量和未来协变量经过时间注意力与变量注意力后输出预测
Google Research 原始架构图。蓝色是目标序列,紫色是历史协变量,绿色是未来已知协变量;黄色区域是预测期。

进入主干后,注意力在两个方向上交替进行。

  • 沿时间轴,每条序列只看自己的过去。这是因果注意力,用来学习趋势、周期和此前发生的变化,同时阻止目标序列偷看到未来真实值。
  • 沿变量轴,同一个时间位置可以查看其他序列。冰淇淋销量可以参考甜筒销量,门店销量可以参考客流,目标序列也能读取促销和天气等协变量。

横向负责“这条曲线过去怎样演化”,纵向负责“同一时刻其他曲线发生了什么”。多层交替之后,模型得到的已经不再是几条各自独立的曲线,而是一组随时间共同变化的关系。

这也解释了多变量模式为什么可能比单变量模式更准:提升来自额外信息和跨序列关系。若几条序列没有稳定关联,或未来协变量本身不可靠,多变量输入不会自动带来收益。

3. 一次前向计算,直接生成整个预测区间

以前的 TimesFM 会先预测一个 patch,再把结果接回输入继续预测下一个 patch。预测期越长,循环次数越多,延迟和计算成本随之增加,前面产生的误差也可能进入后续预测。

TimesFM-3 借用了连续 patch 遮蔽的思路,把整个预测区间一开始就放进模型:

  1. 未来目标值和只知过去的协变量都换成遮蔽占位符,因为它们的未来值未知。
  2. 节假日、促销计划等未来已知协变量保持可见。
  3. 时间注意力和变量注意力在同一张网格上处理历史区和预测区。
  4. 模型一次填出全部目标序列在整个预测区间的结果。

官方 PyTorch 实现会把用户请求的预测长度补齐到输出 patch 的整数倍,再调用一次 model.decode(),最后裁掉多余位置。这个“一次”说的是模型前向过程,不代表计算量与预测长度无关;预测区间越长,送进同一次计算的 token 仍然越多。

输出也不只是一条看似确定的线。TimesFM-3 为每个目标、每个未来时点给出从第 10 百分位到第 90 百分位的 9 个分位数。中位数可以作为点预测,较低和较高分位数构成一组不确定性区间。预测期越远或信号越不稳定,区间通常会更宽。

4. 把已经知道的未来计划带进预测

Google 用一个合成的冰淇淋销量案例演示这套机制。红线代表只看历史销量的单变量预测,它主要延续每周起伏。蓝线额外读取了未来促销日,因此在排定促销的日期主动抬高销量预测。

交互实验 让模型看见未来促销计划

切换输入条件,观察同一段预测期里的曲线响应。

让模型看见未来促销计划 机制演示:曲线使用标准化示意值,不调用 TimesFM-3,也不生成真实业务预测。
模型此时能看到过去的销量曲线,以及预测期内已经排定的促销日。
预测发生的变化蓝线在已知促销日抬升,表达未来协变量对预测的影响。

机制演示:曲线使用标准化示意值,不调用 TimesFM-3,也不生成真实业务预测。

核对 Google Research 原始示例
冰淇淋销量预测图,蓝色多变量预测在未来促销日抬升,红色单变量预测没有对应响应

说明性合成案例:约 20% 是示例中的关系,不是现实促销的通用增幅。

琥珀色条带标出促销日;蓝线读取促销排期,红线只看销量历史。来源:Google Research。

示例在历史数据中设置了促销带来约 20% 销量提升的关系。多变量模式从历史促销日与销量的共同变化中学到这个关系,再把它应用到未来已经排定的促销日。整个月累积起来,蓝线比忽略促销计划的红线更接近这个案例的收入变化逻辑。

这张图证明模型能利用未来协变量恢复一个已存在于上下文中的关系。它没有证明现实中的促销普遍带来 20% 增长,也没有解决促销是否引起销量增长的因果识别问题。真实业务还要处理折扣力度、库存、竞争活动和促销对象变化。

5. 三套基准验证多变量能力确实有效

Google 在 GIFT-Eval、FEV-Bench 和 TIME 上比较了 TimesFM-3、TimesFM-2.5、Chronos-2、Toto 2.0、TiRex 等时间序列基础模型。图的横轴是点预测任务的平均名次,纵轴是概率预测任务的平均名次;两个数字都越低越好,因此越靠左下表示综合排名越高。

横轴=点预测平均名次;纵轴=概率预测平均名次;越靠左下越好。

GIFT-Eval GIFT-Eval 平均排名图,TimesFM-3 多变量模式位于最左下
FEV-Bench FEV-Bench 平均排名图,TimesFM-3 多变量模式位于最左下
TIME TIME 平均排名图,TimesFM-3 多变量模式位于最左下

平均排名反映纳入任务和模型集合的总体位置,不代表每个数据集或每个业务指标都获胜。

三张原始结果图来自 Google Research;橙色为 TimesFM-3,图中星号标记多变量模式。

三张图出现了同一个结果:TimesFM-3 的多变量模式都位于最左下方。把变量间信息和协变量全部关掉,只用它做单变量预测时,它的平均名次仍然优于或接近图中其他可复现的基础模型;开启多变量模式后,排名继续改善。

这组结果有两层价值。第一,模型并没有用多变量能力换掉单变量能力:没有协变量时仍能作为通用预测模型使用。第二,额外变量在多套任务上带来了稳定的平均收益,不只在促销示例中成立。

平均排名也会隐藏差异。它告诉我们模型跨任务的总体位置,不能说明每个数据集都赢,也没有覆盖每家公司的损失函数、库存约束和错误成本。图中比较的是发布时纳入的模型集合;经过业务数据训练的专用模型、经典统计模型或此后出现的新模型,仍需在同一回测窗口中重新比较。

6. 能预测未来,不等于可以直接上线

TimesFM-3 已提供 GitHub 代码 和 Hugging Face 权重。官方接口接收形如“变量数 × 历史长度”的目标数组;未来已知协变量要覆盖“历史长度 + 预测长度”。输出包括每条目标序列的点预测和 9 个分位数。

实际试用前要确认四件事:

  • 数据是否在同一时间频率上对齐,缺失值、异常值和未来协变量的生成时间是否清楚。
  • 协变量在做出预测的那个时刻是否真的可用,不能把事后才知道的数据伪装成未来已知信息。
  • 业务关心的误差、库存成本或风险指标,是否在滚动回测中优于当前基线。
  • 输入规模是否适合当前实现。官方代码的最大历史长度是 15,360 个时间点;基准评测器一次前向最多容纳 32 个变量,更多目标会分块,协变量过多时还可能被抽样。

许可是更硬的边界。仓库代码采用 Apache-2.0,但 TimesFM 3.0 默认预训练权重当前采用单独的非商业许可,只允许非商业、非生产用途。下载权重做研究验证没有问题,把它直接接入收费产品或生产预测系统则不在许可范围内。

Google 表示 TimesFM-3 的 BigQuery 集成将在随后几周推出;发布当日可直接试用的 AI.FORECAST 仍是 TimesFM-2.5 的单变量能力。因而 TimesFM-3 目前最合适的状态是本地研究和业务回测,不能把“代码和权重已经公开”写成“企业已经可以无条件上线”。

TimesFM-3 把多变量预测从“为每项业务单独搭模型”推进到“先用一个通用模型直接回测”的阶段。它降低了尝试门槛,也把新的责任交给使用者:哪些变量在预测时真的可用,跨序列关系能否持续,平均榜单收益是否能转化为自己的业务收益。模型把更多现实信息带进了预测,最后一道判断仍要在真实数据上完成。

来源
TimesFM-3: A zero-shot foundation model for multivariate forecastingAyush Jain and Rajat Sen, Google Research·2026-08-31·查看主材料
本站说明
基于 Google Research 发布文、官方代码仓库、模型卡和基准结果解读;促销图为说明性合成示例。
↑ 正文结束
✓ 本篇全文免费开放

会员可复制、下载全文 Markdown,还能让你的 AI 订阅和提问。

阅读原文 ↗
📮 新解读第一时间进邮箱

读完觉得有用?留个邮箱,每篇新解读发布就送达,随时退订。