gluonts.mx.model.deep_factor 包#

gluonts.mx.model.deep_factor.DeepFactorEstimator(freq: str, prediction_length: int, num_hidden_global: int = 50, num_layers_global: int =1, num_factors: int = 10, num_hidden_local: int = 5, num_layers_local: int = 1, cell_type: str = 'lstm', trainer: gluonts.mx.trainer._base.Trainer = gluonts.mx.trainer._base.Trainer(add_default_callbacks=True, callbacks=None, clip_gradient=10.0, ctx=None, epochs=100, hybridize=True, init='xavier', learning_rate=0.001, num_batches_per_epoch=50, weight_decay=1e-08), context_length: Optional[int] = None, num_parallel_samples: int = 100, cardinality: List[int] = [1], embedding_dimension: int = 10, distr_output: gluonts.mx.distribution.distribution_output.DistributionOutput = gluonts.mx.distribution.student_t.StudentTOutput(), batch_size: int = 32)[source]#

基类:gluonts.mx.model.estimator.GluonEstimator

DeepFactorEstimator 是 2019 年 ICML 论文 “Deep Factors for Forecasting” (https://arxiv.org/abs/1905.12417) 的实现。它使用一个全局 RNN 模型来学习多个相关时间序列之间的模式,并使用一个任意的局部模型来对每个时间序列进行建模。在当前的实现中,局部模型是一个 RNN (DF-RNN)。

参数
  • freq – 时间序列频率。

  • prediction_length (int) – 预测长度。

  • num_hidden_global – 全局 RNN 模型的每个隐藏层的单元数量(默认值:50)。

  • num_layers_global – 全局 RNN 模型的隐藏层数量(默认值:1)。

  • num_factors – 全局因子数量(默认值:10)。

  • num_hidden_local – 局部 RNN 模型的每个隐藏层的单元数量(默认值:5)。

  • num_layers_local – 全局局部模型的隐藏层数量(默认值:1)。

  • cell_type – 要使用的循环单元类型(可用:‘lstm’ 或 ‘gru’;默认值:‘lstm’)。

  • trainer – 要使用的 Trainer 对象(默认值:Trainer())。

  • context_length – 训练长度(默认值:None,此时 context_length = prediction_length)。

  • num_parallel_samples – 每个时间序列的评估样本数量,用于在推理过程中提高并行性。这是一种模型优化,不影响准确性(默认值:100)。

  • cardinality – 包含时间序列数量的列表(默认值:list([1]))。

  • embedding_dimension – 分类特征嵌入的维度(所有嵌入使用相同维度,默认值:10)。

  • distr_output – 用于评估观测值和样本预测的分布(默认值:StudentTOutput())。

  • batch_size – 训练和预测中使用的批次大小。

create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: gluonts.mx.model.deep_factor._network.DeepFactorTrainingNetwork) gluonts.model.predictor.Predictor[source]#

创建并返回预测器对象。

参数
  • transformation – 在数据进入模型之前要应用的数据转换。

  • module – 训练过的 HybridBlock 对象。

返回值

一个封装 HybridBlock 用于推理的预测器。

返回类型

Predictor

create_training_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]][source]#

为训练目的创建数据加载器。

参数

data – 用于创建数据加载器的数据集。

返回值

数据加载器,即一个对数据批次进行迭代的对象。

返回类型

DataLoader

create_training_network() gluonts.mx.model.deep_factor._network.DeepFactorTrainingNetwork[source]#

创建并返回用于训练(即计算损失)的网络。

返回值

根据输入数据计算损失的网络。

返回类型

HybridBlock

create_transformation() gluonts.transform._base.Transformation[source]#

创建并返回训练和推理所需的数据转换。

返回值

将在训练和推理时逐条应用于数据集的转换。

返回类型

Transformation

create_validation_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]][source]#

为验证目的创建数据加载器。

参数

data – 用于创建数据加载器的数据集。

返回值

数据加载器,即一个对数据批次进行迭代的对象。

返回类型

DataLoader

lead_time: int#
prediction_length: int#