核心目标:快速上手 Google 开源时间序列大模型 TimesFM 2.5 (200M),通过官方示例验证能力,并扩展至实际业务场景。
适用对象:数据分析师、算法工程师、科研人员等希望利用 SOTA 模型进行时间序列预测的用户。


📌 核心优势速览

  • 开箱即用:无需训练,直接加载预训练模型进行推理
  • 概率预测:输出点估计 + 多分位数(10%~99%),支持风险评估
  • 长上下文:支持最长 512 点历史输入,捕捉长期趋势
  • 多场景覆盖:单变量预测、异常检测、协变量建模
  • 跨平台支持:Windows / Linux / macOS 均可运行

🧪 示例 A:全球温度异常预测

预测全球气温变化趋势,展示基础预测流程。

运行命令

输入数据

输出结果

文件 内容说明
output/forecast_output.csv 未来12个月的点预测及10个分位数(q10, q20, ..., q99)
output/forecast_output.json 包含元信息、统计摘要、与2024年均值对比的完整报告
output/forecast_visualization.png 可视化图表:历史数据 + 预测区间(80% & 90% CI)

关键技术细节

  • 使用模型:google/timesfm-2.5-200m-pytorch
  • 无需指定时间频率(如 'M'),模型仅依赖数值序列
  • 调用接口:model.forecast(inputs=[series], horizon=12)
  • 禁止传入 freq 参数,否则将报错

✅ 该示例验证了模型对气候趋势的捕捉能力,适用于任何具有长期模式的单变量序列。


🕵️ 示例 B:异常检测

基于预测残差识别历史数据中的异常点。

运行命令

cd D:\model\timesfm\timesfm-forecasting\examples\anomaly-detection
python detect_anomalies.py

工作原理

  1. 对历史序列采用滑动窗口进行“回溯预测”
  2. 计算实际观测值与模型预测值之间的残差
  3. 若残差超出设定分位数区间(如 q10–q90),则标记为异常

输出结果

文件 内容说明
output/anomaly_detection.json 异常发生时间、残差大小、置信度评分
output/anomaly_detection.png 双面板图:原始序列 + 异常点高亮标记

应用场景

  • 工业设备传感器监控
  • 金融交易欺诈检测
  • 网站流量突增/突降告警
  • 电力负荷异常识别

💡 无需标注数据,纯无监督方法,适合冷启动场景。


📈 示例 C:协变量预测(多变量建模)

引入外部变量提升主序列预测精度。

前置安装

pip install timesfm[xreg]

运行命令

cd D:\model\timesfm\timesfm-forecasting\examples\covariates-forecasting
python demo_covariates.py

能力说明

  • 支持两类协变量:
    • 静态协变量:不随时间变化(如产品类别、地区编码)
    • 动态协变量:随时间变化(如促销活动、天气温度、广告投入)
  • 模型自动学习主序列与协变量间的复杂时序依赖
  • 输出仍为完整的概率分布(点估计 + 分位数)

典型用例

行业 主序列 协变量
零售 日销售额 促销标志、节假日、竞品价格
能源 电力负荷 温度、湿度、工作日标识
交通 地铁客流 天气、大型活动、疫情等级

✅ 显著优于单变量模型,尤其在受外部因素强影响的场景。


📊 Step 6:用自有 CSV 数据做预测

提供通用脚本,一键预测任意格式的时间序列数据。

命令模板

cd D:\model\timesfm\timesfm-forecasting
python scripts\forecast_csv.py your_data.csv \
    --horizon 24 \
    --date-col date \
    --value-cols sales,revenue \
    --output forecasts.csv

参数详解

参数 说明 示例
your_data.csv 输入文件路径 sales_2024.csv
--horizon N 预测未来 N 步 --horizon 12(预测12期)
--date-col 日期列名(用于排序) --date-col order_date
--value-cols 待预测列(多列用逗号分隔) --value-cols revenue,profit
--output 输出文件路径 --output result.csv

输出格式

  • 每个预测列生成多个字段:
    • {col}_point:点预测值
    • {col}_q10, {col}_q50, {col}_q90:关键分位数
  • 日期列自动延续原始频率(如日度→日度,月度→月度)

使用建议

  1. 确保 CSV 包含 连续时间戳(无缺失日期)
  2. 数值列应为 浮点型或整型
  3. 首次运行会自动下载模型(约800MB),后续秒级加载

✅ 无需编程,适合业务人员快速验证预测效果。


🔁 国内用户特别提示

由于模型托管于 Hugging Face,国内访问需配置镜像:

# 在运行任何 Python 脚本前执行
$env:HF_ENDPOINT = "https://hf-mirror.com"

⚠️ 该设置仅对当前 PowerShell 窗口有效。关闭后需重新设置。


💎 总结:TimesFM 的典型应用路径

阶段 操作 目标
验证 运行 global-temperature 示例 确认环境与模型可用性
探索 尝试 anomaly-detection 发现数据中的异常模式
增强 使用 covariates-forecasting 引入业务知识提升精度
落地 调用 forecast_csv.py 快速部署到实际数据

TimesFM 作为当前最先进的开源时间序列基础模型,无需微调即可在多领域取得优异表现。通过上述四个步骤,用户可从零开始,逐步将模型能力转化为业务价值。

📌 最佳实践:先用示例数据跑通全流程,再替换为自有数据,避免初期环境问题干扰业务验证。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐