核心
NeuralForecast 包含两个主要组件:基于 PyTorch 实现的深度学习预测模型,以及并行化和分布式计算工具。第一个组件包括低级 PyTorch 模型估计器类,如 models.NBEATS
和 models.RNN
。第二个组件是高级 core.NeuralForecast
包装器类,用于处理存储在 pandas DataFrame 中的时间序列数据集。
源
NeuralForecast
core.StatsForecast
类允许您高效地拟合大量时间序列的多个 NeuralForecast
模型。它使用 pandas DataFrame df
进行操作,该 DataFrame 使用 unique_id
和 ds
列标识序列和日期时间戳。y
列表示目标时间序列变量。
类型 | 默认值 | 详情 | |
---|---|---|---|
models | 列表 | 实例化的 neuralforecast.models 请参阅此处的集合。 | |
freq | 联合类型 | 数据的频率。必须是有效的 pandas 或 polars offset 别名,或一个整数。 | |
local_scaler_type | 可选 | None | 在拟合之前对每个序列的所有特征应用的缩放器,预测后会反转。 可以是 ‘standard’、‘robust’、‘robust-iqr’、‘minmax’ 或 ‘boxcox’ |
返回 | NeuralForecast | 返回实例化的 NeuralForecast 类。 |
源
NeuralForecast.fit
*拟合 core.NeuralForecast。*
*将 models
拟合到 DataFrame df
中的大量时间序列。并存储拟合的模型以供后续检查。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | 联合类型 | None | 包含 [unique_id , ds , y ] 列和外生变量的 DataFrame。如果为 None,则需要之前存储的数据集。 |
static_df | 联合类型 | None | 包含 [unique_id ] 列和静态外生变量的 DataFrame。 |
val_size | 可选 | 0 | 验证集大小。 |
use_init_models | 布尔值 | False | 使用实例化 NeuralForecast 对象时传入的初始模型。 |
verbose | 布尔值 | False | 打印处理步骤。 |
id_col | 字符串 | unique_id | 标识每个序列的列。 |
time_col | 字符串 | ds | 标识每个时间步的列,其值可以是时间戳或整数。 |
target_col | 字符串 | y | 包含目标的列。 |
distributed_config | 可选 | None | 用于 DDP 训练的配置。目前仅支持 spark。 |
prediction_intervals | 可选 | None | 校准预测区间(一致性预测)的配置。 |
返回 | NeuralForecast | 返回包含拟合的 models 的 NeuralForecast 类。 |
源
NeuralForecast.predict
*使用 core.NeuralForecast 进行预测。*
*使用存储的拟合 models
从 DataFrame df
中预测大量时间序列。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | 联合类型 | None | 包含 [unique_id , ds , y ] 列和外生变量的 DataFrame。如果传入 DataFrame,则用于生成预测。 |
static_df | 联合类型 | None | 包含 [unique_id ] 列和静态外生变量的 DataFrame。 |
futr_df | 联合类型 | None | 包含 [unique_id , ds ] 列和 df 的未来外生变量的 DataFrame。 |
verbose | 布尔值 | False | 打印处理步骤。 |
engine | NoneType | None | 用于推理的分布式引擎。仅在 df 是 spark dataframe 或 fit 是在 spark dataframe 上调用时使用。 |
level | 可选 | None | 0 到 100 之间的置信水平。 |
quantiles | 可选 | None | level 的替代方案,目标分位数进行预测。 |
data_kwargs | VAR_KEYWORD | 传递给每个模型内数据集的额外参数。 | |
返回 | pandas 或 polars DataFrame | **包含样本内 models 列的 DataFrame,用于点预测和概率预测****所有拟合的 models 的预测。** |
源
NeuralForecast.cross_validation
*使用 core.NeuralForecast 进行时间序列交叉验证。*
core.NeuralForecast
的交叉验证通过多个窗口高效地拟合 NeuralForecast 模型列表,可以采用链式或滚动方式进行。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | 联合类型 | None | 包含 [unique_id , ds , y ] 列和外生变量的 DataFrame。如果为 None,则需要之前存储的数据集。 |
static_df | 联合类型 | None | 包含 [unique_id ] 列和静态外生变量的 DataFrame。 |
n_windows | 整数 | 1 | 用于交叉验证的窗口数量。 |
step_size | 整数 | 1 | 每个窗口之间的步长。 |
val_size | 可选 | 0 | 验证集长度。如果传入,将 n_windows 设置为 None。 |
test_size | 可选 | None | 测试集长度。如果传入,将 n_windows 设置为 None。 |
use_init_models | 布尔值 | False | 使用对象实例化时传入的初始模型。 |
verbose | 布尔值 | False | 打印处理步骤。 |
refit | 联合类型 | False | 为每个交叉验证窗口重新训练模型。 如果为 False,则模型在开始时训练一次,然后用于预测每个窗口。 如果为正整数,则模型每 refit 个窗口重新训练。 |
id_col | 字符串 | unique_id | 标识每个序列的列。 |
time_col | 字符串 | ds | 标识每个时间步的列,其值可以是时间戳或整数。 |
target_col | 字符串 | y | 包含目标的列。 |
prediction_intervals | 可选 | None | 校准预测区间(一致性预测)的配置。 |
level | 可选 | None | 0 到 100 之间的置信水平。 |
quantiles | 可选 | None | level 的替代方案,目标分位数进行预测。 |
data_kwargs | VAR_KEYWORD | 传递给每个模型内数据集的额外参数。 | |
返回 | 联合类型 | **包含样本内 models 列的 DataFrame,用于点预测和概率预测****所有拟合的 models 的预测。** |
源
NeuralForecast.predict_insample
*使用 core.NeuralForecast 进行样本内预测。*
core.NeuralForecast
的 predict_insample
使用存储的拟合 models
从存储的 dataframe 中预测时间序列的历史值。*
类型 | 默认值 | 详情 | |
---|---|---|---|
step_size | 整数 | 1 | 每个窗口之间的步长。 |
返回 | pandas.DataFrame | **包含所有拟合的 models 的样本内预测的 DataFrame。** |
源
NeuralForecast.save
*保存 NeuralForecast 核心类。*
core.NeuralForecast
的方法,用于保存模型、数据集和配置的当前状态。请注意,默认情况下 models
不保存训练检查点以节省磁盘空间,要保存检查点,请更改单个模型的 **trainer_kwargs
以包含 enable_checkpointing=True
。*
类型 | 默认值 | 详情 | |
---|---|---|---|
path | 字符串 | 保存当前状态的目录。 | |
model_index | 可选 | None | 指定从 self.models 列表中保存哪些模型的列表。 |
save_dataset | 布尔值 | True | 是否保存数据集。 |
overwrite | 布尔值 | False | 是否覆盖文件。 |
源
NeuralForecast.load
*加载 NeuralForecast*
core.NeuralForecast
的方法,用于从路径加载检查点。*
类型 | 默认值 | 详情 | |
---|---|---|---|
path | 字符串 | 包含存储工件的目录。 | |
verbose | 布尔值 | False | |
kwargs | VAR_KEYWORD | 要传递给函数的额外关键字参数load_from_checkpoint . | |
返回 | NeuralForecast | 实例化的 NeuralForecast 类。 |