timesfm-forecasting
使用 Google 的 TimesFM 基础模型进行零样本时间序列预测。可用于任何单变量时间序列(销售、传感器、能源、生命体征、天气),无需训练自定义模型。支持 CSV/DataFrame/数组输入,提供点预测和预测区间。包含预检系统检查脚本,在首次使用前验证内存/GPU。
TimesFM Forecasting - 零样本时间序列预测
技能概述
TimesFM Forecasting 是 Google Research 开发的预训练时间序列基础模型,无需训练即可对任何单变量时间序列进行预测,支持销售、传感器、能耗、生命体征、天气等多种数据类型,提供点预测和量化预测区间。
适用场景
1. 销售和需求预测
预测产品销量、库存需求、订单量等业务指标。无需收集大量历史数据重新训练模型,直接输入销售数据即可获得未来趋势预测,支持批量预测数百个产品或门店的时间序列。
2. 传感器和 IoT 数据分析
处理温度、压力、流量等工业传感器数据,或能耗监控、设备状态监测等 IoT 场景。模型支持长达 16,384 个数据点的上下文窗口,能够处理高频采集的传感器时间序列,并提供预测区间用于异常检测。
3. 快速原型和基准测试
作为时间序列预测的零样本基线模型,快速评估预测任务的可行性。相比传统 ARIMA/ETS 等需要参数调优的统计模型,TimesFM 开箱即用,适合数据探索、模型对比和快速原型开发。
核心功能
1. 零样本预测
TimesFM 使用 200M 参数的预训练模型,无需针对特定数据集训练或微调。支持 CSV、DataFrame、NumPy 数组等多种输入格式,只需输入历史时间序列数据,模型即可输出预测结果和 10 个分位数的预测区间。
2. 系统资源检查
内置强制预检系统检查脚本 check_system.py,在首次加载模型前自动检查可用内存(≥4GB)、GPU 可用性和 VRAM、磁盘空间(≥2GB)、Python 版本等系统要求,避免因资源不足导致模型加载失败。
3. 批量预测和协变量支持
支持同时预测数百个单变量时间序列,内部自动批处理提高效率。TimesFM 2.5+ 版本通过 forecast_with_covariates() API 支持外生变量(价格、促销、假期等),结合基础模型预测和协变量调整提升预测精度。
常见问题
TimesFM 需要训练吗?
不需要。TimesFM 是预训练的基础模型,采用零样本预测方式。你只需要提供历史时间序列数据,模型即可直接输出预测结果,无需针对你的数据集进行训练或微调。这是 TimesFM 相比传统时间序列模型的主要优势。
TimesFM 的系统要求是什么?
TimesFM 2.5 版本(推荐)使用 200M 参数,需要至少 4GB RAM(CPU 模式)或 2GB VRAM(GPU 模式),以及约 800MB 磁盘空间用于存储模型权重。模型首次运行时会从 HuggingFace 自动下载权重并缓存。建议在加载模型前运行 python scripts/check_system.py 检查系统配置。
TimesFM 可以做异常检测吗?
TimesFM 本身没有内置异常检测功能,但可以通过预测区间实现异常检测。模型输出的量化预测包含 10 个分位数(q10-q90),如果实际值落在 90% 预测区间(q10-q90)之外,可以认为是统计学上的异常值。技能包含完整的异常检测示例,展示如何结合历史数据线性去势和 Z-score 分数实现两阶段异常检测。