TimeGPT是一款可用于生产的、生成式预训练的时间序列变压器。只需几行代码,它就能准确预测零售、电力、金融、物联网等各个领域。
pip install nixtla >= 0.5 . 1
import pandas as pd
from nixtla import NixtlaClient
# Get your API Key at dashboard.nixtla.io
# 1. Instantiate the NixtlaClient
nixtla_client = NixtlaClient ( api_key = 'YOUR API KEY HERE' )
# 2. Read historic electricity demand data
df = pd . read_csv ( 'https://raw.githubusercontent.com/Nixtla/transfer-learning-time-series/main/datasets/electricity-short.csv' )
# 3. Forecast the next 24 hours
fcst_df = nixtla_client . forecast ( df , h = 24 , level = [ 80 , 90 ])
# 4. Plot your results (optional)
nixtla_client . plot ( df , fcst_df , level = [ 80 , 90 ])
# Get your API Key at dashboard.nixtla.io
# 1. Instantiate the NixtlaClient
nixtla_client = NixtlaClient ( api_key = 'YOUR API KEY HERE' )
# 2. Read Data # Wikipedia visits of NFL Star (
df = pd . read_csv ( 'https://datasets-nixtla.s3.amazonaws.com/peyton-manning.csv' )
# 3. Detect Anomalies
anomalies_df = nixtla_client . detect_anomalies ( df , time_col = 'timestamp' , target_col = 'value' , freq = 'D' )
# 4. Plot your results (optional)
nixtla_client . plot ( df , anomalies_df , time_col = 'timestamp' , target_col = 'value' )
探索我们的 API 参考,了解如何在各种编程语言(包括 JavaScript、Go 等)中利用 TimeGPT。
零样本推理:TimeGPT 可以直接生成预测并检测异常,无需事先训练数据。这允许立即部署并从任何时间序列数据中快速获得洞察。
微调:通过在特定数据集上微调模型来增强 TimeGPT 的功能,使模型能够适应您独特的时间序列数据的细微差别,并提高定制任务的性能。
API 访问:通过我们强大的 API 将 TimeGPT 无缝集成到您的应用程序中。即将推出的对 Azure Studio 的支持将提供更灵活的集成选项。或者,在您自己的基础设施上部署 TimeGPT,以保持对数据和工作流程的完全控制。
添加外生变量:纳入可能影响您的预测的其他变量,以提高预测准确性。 (例如特殊日期、活动或价格)
多序列预测:同时预测多个时间序列数据,优化工作流程和资源。
自定义损失函数:使用自定义损失函数定制微调过程,以满足特定的性能指标。
交叉验证:实施开箱即用的交叉验证技术,以确保模型的稳健性和通用性。
预测间隔:提供预测间隔以有效量化不确定性。
不规则时间戳:处理具有不规则时间戳的数据,无需预处理即可容纳非均匀间隔序列。
深入研究我们的综合文档,发现 TimeGPT 的示例和实际用例。我们的文档涵盖广泛的主题,包括:
入门:从我们用户友好的快速入门指南开始,了解如何轻松设置 API 密钥。
高级技术:掌握高级预测方法,并了解如何通过我们的异常检测教程提高模型准确性,使用特定损失函数微调模型,以及跨分布式框架(例如 Spark、Dask 和 Ray)扩展计算。
专业主题:探索专业主题,例如处理外生变量、通过交叉验证进行模型验证以及不确定性下的预测策略。
实际应用:通过预测网络流量和预测比特币价格的案例研究,揭示 TimeGPT 如何在现实场景中应用。
时间序列数据在金融、医疗保健、气象和社会科学等各个领域都至关重要。无论是监测海洋潮汐还是跟踪道琼斯指数每日收盘值,时间序列数据对于预测和决策都至关重要。
ARIMA、ETS、MSTL、Theta、CES 等传统分析方法,XGBoost 和 LightGBM 等机器学习模型以及深度学习方法已成为分析师的标准工具。然而,TimeGPT 以其出色的性能、效率和简单性引入了范式转变。凭借其零样本推理能力,TimeGPT 简化了分析过程,即使具有最少编码经验的用户也可以轻松使用。
TimeGPT 是用户友好且低代码的,使用户能够上传时间序列数据,并仅用一行代码即可生成预测或检测异常。作为开箱即用的时间序列分析的唯一基础模型,TimeGPT 可以通过我们的公共 API、Azure Studio(即将推出)进行集成,或部署在您自己的基础设施上。
“注意力就是你所需要的一切”论文中引入的革命性概念“自我注意力”,是这个基础模型的基础。 TimeGPT 模型不基于任何现有的大型语言模型 (LLM)。它作为大型变压器模型在庞大的时间序列数据集上进行独立训练,其设计目的是最大限度地减少预测误差。
该架构由多层编码器-解码器结构组成,每层都有残差连接和层归一化。最后,线性层将解码器的输出映射到预测窗口维度。一般的直觉是,基于注意力的机制能够捕获过去事件的多样性并正确推断未来潜在的分布。
据我们所知,TimeGPT 接受了最大的公开时间序列集合的训练,总共包含超过 1000 亿个数据点。该训练集包含来自广泛领域的时间序列,包括金融、经济、人口统计、医疗保健、天气、物联网传感器数据、能源、网络流量、销售、运输和银行业务。由于域的多样性,训练数据集包含具有广泛特征的时间序列
TimeGPT 已在超过 300K 个独特系列上对其零样本推理能力进行了测试,其中涉及使用模型而无需在测试数据集上进行额外的微调。 TimeGPT 的性能优于一系列完善的统计和尖端深度学习模型,在各种频率上始终位居前三名。
TimeGPT 还擅长使用预先训练的模型提供简单而快速的预测。这与通常需要大量训练和预测管道的其他模型形成鲜明对比。
对于零样本推理,我们的内部测试记录了 TimeGPT 每个系列的平均 GPU 推理速度为 0.6 毫秒,这几乎反映了简单的 Seasonal Naive 的速度。
如果您发现 TimeGPT 对您的研究有用,请考虑引用相关论文:
@misc{garza2023timegpt1,
title={TimeGPT-1},
author={Azul Garza and Max Mergenthaler-Canseco},
year={2023},
eprint={2310.03589},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
TimeGPT 已在许多出版物中得到专题报道,并因其创新的时间序列预测方法而受到认可。以下是一些功能和提及:
TimeGPT 是闭源的。不过,该 SDK 是开源的,可在 Apache 2.0 许可证下使用。请随意贡献(查看贡献指南以了解更多详细信息)。
如有任何问题或反馈,请随时通过 ops [at] nixtla.io 与我们联系。