TimesFM 3.0:预测未来销量时,把促销日历也交给模型

为什么值得关注
销量历史之外,未来已确定的促销、假日等信息也能影响预测。TimesFM 3.0 将它们作为原生输入,帮助读者理解预测模型怎样利用计划信息。
适合谁:想理解销量、访问量等时间序列预测的分析人员、研究者,以及评估模型接入的团队。
这次有哪些亮点
- 原生联合预测多个目标序列
- 区分只有历史值和已知未来值的辅助变量
- 输出点预测及多个分位数
- 3.0 自托管权重与旧版及云服务的许可条件不同
使用前需要知道
官方促销图为示意,不能证明真实门店增益;3.0 下载权重仅限非商业、非生产用途,授权云服务走另一套条款;开放代码不是受支持的 Google 产品。
下个月哪些天做促销已经排好,只把过去销量交给模型,预测曲线却不知道日历上发生了什么。TimesFM 3.0 值得看的地方,是它能把促销计划也作为输入:用历史销量与历史活动之间的关系,帮助估计未来活动日的销量,同时给出预测分布的不同分位数。
这是 Google Research 的时间序列基础模型。它接收按时间排列的数值,不需要先把销量写成自然语言。当前主线已经是 3.0;旧版 2.5 的用法与许可,不能不加区分地搬过来。
先看促销日历怎样改变曲线
Google 的官方教学示意选了冰淇淋销量。历史销量画成灰线,底部橙色块标出促销日;虚线右侧进入未来。红线仅根据单个销量序列预测,蓝线则额外接收促销信息,因而在对应的未来日期出现更明显的抬升。官方示例与方法说明

官方示意:看虚线右侧蓝线与底部橙块的对应关系。图中未来没有实测销量对照,不能据此认定真实促销收益或预测误差。打开原图
把这份材料连起来看,输入包括历史销量、过去哪些天促销、未来哪些天计划促销。模型用历史上下文识别这些数值序列之间的关联,再输出未来每天的预测和分位数。未来真正要预测的销量被留空,计划中已经知道的促销标记可以保留。本文解析官方材料,没有运行一家真实门店的数据。
我更看重的是这个输入变化,而非蓝线画得更起伏:很多业务早就掌握未来活动计划,模型是否能用上这些信息,会直接决定预测是否回答了正确的问题。不过,图中活动与销量的关联也不能当成促销因果效应,更不能推导成每次促销都能多卖固定比例。
历史已知与未来已知,是两类材料
3.0 支持多个预测目标,也支持两类辅助序列:只有过去值的变量,以及过去和未来都能提供值的变量。例如过去客流只能作为历史材料;已确定的营业日安排则可以覆盖未来。天气预报若作为未来输入,提供的是当时能取得的预报,不是事后才知道的真实天气。
模型内部会把连续时间点分成小段,一方面沿时间理解各自的变化,另一方面在序列之间交换信息。未来目标位置用遮罩占位,未来已知变量保持可见,再生成预测。这解释了它怎样同时使用“以前发生什么”和“以后已确定什么”。
官方仓库的多变量例子也能帮忙读懂输出:三个目标序列、预测未来 24 步,点预测是三组各 24 个值;若要求分位数,每个目标的每一步还有九个分位值。这里的“步”取决于输入采样间隔,24 步不必然是 24 小时。当前代码示例与版本说明
实验结果与可用条件一起看
Google 报告在 GIFT-Eval、FEV-Bench 和 TIME 的点预测及概率预测评价中取得较好的平均排名,并比较了单变量和多变量模式。这些是发布方在公开基准上的报告;不能由此断定自己的缺货、停业或突然改价数据也会得到同样改善。一个有用的本地检验,是按真实时间留出后段,并只给模型当时可获得的计划信息,观察加入辅助变量后误差是否下降。
源码为 Apache-2.0,2.5 及以前的权重仍沿用 Apache-2.0;3.0 权重则采用非商业、非生产许可。官方同时说明,授权 Google Cloud 服务可按云服务条款用于商业和生产,这与下载权重自行部署是不同入口。3.0 模型卡与权重许可
因此,如果你只是想在表格里拉一条趋势线,未必需要这套模型;如果任务有多条相关序列,或未来计划本来就是预测的重要条件,它值得进一步研究。先整理清楚哪些未来信息是真的已知,再决定走研究权重还是授权服务,才能让模型的输入与任务对得上。
以上为编辑整理,功能、许可与使用条件以官方说明为准。