TimesFM 时间序列预测完整指南:从装环境到首次预测
2026/9/17 17:41:18 网站建设 项目流程

TimesFM 时间序列预测完整指南:从装环境到首次预测

【免费下载链接】timesfmTimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.项目地址: https://gitcode.com/GitHub_Trending/ti/timesfm

TimesFM 是 Google Research 开源的时间序列预测基础模型:给它一段历史数据,它就能零样本输出未来趋势和分位数区间,不需要你从零训练。如果你要做销量、气温、流量这类时序预测,又不想搭复杂的训练流程,这个 200M 参数的模型在本地几分钟就能跑起来。

三个版本怎么选:参数与上下文长度对比

版本参数量上下文长度主要差异
TimesFM 2.5(当前默认)200M16k支持连续分位数预测(可选 30M 分位数头,最长 1k 预测步长),移除了 frequency 标记
TimesFM 2.0500M2048旧版,代码归档在 v1/ 目录
TimesFM 1.0200M512旧版,代码同样归档在 v1/ 目录

2.5 比 2.0 参数少了 60%,上下文长度却从 2048 拉到 16k,日常预测直接用 2.5 就行;只有在复现 1.0/2.0 的论文结果时才需要老版本,可用pip install timesfm==1.3.0安装旧包。

🚀 3 条命令装好环境,准备跑第一次预测

环境要求是 Python ≥ 3.10,用 uv 管理虚拟环境最快:

git clone https://gitcode.com/GitHub_Trending/ti/timesfm cd timesfm uv venv && source .venv/bin/activate uv pip install -e .[torch]

[torch]是 PyTorch 后端;想用 JAX/Flax 推理就换成[flax],需要协变量(XReg)支持再装[xreg]。torch 或 jax 本体建议按你的硬件(CPU/GPU/TPU/Apple Silicon)单独安装对应版本,装完就可以写预测代码了。

🎯 第一次预测要改哪些参数:加载、配置、预测三步走

整个流程很短:加载权重 → 用ForecastConfig声明预测边界 → 调forecast()传入数组。下面这段代码的注释解释了每个关键参数"为什么这么设":

import torch, numpy as np, timesfm torch.set_float32_matmul_precision("high") # 放宽精度限制,CPU 推理更快 model = timesfm.TimesFM_2p5_200M_torch.from_pretrained( "google/timesfm-2.5-200m-pytorch" # 2.5 版 200M 权重 ) model.compile(timesfm.ForecastConfig( max_context=1024, # 每条序列最多回看 1024 个历史点 max_horizon=256, # 一次最多预测 256 步 normalize_inputs=True, # 归一化输入,抹平量纲差异 use_continuous_quantile_head=True, # 输出连续分位数区间 force_flip_invariance=True, infer_is_positive=True, fix_quantile_crossing=True, # 防止分位数区间交叉 )) point_forecast, quantile_forecast = model.forecast( horizon=12, inputs=[np.linspace(0, 1, 100), np.sin(np.linspace(0, 20, 67))], # 两条示例序列 ) # point_forecast: (2, 12) 点预测;quantile_forecast: (2, 12, 10) 均值+第10~90分位

max_contextmax_horizon直接决定内存占用:历史更长就调大max_context,要往后看更久就调大max_horizon。分位数输出默认包含均值加第 10 到 90 分位共 10 列,可以直接拿来做区间预测。

📚 协变量与微调:需要时再看这两份材料

如果你的数据带辅助特征,TimesFM 支持两类协变量:静态协变量(每条序列固定的,如产品类别、基础价格)和动态协变量(每个时间点变化的,如星期几、温度、促销标记),通过 XReg 接入,完整示例在 notebooks/covariates.ipynb:

想在自有数据上微调时,仓库提供 JAX 版 notebooks/finetuning.ipynb 和 PyTorch 版 notebooks/finetuning_torch.ipynb;另外 timesfm-forecasting/examples/finetuning/ 里还有一份基于 HuggingFace Transformers + PEFT 的 LoRA 示例,适合只想调部分参数、显存有限的场景。

📊 基准测试:预测精度处在什么水平

在 ETH 长周期基准(预测步长 96/192/336)上,TimesFM 平均 WAPE 为 0.386,低于 Chronos-Large 的 0.401,且推理耗时与 Mini 版相当;扩展基准(v1/experiments/extended_benchmarks/)中它在多个数据集上也保持领先。

🧯 避坑清单:装不上、跑不动先看这 5 条

  • 内存:建议至少 32GB RAM 再加载依赖,内存偏小的机器先别急着装[xreg]
  • ARM 架构:部分依赖暂不支持 ARM,苹果芯片用户可能需要等后续更新。
  • 后端别装混[torch][flax]二选一即可,XReg 依赖 JAX(jax[cuda]),按硬件装对版本。
  • 老版本:1.0/2.0 的代码都在 v1/ 目录,pip install timesfm==1.3.0可加载老权重。
  • 报错先查文档:优先翻 TROUBLESHOOTING.md,常见报错有现成解法。

适合它的场景:历史数据有限、需要快速拿到零样本预测和预测区间,比如销量计划、气温分析、异常基线;不太适合需要极低延迟的高并发线上服务。如果你的领域精度要求高又不想全量微调,直接走上文的 LoRA/PEFT 路线——把 2.5 跑通之后,你的时间序列预测工具链就齐了。

【免费下载链接】timesfmTimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.项目地址: https://gitcode.com/GitHub_Trending/ti/timesfm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询