Nixtla API (TimeGPT) 的 Python SDK
项目描述
Nixtla

📖 目录
🚀 快速开始
https://github.com/Nixtla/nixtla/assets/4086186/163ad9e6-7a16-44e1-b2e9-dab8a0b7b6b6
安装 nixtla 的 SDK
pip install nixtla>=0.5.1
导入库并加载数据
import pandas as pd
from nixtla import NixtlaClient
使用 TimeGPT 进行预测,只需3步
# 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, timegpt_fcst_df, time_col='timestamp', target_col='value', level=[80, 90])
使用TimeGPT进行异常检测的三步法
# 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://raw.githubusercontent.com/Nixtla/transfer-learning-time-series/main/datasets/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
探索我们的API参考,了解如何利用TimeGPT在JavaScript、Go等多种编程语言中发挥其作用。
🔥 特点和功能
-
零样本推理:TimeGPT可以直接生成预测并检测异常,无需先前的训练数据。这允许即时部署并快速从任何时间序列数据中获得洞察。
-
微调:通过在您的特定数据集上微调模型来增强TimeGPT的功能,使模型能够适应您独特的时间序列数据的细微差别,并提高特定任务上的性能。
-
API访问:通过我们强大的API将TimeGPT无缝集成到您的应用程序中。即将支持的Azure Studio将为提供更多灵活的集成选项。或者,将TimeGPT部署到您自己的基础设施上,以保持对您的数据和工作流程的完全控制。
-
添加外生变量:结合可能影响您预测的额外变量以提高预测精度。(例如,特殊日期、事件或价格)
-
多序列预测:同时预测多个时间序列数据,优化工作流程和资源。
-
自定义损失函数:通过自定义损失函数来调整微调过程,以满足特定的性能指标。
-
交叉验证:实现开箱即用的交叉验证技术,以确保模型的稳健性和泛化能力。
-
预测区间:在您的预测中提供区间以有效地量化不确定性。
-
不规则时间戳:处理具有不规则时间戳的数据,无需预处理即可适应非均匀间隔序列。
📚 带示例和用例的文档
深入了解我们的全面文档,了解TimeGPT的示例和实际用例。我们的文档涵盖了广泛的主题,包括
-
高级技术:掌握高级预测方法,并通过我们的异常检测教程、使用特定损失函数微调模型以及如何在Spark、Dask和Ray等分布式框架中扩展计算教程来提高模型精度。
🗞️ TimeGPT-1:革命性的预测和异常检测
时间序列数据在金融、医疗保健、气象学和社会科学等多个行业中至关重要。无论是监测海潮还是跟踪道琼斯指数的每日收盘价,时间序列数据对于预测和决策至关重要。
传统的分析方法,如ARIMA、ETS、MSTL、Theta、CES,以及XGBoost和LightGBM等机器学习模型和深度学习方法一直是分析师的标准工具。然而,TimeGPT凭借其卓越的性能、效率和简单性引入了范式转变。多亏了其零样本推理能力,TimeGPT简化了分析过程,使其对具有最少编码经验的用户来说也变得可访问。
TimeGPT易于使用且低代码,允许用户上传他们的时间序列数据,只需一行代码即可生成预测或检测异常。作为唯一的开箱即用时间序列分析基础模型,TimeGPT可以通过我们的公共API、Azure Studio(即将推出)或部署在您自己的基础设施上。
⚙️ TimeGPT的架构
自注意力,这是由论文“Attention is all you need”引入的革命性概念,是此基础模型的基础。TimeGPT模型不是基于任何现有的大型语言模型(LLMs)。它是独立地在庞大的时间序列数据集上作为大型Transformer模型进行训练,并设计用来最小化预测误差。
该架构由一个多层编码器-解码器结构组成,每一层都具有残差连接和层归一化。最后,一个线性层将解码器的输出映射到预测窗口维度。一般的直觉是,基于注意力的机制能够捕捉过去事件的多样性,并正确地外推潜在的将来分布。
据我们所知,TimeGPT是在最大的公开时间序列集合上进行的训练,总共涵盖了超过1000亿个数据点。这个训练集包含了来自金融、经济、人口统计、医疗保健、天气、物联网传感器数据、能源、网络流量、销售、交通和银行业的广泛领域的时间序列。由于这些不同领域的多样性,训练数据集包含具有广泛特征的时间序列。
⚡️ 零样本结果
准确度
TimeGPT在300K多个独特序列上对其零样本推理能力进行了测试,这些序列涉及在不进行测试数据集上的额外微调的情况下使用模型。TimeGPT在广泛的频率上始终排名前三位,优于一系列广泛认可的统计和最前沿的深度学习模型。
易用性
TimeGPT还通过提供简单快速的使用预训练模型进行预测而表现出色。这与其他通常需要广泛训练和预测管道的模型形成鲜明对比。
效率和速度
对于零样本推理,我们内部测试记录了TimeGPT的平均GPU推理速度为每序列0.6毫秒,这几乎与简单的季节性朴素相同。
📝 如何引用?
如果您觉得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革新时间序列预测
- TimeGPT:时间序列预测的第一个基础模型
- TimeGPT:使用生成模型革新时间序列预测
- TimeGPT在Turing Post上
- TimeGPT在AWS活动上的展示
- TimeGPT:使时间序列机器学习易于访问 -播客
- TimeGPT在The Data Exchange上
- TimeGPT如何利用AI将预测分析转化为现实
- TimeGPT:第一个基础模型 - AI展望预测
🔖 许可证
TimeGPT是闭源。然而,此SDK是开源的,可在Apache 2.0许可证下使用。请自由贡献。
📞 联系我们
对于任何问题或反馈,请随时通过ops [at] nixtla.io与我们联系。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。