gluonts.mx.model.seq2seq 包#

class gluonts.mx.model.seq2seq.MQCNNEstimator(freq: str, prediction_length: int, context_length: Optional[int] = None, use_past_feat_dynamic_real: bool = False, use_feat_dynamic_real: bool = False, use_feat_static_cat: bool = False, cardinality: Optional[List[int]] = None, embedding_dimension: Optional[List[int]] = None, add_time_feature: bool = True, add_age_feature: bool = False, enable_encoder_dynamic_feature: bool = True, enable_decoder_dynamic_feature: bool = True, seed: Optional[int] = None, decoder_mlp_dim_seq: Optional[List[int]] = None, channels_seq: Optional[List[int]] = None, dilation_seq: Optional[List[int]] = None, kernel_size_seq: Optional[List[int]] = None, use_residual: bool = True, quantiles: Optional[List[float]] = None, distr_output: Optional[gluonts.mx.distribution.distribution_output.DistributionOutput] = None, 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), scaling: Optional[bool] = None, scaling_decoder_dynamic_feature: bool = False, num_forking: Optional[int] = None, max_ts_len: Optional[int] = None, is_iqf: bool = True, batch_size: int = 32, train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None)[source]#

基类: gluonts.mx.model.seq2seq._forking_estimator.ForkingSeq2SeqEstimator

一个使用卷积神经网络 (CNN) 作为编码器和多分位数 MLP 作为解码器的 MQDNNEstimator。实现了 [WTN+17] 中提出的 MQ-CNN Forecaster。

请注意,MQCNN 使用 ValidationSplitSampler 作为其默认的 train_sampler。如果 context_length 小于输入时间序列的长度,则仅使用一个示例进行训练。

参数
  • freq (str): 数据的时间粒度。

  • prediction_length (int): 预测的长度,也称为“范围”。

  • context_length (Optional[int]): 用于预测的时间单位数量,也称为“回顾期”。(默认: 4 * prediction_length)

  • use_past_feat_dynamic_real (bool): 是否使用数据中的 past_feat_dynamic_real 字段。(默认: False) 使用 from_inputs 类方法创建 MQCNNEstimator 时自动推断。

  • use_feat_dynamic_real (bool): 是否使用数据中的 feat_dynamic_real 字段。(默认: False) 使用 from_inputs 类方法创建 MQCNNEstimator 时自动推断。

  • use_feat_static_cat (bool): 是否使用数据中的 feat_static_cat 字段。(默认: False) 使用 from_inputs 类方法创建 MQCNNEstimator 时自动推断。

  • cardinality (Optional[List[int]]): 每个分类特征的值的数量。如果 use_feat_static_cat == True,则必须设置此参数。(默认: None) 使用 from_inputs 类方法创建 MQCNNEstimator 时自动推断。

  • embedding_dimension (Optional[List[int]]): 分类特征嵌入的维度。(默认: [min(50, (cat+1)//2) for cat in cardinality])

  • add_time_feature (bool): 添加一组时间特征。(默认: True)

  • add_age_feature (bool): 添加年龄特征。(默认: False) 年龄特征在时间序列开始时以较小的值开始,并随时间增长。

  • enable_encoder_dynamic_feature (bool): 编码器是否也应提供动态特征(如果启用,则分别为 agetimefeat_dynamic_real)。(默认: True)

  • enable_decoder_dynamic_feature (bool): 解码器是否也应提供动态特征(如果启用,则分别为 agetimefeat_dynamic_real)。(默认: True) 如果预测范围内没有 feat_dynamic_real,则禁用此功能是有意义的。

  • seed (Optional[int]): 如果指定,将为 numpy 和 MXNet 设置指定的 int 种子。(默认: None)

  • decoder_mlp_dim_seq (Optional[List[int]]): 解码器多层感知器 (MLP) 层的维度。(默认: [30])

  • channels_seq (Optional[List[int]]): HierarchicalCausalConv1DEncoder 中每层的通道数(即滤波器或卷积)。更多通道通常对应于更好的性能和更大的网络大小。(默认: [30, 30, 30])

  • dilation_seq (Optional[List[int]]): HierarchicalCausalConv1DEncoder 中每层卷积的扩张率。数值越大,网络感受野越大,对于较长的 context_length 通常更好。(与 channels_seq 长度相同) (默认: [1, 3, 5])

  • kernel_size_seq (Optional[List[int]]): HierarchicalCausalConv1DEncoder 中每层卷积的核大小(即窗口大小)。(与 channels_seq 长度相同) (默认: [7, 3, 3])

  • use_residual (bool): 分层编码器是否应额外将未更改的过去目标传递给解码器。(默认: True)

  • quantiles (Optional[List[float]]): 模型将优化和预测的分位数列表。优化比您直接感兴趣的分位数更多的分位数可以由于正则化效应而提高性能。(默认: [0.025, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.975])

  • distr_output (Optional[gluonts.mx.distribution.distribution_output.DistributionOutput]): 要使用的 DistributionOutput。只能设置 quantiledistr_output 中的一个。(默认: None)

  • trainer (gluonts.mx.trainer._base.Trainer): 用于训练的 GluonTS 训练器。(默认: Trainer())

  • scaling (Optional[bool]): 是否自动缩放目标值。(默认: 如果使用 quantile_output 则为 False,否则为 True)

  • scaling_decoder_dynamic_feature (bool): 是否自动缩放解码器的动态特征。(默认: False)

  • num_forking (Optional[int]): 决定在解码器中进行多少分叉。1 会简化为 seq2seq,enc_len 会简化为 MQ-CNN。

  • max_ts_len (Optional[int]): 返回数据集中用于限制 context_length 的最长的时间序列的长度。

  • is_iqf (bool): 确定是使用 IQF 还是 QF。(默认: True)。

  • batch_size (int): 用于训练和预测的批次大小。

  • train_sampler (Optional[gluonts.transform.sampler.InstanceSampler]): 控制训练期间的窗口采样。

  • validation_sampler (Optional[gluonts.transform.sampler.InstanceSampler]): 控制验证期间的窗口采样。

classmethod derive_auto_fields(train_iter)[source]#
classmethod from_inputs(train_iter, **params)[source]#
lead_time: int#
prediction_length: int#
class gluonts.mx.model.seq2seq.MQRNNEstimator(prediction_length: int, freq: str, context_length: Optional[int] = None, decoder_mlp_dim_seq: Optional[List[int]] = None, 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), quantiles: Optional[List[float]] = None, distr_output: Optional[gluonts.mx.distribution.distribution_output.DistributionOutput] = None, scaling: Optional[bool] = None, scaling_decoder_dynamic_feature: bool = False, num_forking: Optional[int] = None, is_iqf: bool = True, batch_size: int = 32, train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None)[source]#

基类: gluonts.mx.model.seq2seq._forking_estimator.ForkingSeq2SeqEstimator

一个使用循环神经网络 (RNN) 作为编码器和多分位数 MLP 作为解码器的 MQDNNEstimator

实现了 [WTN+17] 中提出的 MQ-RNN Forecaster。

请注意,MQRNN 使用 ValidationSplitSampler 作为其默认的 train_sampler。如果 context_length 小于输入时间序列的长度,则仅使用一个示例进行训练。

lead_time: int#
prediction_length: int#
class gluonts.mx.model.seq2seq.RNN2QRForecaster(freq: str, prediction_length: int, cardinality: List[int], embedding_dimension: int, encoder_rnn_layer: int, encoder_rnn_num_hidden: int, decoder_mlp_layer: List[int], decoder_mlp_static_dim: int, encoder_rnn_model: str = 'lstm', encoder_rnn_bidirectional: bool = True, scaler: gluonts.mx.block.scaler.Scaler = gluonts.mx.block.scaler.NOPScaler(), context_length: Optional[int] = None, quantiles: Optional[List[float]] = None, 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), num_parallel_samples: int = 100)[source]#

基类: gluonts.mx.model.seq2seq._seq2seq_estimator.Seq2SeqEstimator

lead_time: int#
prediction_length: int#
class gluonts.mx.model.seq2seq.Seq2SeqEstimator(freq: str, prediction_length: int, cardinality: List[int], embedding_dimension: int, encoder: gluonts.mx.block.encoder.Seq2SeqEncoder, decoder_mlp_layer: List[int], decoder_mlp_static_dim: int, scaler: gluonts.mx.block.scaler.Scaler = gluonts.mx.block.scaler.NOPScaler(), context_length: Optional[int] = None, quantiles: Optional[List[float]] = None, 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), train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, num_parallel_samples: int = 100, batch_size: int = 32)[source]#

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

分位数回归序列到序列估计器。

create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: gluonts.mx.model.seq2seq._seq2seq_network.Seq2SeqTrainingNetwork) gluonts.model.predictor.Predictor[source]#

创建并返回一个预测器对象。

参数
  • transformation (Transformation): 应用于数据进入模型前的转换。

  • module: 一个训练好的 HybridBlock 对象。

返回

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

返回类型

预测器

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

创建用于训练的数据加载器。

参数

data (Dataset): 用于创建数据加载器的数据集。

返回

返回

返回类型

数据加载器,即批量数据的迭代器。

DataLoader

create_training_network() mxnet.gluon.block.HybridBlock[source]#

返回

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

返回类型

返回

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

HybridBlock

返回

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

返回类型

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

返回

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

参数

data (Dataset): 用于创建数据加载器的数据集。

返回

返回

返回类型

数据加载器,即批量数据的迭代器。

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