gluonts.mx.model.deepvar package#

class gluonts.mx.model.deepvar.DeepVAREstimator(freq: str, prediction_length: int, target_dim: int, 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_layers: int = 2, num_cells: int = 40, cell_type: str = 'lstm', num_parallel_samples: int = 100, dropout_rate: float = 0.1, use_feat_dynamic_real: bool = False, cardinality: List[int] = [1], embedding_dimension: int = 5, distr_output: Optional[gluonts.mx.distribution.distribution_output.DistributionOutput] = None, rank: Optional[int] = 5, scaling: bool = True, pick_incomplete: bool = False, lags_seq: Optional[List[int]] = None, time_features: Optional[List[Callable[[pandas.core.indexes.period.PeriodIndex], numpy.ndarray]]] = None, conditioning_length: int = 200, use_marginal_transformation=False, train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, batch_size: int = 32, **kwargs)[source]#

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

构造一个 DeepVAR 估计器,它是 DeepAR 的多变量变体。

这些模型在本文中被描述为 VEC-LSTM:https://arxiv.org/abs/1910.03002

请注意,此实现将随时间变化,我们将进一步完善此方法。要复现论文结果,请参考我们(冻结的)实现:https://github.com/mbohlkeschneider/gluon-ts/tree/mv_release

参数
  • freq – 用于训练和预测的数据频率

  • prediction_length (int) – 预测范围的长度

  • target_dim – 输入数据集的维度

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

  • context_length – 在计算预测之前展开 RNN 的步数(默认值: None,此时 context_length = prediction_length)

  • num_layers – RNN 层数(默认值: 2)

  • num_cells – 每层的 RNN 单元数(默认值: 40)

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

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

  • dropout_rate – Dropout 正则化参数(默认值: 0.1)

  • use_feat_dynamic_real – 是否使用数据中的 feat_dynamic_real 字段(默认值: False)

  • cardinality – 每个分类特征的取值数(默认值: [1])

  • embedding_dimension – 分类特征嵌入的维度(默认值: 5)

  • distr_output – 用于评估观测值和样本预测的分布(默认值: LowrankMultivariateGaussianOutput,dim=target_dim,rank=5)。请注意,DistributionOutput 的目标维度和估计器构造函数调用需要匹配。另请注意,如果 DistributionOutput 在此类之外构造,此构造函数中的 rank 是无意义的。

  • rank – LowrankMultivariateGaussianOutput 的秩。(默认值: 5)

  • scaling – 是否自动缩放目标值(默认值: True)

  • pick_incomplete – 训练样本是否可以仅以部分 past_length 时间单位采样

  • lags_seq – 用作 RNN 输入的滞后目标值的索引(默认值: None,此时根据 freq 自动确定)

  • time_features – 用作 RNN 输入的时间特征(默认值: None,此时根据 freq 自动确定)

  • conditioning_length – 设置边际变换的 conditioning 的最大长度

  • use_marginal_transformation – 是否使用边际(经验 CDF,高斯 PPF)变换。

  • train_sampler – 控制训练期间窗口的采样。

  • validation_sampler – 控制验证期间窗口的采样。

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

create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: mxnet.gluon.block.HybridBlock) 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.deepvar._network.DeepVARTrainingNetwork[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#