Agent Skills
返回列表
📊

TimesFM 时间序列预测

数据分析 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/timesfm-forecasting。

技能介绍

要解决什么问题

单变量时间序列(销量、传感器、价格、天气等)往往需要快速给出未来若干步的点预测和不确定性区间,但为每条序列单独调 ARIMA/ETS 既慢又依赖经验。Google Research 的 TimesFM 是预训练的 decoder-only 基础模型,可在零样本下直接推理,无需再训练。

本技能把 TimesFM 封装成适合 Agent 调用的本地流程:首次从 Hugging Face 拉取权重(约 800 MB,缓存在 ~/.cache/huggingface/),并在加载前通过 强制性 check_system.py 检查 RAM、GPU VRAM、磁盘与 Python 版本,避免在低配机器上直接 OOM。

核心能力与用法

  • 输入:任意长度的单变量序列(上下文约 1–16,384 点,推荐 TimesFM 2.5,200M 参数);期望形态是一维数组的列表,不是二维矩阵。
  • 输出:(point_forecast, quantile_forecast)——中位数点预测 + 10 路分位(索引 1/9 对应 q10/q90,可用于 80% 预测区间)。
  • 配置:通过 timesfm.ForecastConfig 控制;实践中常设 normalize_inputs=True、use_continuous_quantile_head=True、fix_quantile_crossing=True;调用 forecast() 前必须先 model.compile()。
  • 扩展:TimesFM 2.5+ 可用 forecast_with_covariates()(需 timesfm[xreg])接入动态/静态外生变量;无内置异常检测,但可用分位数区间做统计意义上的离群判断(见示例目录)。
  • 脚本:scripts/forecast_csv.py 提供带预检的 CSV 端到端预测;references/ 下有 API、数据准备与硬件说明。

适用边界与注意点

  • 适合:零样本概率预测、批量多序列、要与 statsmodels 经典模型做对比基准、或与 EDA/可视化技能联动画区间图。
  • 不适合:需要系数解释的经典统计推断 → 用 statsmodels;分类/聚类 → aeon;多变量 VAR/格兰杰 → statsmodels;纯表格非时序 → scikit-learn。
  • 常见坑:未跑系统检查;分位数索引误把 quant_fc[..., 0] 当 q0(实为均值);对可能为负的序列仍设 infer_is_positive=True;上下文少于 32 点或输出含 NaN 未处理;旧版 5 亿参数模型需约 32 GB RAM,一般应优先 2.5。

使用场景

  • 供应链同事提供过去数十个月的 CSV 销量,需要在不训练自定义模型的前提下预测未来若干期并给出 q10–q90 区间供备货评审。
  • IoT 或监控平台要对几百条传感器单变量序列做批量点预测,且必须在首次加载 800MB 权重前确认本机 RAM/GPU 是否够用。
  • 零售分析已知未来促销价、节假日等外生变量,要对多家门店周销使用 `forecast_with_covariates()` 生成带协变量调整的预测。
  • 运维或质量团队希望用 TimesFM 的分位数预测带作为参考区间,判断最新观测是否超出 90% 置信带并标记为统计异常。

适合人员

  • 负责需求与销量备货的供应链/planning 分析师,典型诉求是零样本概率预测和可解释的预测区间而非逐序列手调 ARIMA。
  • 在本地为 Agent 集成时序能力的后端或 MLOps 工程师,典型诉求是加载前强制预检 RAM、VRAM 与磁盘,避免推理把机器打挂。
  • 需要把 TimesFM 与 statsmodels 经典基线并排写进评估报告的数据分析师或研究岗,典型诉求是对比点预测与区间校准。
  • 做多店零售或能源负荷建模、已整理动态/静态协变量的量化研究同学,典型诉求是用 TimesFM 2.5 的 XReg 流程接外生驱动因素。