API 参考
SDK 参考
源
NixtlaClient
与 Nixtla API 交互的客户端。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| api_key | 可选 | 无 | 用于与 Nixtla API 交互的授权 api_key。 如果未提供,将使用 NIXTLA_API_KEY 环境变量。 | 
| base_url | 可选 | 无 | 自定义 base_url。 如果未提供,将使用 NIXTLA_BASE_URL 环境变量。 | 
| 超时 | 可选 | 60 | 请求超时时间(秒)。设置为 None可禁用。 | 
| 最大重试次数 | int | 6 | 在放弃之前调用 API 的最大尝试次数。 它定义了客户端在 API 调用失败时将重试的次数。 默认值为 6,表示客户端总共将尝试调用 API 最多 6 次 | 
| 重试间隔 | int | 10 | 连续重试尝试之间的间隔(秒)。 这是客户端在失败尝试后再次尝试调用 API 之前的等待期。 默认值为 10 秒,表示客户端在重试之间等待 10 秒。 | 
| 最大等待时间 | int | 360 | 客户端在放弃之前所有重试尝试花费的最大总时间(秒)。 这为所有重试尝试的累计等待时间设置了上限。 如果超过此时间,客户端将停止重试并抛出异常。 默认值为 360 秒,表示如果总时间超过 360 秒,客户端将停止重试。 花费在重试上的时间超过 360 秒。 客户端在 60 秒不活动后会抛出 ReadTimeout 错误。如果您想捕获这些错误,请将 max_wait_time 设置得远大于 60。 | 
源
NixtlaClient.validate_api_key
检查 API 密钥状态。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| log | bool | True | 显示端点的响应。 | 
| 返回值 | bool | API 密钥是否有效。 | 
源
NixtlaClient.forecast
使用 TimeGPT 预测您的时间序列。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| df | AnyDFType | 函数将操作的 DataFrame。预期至少包含以下列: - time_col df中包含时间序列时间索引的列名。这通常是一个日期时间列,具有规律的间隔,例如每小时、每日、每月的数据点。 - target_col df中包含时间序列目标变量的列名,即我们希望预测或分析的变量。 此外,您可以传入多个时间序列(堆叠在 dataframe 中),考虑使用一个附加列: - id_col df中标识唯一时间序列的列名。此列中的每个唯一值对应一个唯一的时间序列。 | |
| h | Annotated | 预测范围。 | |
| freq | Union | 无 | 时间戳的频率。如果为 None,将自动推断。参见 pandas 可用的频率列表。 | 
| id_col | str | unique_id | 标识每个时间序列的列。 | 
| time_col | str | ds | 标识每个时间步的列,其值可以是时间戳或整数。 | 
| target_col | str | y | 包含目标变量的列。 | 
| X_df | 可选 | 无 | 包含 [ unique_id,ds] 列和df未来外生变量的 DataFrame。 | 
| level | 可选 | 无 | 用于预测区间的置信水平,介于 0 到 100 之间。 | 
| quantiles | 可选 | 无 | 要预测的分位数,列表,介于 (0, 1) 之间。 level和quantiles不应同时使用。输出 dataframe 将包含分位数列, 每个 q 的格式为 TimeGPT-q-(100 * q)。 100 * q 表示百分位数,但我们选择这种表示法 以避免列名中出现点号。 | 
| finetune_steps | Annotated | 0 | 用于在新数据上微调 TimeGPT 学习的步数。 新数据。 | 
| finetune_depth | Literal | 1 | 微调的深度。使用 1 到 5 的范围,其中 1 表示微调程度较低, 5 表示整个模型都进行了微调。 | 
| finetune_loss | Literal | default | 用于微调的损失函数。选项包括: default,mae,mse,rmse,mape, 和smape。 | 
| finetuned_model_id | 可选 | 无 | 要使用的先前微调模型的 ID。 | 
| clean_ex_first | bool | True | 在使用 TimeGPT 进行预测之前清理外生信号。 | 
| hist_exog_list | 可选 | 无 | 历史外生特征的列名。 | 
| validate_api_key | bool | False | 如果为 True,在发送请求前验证 api_key。 | 
| add_history | bool | False | 返回模型的拟合值。 | 
| date_features | Union | False | 从日期计算出的特征。 可以是 pandas 日期属性,或以日期为输入的函数。 如果为 True,将自动添加 df频率下最常用的日期特征。df的频率。 | 
| date_features_to_one_hot | Union | False | 对这些日期特征应用独热编码。 如果 date_features=True,则所有日期特征将默认进行独热编码。 | 
| model | Literal | timegpt-1 | 要使用的模型(字符串)。选项包括: timegpt-1和timegpt-1-long-horizon。如果希望预测超出数据频率一个季节性 周期以上的时间,我们建议使用 timegpt-1-long-horizon进行预测。根据您的数据频率确定的周期。 | 
| num_partitions | 可选 | 无 | 使用的分区数量。 如果为 None,分区数量将等于 分布式环境中可用的并行资源。 | 
| feature_contributions | bool | False | |
| 返回值 | AnyDFType | 包含 TimeGPT 点预测和概率预测(如果 level 不为 None)的 DataFrame 预测 (如果 level 不为 None)。 | 
源
NixtlaClient.cross_validation
使用 TimeGPT 对您的时间序列执行交叉验证。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| df | AnyDFType | 函数将操作的 DataFrame。预期至少包含以下列: - time_col df中包含时间序列时间索引的列名。这通常是一个日期时间列,具有规律的间隔,例如每小时、每日、每月的数据点。 - target_col df中包含时间序列目标变量的列名,即我们希望预测或分析的变量。 此外,您可以传入多个时间序列(堆叠在 dataframe 中),考虑使用一个附加列: - id_col df中标识唯一时间序列的列名。此列中的每个唯一值对应一个唯一的时间序列。 | |
| h | Annotated | 预测范围。 | |
| freq | Union | 无 | 时间戳的频率。如果为 None,将自动推断。参见 pandas 可用的频率列表。 | 
| id_col | str | unique_id | 标识每个时间序列的列。 | 
| time_col | str | ds | 标识每个时间步的列,其值可以是时间戳或整数。 | 
| target_col | str | y | 包含目标变量的列。 | 
| level | 可选 | 无 | 用于预测区间的置信水平,介于 0 到 100 之间。 | 
| quantiles | 可选 | 无 | 要预测的分位数,列表,介于 (0, 1) 之间。 level和quantiles不应同时使用。输出 dataframe 将包含分位数列, 每个 q 的格式为 TimeGPT-q-(100 * q)。 100 * q 表示百分位数,但我们选择这种表示法 以避免列名中出现点号。 | 
| validate_api_key | bool | False | 如果为 True,在发送请求前验证 api_key。 | 
| n_windows | Annotated | 1 | 要评估的窗口数量。 | 
| step_size | 可选 | 无 | 每个交叉验证窗口之间的步长。如果为 None,将等于 h。 | 
| finetune_steps | Annotated | 0 | 用于微调 TimeGPT 的步数,用于 新数据。 | 
| finetune_depth | Literal | 1 | 微调的深度。使用 1 到 5 的范围,其中 1 表示微调程度较低, 5 表示整个模型都进行了微调。 | 
| finetune_loss | Literal | default | 用于微调的损失函数。选项包括: default,mae,mse,rmse,mape, 和smape。 | 
| finetuned_model_id | 可选 | 无 | 要使用的先前微调模型的 ID。 | 
| refit | bool | True | 在每个窗口中微调模型。如果为 False,仅在第一个窗口中进行微调。仅当 finetune_steps> 0 时使用。 | 
| clean_ex_first | bool | True | 在使用 TimeGPT 进行预测之前清理外生信号。 | 
| hist_exog_list | 可选 | 无 | 历史外生特征的列名。 | 
| date_features | Union | False | 从日期计算出的特征。 可以是 pandas 日期属性,或以日期为输入的函数。 如果为 True,将自动添加 df频率下最常用的日期特征。df的频率。 | 
| date_features_to_one_hot | Union | False | 对这些日期特征应用独热编码。 如果 date_features=True,则所有日期特征将默认进行独热编码。 | 
| model | Literal | timegpt-1 | 要使用的模型(字符串)。选项包括: timegpt-1和timegpt-1-long-horizon。如果希望预测超出数据频率一个季节性 周期以上的时间,我们建议使用 timegpt-1-long-horizon进行预测。根据您的数据频率确定的周期。 | 
| num_partitions | 可选 | 无 | 使用的分区数量。 如果为 None,分区数量将等于 分布式环境中可用的并行资源。 | 
| 返回值 | AnyDFType | 包含交叉验证预测结果的 DataFrame。 | 
源
NixtlaClient.detect_anomalies
使用 TimeGPT 检测您的时间序列中的异常。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| df | AnyDFType | 函数将操作的 DataFrame。预期至少包含以下列: - time_col df中包含时间序列时间索引的列名。这通常是一个日期时间列,具有规律的间隔,例如每小时、每日、每月的数据点。 - target_col df中包含时间序列目标变量的列名,即我们希望预测或分析的变量。 此外,您可以传入多个时间序列(堆叠在 dataframe 中),考虑使用一个附加列: - id_col df中标识唯一时间序列的列名。此列中的每个唯一值对应一个唯一的时间序列。 | |
| freq | Union | 无 | 时间戳的频率。如果为 None,将自动推断。参见 pandas 可用的频率列表。 | 
| id_col | str | unique_id | 标识每个时间序列的列。 | 
| time_col | str | ds | 标识每个时间步的列,其值可以是时间戳或整数。 | 
| target_col | str | y | 包含目标变量的列。 | 
| level | Union | 99 | 用于检测异常的置信水平,介于 0 到 100 之间。 | 
| finetuned_model_id | 可选 | 无 | 要使用的先前微调模型的 ID。 | 
| clean_ex_first | bool | True | 在使用 TimeGPT 进行预测之前清理外生信号。 使用 TimeGPT。 | 
| validate_api_key | bool | False | 如果为 True,在发送请求前验证 api_key。 | 
| date_features | Union | False | 从日期计算出的特征。 可以是 pandas 日期属性,或以日期为输入的函数。 如果为 True,将自动添加 df频率下最常用的日期特征。df的频率。 | 
| date_features_to_one_hot | Union | False | 对这些日期特征应用独热编码。 如果 date_features=True,则所有日期特征将默认进行独热编码。 | 
| model | Literal | timegpt-1 | 要使用的模型(字符串)。选项包括: timegpt-1和timegpt-1-long-horizon。如果希望预测超出数据频率一个季节性 周期以上的时间,我们建议使用 timegpt-1-long-horizon进行预测。根据您的数据频率确定的周期。 | 
| num_partitions | 可选 | 无 | 使用的分区数量。 如果为 None,分区数量将等于 分布式环境中可用的并行资源。 | 
| 返回值 | AnyDFType | 包含 TimeGPT 标记的异常的 DataFrame。 | 
源
NixtlaClient.usage
查询已消耗的请求数和限制
源
NixtlaClient.finetune
将 TimeGPT 微调到您的时间序列。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| df | Union | 函数将操作的 DataFrame。预期至少包含以下列: - time_col df中包含时间序列时间索引的列名。这通常是一个日期时间列,具有规律的间隔,例如每小时、每日、每月的数据点。 - target_col df中包含时间序列目标变量的列名,即我们希望预测或分析的变量。 此外,您可以传入多个时间序列(堆叠在 dataframe 中),考虑使用一个附加列: - id_col df中标识唯一时间序列的列名。此列中的每个唯一值对应一个唯一的时间序列。 | |
| freq | Union | 无 | 时间戳的频率。如果为 None,将自动推断。参见 pandas 可用的频率列表。 | 
| id_col | str | unique_id | 标识每个时间序列的列。 | 
| time_col | str | ds | 标识每个时间步的列,其值可以是时间戳或整数。 | 
| target_col | str | y | 包含目标变量的列。 | 
| finetune_steps | Annotated | 10 | 用于在新数据上微调 TimeGPT 学习的步数。 | 
| finetune_depth | Literal | 1 | 微调的深度。使用 1 到 5 的范围,其中 1 表示微调程度较低, 5 表示整个模型都进行了微调。 | 
| finetune_loss | Literal | default | 用于微调的损失函数。选项包括: default,mae,mse,rmse,mape, 和smape。 | 
| output_model_id | 可选 | 无 | 要分配给微调模型的 ID。如果为 None,则使用 UUID。 | 
| finetuned_model_id | 可选 | 无 | 用作基础的先前微调模型的 ID。 | 
| model | Literal | timegpt-1 | 要使用的模型(字符串)。选项包括: timegpt-1和timegpt-1-long-horizon。如果希望预测超出数据频率一个季节性 周期以上的时间,我们建议使用 timegpt-1-long-horizon进行预测。根据您的数据频率确定的周期。 | 
| 返回值 | str | 微调模型的 ID | 
源
NixtlaClient.finetuned_models
列出微调模型
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| as_df | bool | False | 将微调模型作为 pandas dataframe 返回 | 
| 返回值 | Union | 可用微调模型的列表。 | 
源
NixtlaClient.finetuned_model
获取微调模型的元数据
| 类型 | 详情 | |
|---|---|---|
| finetuned_model_id | str | 要获取元数据的微调模型的 ID。 | 
| 返回值 | FinetunedModel | 微调模型的元数据。 | 
源
NixtlaClient.delete_finetuned_model
删除先前微调的模型
| 类型 | 详情 | |
|---|---|---|
| finetuned_model_id | str | 要删除的微调模型的 ID。 | 
| 返回值 | bool | 删除是否成功。 | 
源
NixtlaClient.plot
绘制预测值和样本内值。
| 类型 | 默认值 | 详情 | |
|---|---|---|---|
| df | Union | 无 | 函数将操作的 DataFrame。预期至少包含以下列: - time_col df中包含时间序列时间索引的列名。这通常是一个日期时间列,具有规律的间隔,例如每小时、每日、每月的数据点。 - target_col df中包含时间序列目标变量的列名,即我们希望预测或分析的变量。 此外,您可以传入多个时间序列(堆叠在 dataframe 中),考虑使用一个附加列: - id_col df中标识唯一时间序列的列名。此列中的每个唯一值对应一个唯一的时间序列。 | 
| forecasts_df | Union | 无 | 包含 [ unique_id,ds] 列和模型的 DataFrame。 | 
| id_col | str | unique_id | 标识每个时间序列的列。 | 
| time_col | str | ds | 标识每个时间步的列,其值可以是时间戳或整数。 | 
| target_col | str | y | 包含目标变量的列。 | 
| unique_ids | Union | 无 | 要绘制的时间序列。 如果为 None,时间序列将随机选择。 | 
| plot_random | bool | True | 随机选择要绘制的时间序列。 | 
| max_ids | int | 8 | 要绘制的最大 ID 数量。 | 
| models | 可选 | 无 | 要绘制的模型列表。 | 
| level | 可选 | 无 | 如果传入,要绘制的预测区间列表。 | 
| max_insample_length | 可选 | 无 | 要绘制的最大训练/样本内观测值数量。 | 
| plot_anomalies | bool | False | 为每个预测区间绘制异常。 | 
| engine | Literal | matplotlib | 用于绘图的库。'matplotlib'、'plotly' 或 'plotly-resampler'。 | 
| resampler_kwargs | 可选 | 无 | 要传递给 plotly-resampler 构造函数的 Kwargs。 如需进一步自定义 (“show_dash”),请调用该方法, 存储绘图对象并将额外参数添加到 其 show_dash方法中。 | 
| ax | Union | 无 | 将添加绘图的对象。 | 

