TimesFM:基于预训练的时间序列预测基础模型

你是否曾经为复杂多变的时间序列预测问题而头疼?无论是金融市场的波动、销售数据的季节性变化,还是物联网设备的监控指标,传统方法往往需要大量领域知识和手动特征工程。TimesFM(Time Series Foundation Model)的出现,旨在彻底解决这个问题。它是一个由 Google Research 开发的预训练时间序列基础模型,基于解码器架构,能够帮助开发者和数据科学家高效、精准地进行时间序列预测。

截至收录:
TimesFM stars数:6064
TimesFM forks数:539

TimesFM项目目录截图

TimesFM核心亮点

🌟 预训练强大性能:基于大规模时间序列数据预训练,无需大量标注数据即可实现高精度预测,显著降低领域适配成本。
🎯 灵活可扩展:支持多种上下文长度(最高16k)和预测范围(最高1k),并可选配连续分位数预测头,满足不同业务需求。
🔒 高效推理优化:模型参数量从500M精简至200M,同时保持优异性能,推理速度更快,资源占用更少。
🧩 开源生态友好:提供 PyTorch 和即将推出的 Flax 版本,支持 BigQuery 等官方产品集成,方便开发者快速部署。

TimesFM快速开始

只需几步,你就能在本地运行起 TimesFM

  1. 安装
    # 克隆项目并安装
    $ git clone https://github.com/google-research/timesfm.git
    $ cd timesfm
    $ pip install -e .
  2. 运行你的第一个预测
    import numpy as np
    import timesfm
    model = timesfm.TimesFM_2p5_200M_torch()
    model.load_checkpoint()
    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)),
        ],  # Two dummy inputs
    )
    point_forecast.shape  # (2, 12)
    quantile_forecast.shape  # (2, 12, 10): mean, then 10th to 90th quantiles.
  3. 查看示例
    更多详细用法和示例可参考项目文档和 BigQuery 集成指南。

TimesFM应用场景

场景一:金融预测:可用于股票价格、汇率波动等金融时间序列的短期和长期预测,支持分位数预测以评估风险。
场景二:销售与需求规划:零售商可利用其预测季节性销售趋势,优化库存管理和供应链决策。
场景三:物联网监控:适用于设备传感器数据的异常检测和趋势预测,提升运维效率。
用户案例:目前,TimesFM 已集成至 Google BigQuery,并被多家企业和研究机构用于时间序列分析任务。

TimesFM链接

google-research / timesfm项目地址:https://github.com/google-research/timesfm

本文地址:https://www.tgoos.com/10828

声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。