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。
- 返回类型
- 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]#
创建并返回训练和推理所需的变换。
- 返回值
在训练和推理时,将逐条应用于数据集的变换。
- 返回类型
- create_validation_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]] [source]#
创建一个用于验证目的的数据加载器。
- 参数
data – 用于创建数据加载器的数据集。
- 返回值
数据加载器,即数据的批次可迭代对象。
- 返回类型
DataLoader
- lead_time: int#
- prediction_length: int#