综合介绍
TimesFM 2.0 - 500M PyTorch 是由 Google Research 开发的预训练时间序列基础模型,专为时间序列预测而设计。该模型能够处理长达 2048 个时间点的上下文长度,并支持任意的预测范围。TimesFM 2.0 在多个领先基准测试中表现优异,性能比其前代版本提升了 25%。该模型还提供了 10 个实验性的分位数头,尽管这些头在预训练后尚未校准。用户可以通过 Hugging Face 平台下载并使用该模型进行时间序列预测。
这种模型可以用于预测零售业销量、股票走势、网站流量等场景。TimesFM 2.0在GIFT-Eval评分榜上排第一,且支持用自己的数据做微调。它执行至多 2048 个时间点的单变量时间序列预测,以及任何预测范围长度,并带有可选的频率指示器。
功能列表
- 时间序列预测:支持长达 2048 个时间点的上下文长度和任意预测范围。
- 分位数预测:提供 10 个实验性的分位数头。
- 模型微调:支持在用户自有数据上进行模型微调。
- 零样本协变量支持:支持使用外部回归变量进行零样本预测。
- 高效性能:在多个基准测试中表现优异,性能提升 25%。
使用帮助
安装流程
- 安装依赖:
- 使用
pyenv
和poetry
进行本地安装。 - 确保 Python 版本为 3.10.x(适用于 JAX 版本)或 >=3.11.x(适用于 PyTorch 版本)。
- 运行以下命令安装依赖:
pyenv install 3.11.x pyenv virtualenv 3.11.x timesfm-env pyenv activate timesfm-env poetry install
- 使用
- 下载模型:
- 访问 Hugging Face 平台下载 TimesFM 2.0 - 500M PyTorch 模型检查点。
- 使用以下命令下载模型:
bash
git clone https://huggingface.co/google/timesfm-2.0-500m-pytorch
cd timesfm-2.0-500m-pytorch
使用流程
- 加载模型:
- 在 Python 环境中加载模型:
from transformers import TimesFMForTimeSeriesForecasting model = TimesFMForTimeSeriesForecasting.from_pretrained("google/timesfm-2.0-500m-pytorch")
- 进行预测:
- 准备输入数据并进行预测:
import torch input_data = torch.tensor([...]) # 替换为实际的时间序列数据 predictions = model(input_data)
- 微调模型:
- 使用自有数据进行模型微调:
from transformers import Trainer, TrainingArguments training_args = TrainingArguments(output_dir="./results", num_train_epochs=3, per_device_train_batch_size=4) trainer = Trainer(model=model, args=training_args, train_dataset=your_dataset) trainer.train()
- 使用外部回归变量:
- 支持零样本协变量预测:
python
external_regressors = torch.tensor([...]) # 替换为实际的外部回归变量数据
predictions = model(input_data, external_regressors=external_regressors)
- 支持零样本协变量预测: