时间序列预测基础模型TimesFM安装与使用指南

时间序列预测基础模型TimesFM安装与使用指南

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

TimesFM(Time Series Foundation Model)是Google Research开发的时间序列预测基础模型,提供强大的零样本预测能力。本文将详细介绍TimesFM项目的安装、配置和使用方法。

项目概述

TimesFM是一个预训练的时间序列基础模型,专门用于时间序列预测任务。该项目支持多种模型版本:

  • TimesFM 2.5(最新版本):200M参数,支持16k上下文长度,提供连续分位数预测
  • TimesFM 2.0:500M参数,支持2048上下文长度
  • TimesFM 1.0:200M参数,支持512上下文长度

项目目录结构

timesfm/
├── README.md                 # 项目主说明文档
├── pyproject.toml           # Python项目配置
├── requirements.txt         # 依赖包列表
├── LICENSE                  # 许可证文件
├── src/                     # 源代码目录
│   └── timesfm/            # 核心代码库
│       ├── __init__.py     # 包初始化文件
│       ├── configs.py      # 配置文件
│       ├── torch/          # PyTorch实现
│       ├── flax/           # Flax实现
│       ├── utils/          # 工具函数
│       └── timesfm_2p5/    # TimesFM 2.5版本代码
└── v1/                      # 旧版本代码存档
    ├── notebooks/           # Jupyter notebook示例
    │   ├── covariates.ipynb      # 协变量使用示例
    │   ├── finetuning.ipynb      # 模型微调示例
    │   └── finetuning_torch.ipynb # PyTorch微调示例
    ├── experiments/         # 实验代码
    │   ├── baselines/       # 基准测试
    │   ├── extended_benchmarks/  # 扩展基准测试
    │   └── long_horizon_benchmarks/ # 长周期基准测试
    ├── peft/                # 参数高效微调
    ├── src/                 # 源代码
    └── tests/               # 测试文件

环境配置与安装

使用uv安装(推荐)

  1. 克隆项目仓库
git clone https://gitcode.com/GitHub_Trending/ti/timesfm.git
cd timesfm
  1. 创建虚拟环境并安装依赖
# 创建虚拟环境
uv venv

# 激活环境
source .venv/bin/activate

# 安装带PyTorch支持的版本
uv pip install -e .[torch]

# 或安装带Flax支持的版本
uv pip install -e .[flax]

# 或安装带XReg支持的版本(需要协变量支持)
uv pip install -e .[xreg]

可选:安装深度学习框架后端

根据你的硬件配置选择合适的后端:

模型使用示例

基本预测功能

import torch
import numpy as np
import timesfm

# 设置计算精度
torch.set_float32_matmul_precision("high")

# 加载预训练模型
model = timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch")

# 配置预测参数
model.compile(
    timesfm.ForecastConfig(
        max_context=1024,
        max_horizon=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)), # 第二个时间序列
    ],
)

print(f"点预测形状: {point_forecast.shape}")        # (2, 12)
print(f"分位数预测形状: {quantile_forecast.shape}") # (2, 12, 10)

使用协变量进行预测

TimesFM支持静态和动态协变量:

  • 静态协变量:每个时间序列特有的特征(如产品类别、基础价格)
  • 动态协变量:每个时间点都变化的特征(如星期几、温度、促销活动)

详细示例请参考 notebooks/covariates.ipynb

模型微调

TimesFM支持在特定数据集上进行微调,以提升在特定领域的预测性能。微调示例可在以下文件中找到:

性能基准测试

项目提供了多个基准测试脚本,位于 experiments/ 目录下:

  • 基础基准测试experiments/baselines/
  • 扩展基准测试experiments/extended_benchmarks/
  • 长周期基准测试experiments/long_horizon_benchmarks/

扩展基准测试结果

长周期基准测试结果

故障排除

如果遇到安装或使用问题,请参考 TROUBLESHOOTING.md 文件获取常见问题的解决方案。

注意事项

  1. 内存要求:建议至少32GB RAM来加载TimesFM依赖
  2. ARM架构:部分依赖不支持ARM架构,苹果芯片用户可能需要等待后续更新
  3. 版本兼容性:TimesFM 1.0和2.0版本的代码已存档在v1/目录中

TimesFM为时间序列预测提供了强大的基础模型能力,通过合理的配置和使用,可以在各种预测任务中取得优异的表现。

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

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

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值