← 返回全部文章

销量、流量、能源一起算:TimesFM-3把多变量预测做成了什么样

只看一条历史曲线,很多预测从一开始就丢了信息。TimesFM-3可以同时读取多条时间序列,以及促销、天气、节假日等未来已知变量;但模型权重目前限非商业、非生产使用,落地前要先看清许可证和验证成本。

你要预测下个月的冰淇淋销量,手里通常不只有一列销量数据:客流量、甜筒销量、促销日、天气预报、节假日都可能影响结果。

如果模型只看销量历史,它只能猜出季节性;如果把这些相关数据一起交给模型,预测就有机会接近真实业务。 TimesFM-3 解决的就是这个问题:同时处理多条时间序列,也接收未来已经知道的外部变量。

先说结论:它适合拿来做什么

TimesFM-3 是 Google Research 推出的时间序列基础模型。当前公开仓库已经提供 3.0 版本的代码和模型入口,面向的是销售、需求、流量、能源、金融、制造、医疗等带有时间变化的数据。

它可以做三类事:

  • 同时预测多条相关序列,比如多个品牌的销量;
  • 使用历史上才知道的变量,比如过去的客流量;
  • 使用未来已经确定或可以提前获得的变量,比如促销排期、节假日和天气预报。

这里的“零样本”不是说不需要数据。你仍然要准备格式正确的历史数据,也要决定哪些列是预测目标、哪些列是辅助变量。它省掉的是针对每个任务重新训练一套模型的步骤,不是省掉数据清洗和结果检查。

它和普通预测模型差在哪

以前的 TimesFM 版本主要做单变量预测:输入一条曲线,向后推一段结果。 TimesFM-3 原生支持多变量输入,模型会同时看不同序列之间的关系。

它还换了推理方式。传统自回归模型通常一步一步生成未来值,预测越长,延迟和误差累积越明显。 TimesFM-3 把未来区间先放成待预测的位置,再一次性生成整个预测范围。对需要频繁滚动预测的场景,这会减少反复调用模型的次数。

模型会输出点预测,也会输出从第 10 百分位到第 90 百分位的 9 组分位数。简单说,你得到的不只是“下周销量大约是多少”,还可以看到预测区间有多宽。采购、排班和库存决策更关心后一个问题。

促销信息为什么有用

Google 给出的示例很直观:一条曲线记录历史销量,另一组数据记录未来哪些日期会做促销。

只看销量历史的模型,通常只能延续过去的周规律;加入促销排期后,模型可以从历史数据里学习“促销和销量变化之间的关系”,再把这种关系用于未来日期。示例中,促销日的预测销量出现了约 20% 的抬升。

这个数字只能当作示例中的结果,不能直接套到你的商品上。不同品类、价格、渠道和促销力度,都会改变促销带来的变化。

3300 亿?不是,是 3.3 亿参数

TimesFM-3 有 3.3 亿参数,预训练数据超过 1 万亿个时间点。官方文章称,它在 GIFT-Eval 、 FEV-Bench 和 TIME 三个公开评测中,在预训练基础模型里取得了最高平均排名,同时覆盖点预测和概率预测指标。

这说明它在公开数据集上很能打,但不等于它在你的业务数据上一定最好。评测结果受数据集、预测长度、变量选择和对比模型影响。真正上线前,至少要拿自己的历史数据做回测,并和现有方法对比:误差有没有下降,预测区间是否可信,推理成本是否能接受。

TimesFM-3在GIFT-Eval上的评测结果

TimesFM-3在FEV-Bench上的评测结果

普通人怎么理解这件事

可以把它看成一个更懂“上下文”的预测器。

只给它一列销售额,它只能从销售额本身找规律;再给它客流、库存、活动排期和天气,它才有机会把这些因素放进同一个预测里。最后的效果,取决于你提供的数据是否对齐,未来变量是否真的提前可知,以及历史里是否包含足够多的类似情况。

它不能替你解决这些问题:

  • 数据缺失、时间粒度混乱、促销记录错位;
  • 突发事件导致的结构变化;
  • 没有历史依据的新产品或新市场;
  • “预测准确”之外的库存、采购和经营决策。

预测模型只负责给出一个估计。业务人员还要决定错一次的成本是多少,以及应该按预测区间的上限还是中位数备货。

现在能不能直接商用

代码仓库的源代码采用 Apache-2.0 。需要特别留意的是,TimesFM-3 预训练权重单独使用 timesfm-non-commercial-license-v1.0,限制为非商业、非生产用途。也就是说,下载代码、跑通示例,不等于可以把默认权重直接接进收费产品或生产系统。

当前仓库提供 PyTorch 模型入口,模型权重放在 Hugging Face;仓库还列出了 BigQuery ML 和 Vertex AI Model Garden 等 Google 产品入口。实际使用时,要分别核对模型权重许可、云服务费用、数据传输和企业内部合规要求。

值不值得试

如果你手上有多条同步的时间序列,并且能拿到促销、节假日或天气这类未来信息,TimesFM-3 值得做一次离线回测。先选一个具体问题,例如“预测未来四周的门店销量”,不要一上来就把所有指标都塞进去。

如果你只有一条很短、很脏、经常改口径的数据,先整理数据和评测方法,往往比换模型更重要。 TimesFM-3 的优势在于能把多种时间信息放在一起,不在于它能替你猜中所有变化。

想试代码,可以从Google Research 的 TimesFM 仓库开始;TimesFM-3模型入口在Hugging Face

来源:https://research.google/blog/timesfm-3-a-zero-shot-foundation-model-for-multivariate-forecasting/