gluonts.mx.model.tpp.deeptpp 包#
- class gluonts.mx.model.tpp.deeptpp.DeepTPPEstimator(prediction_interval_length: float, context_interval_length: float, num_marks: int, time_distr_output: gluonts.mx.model.tpp.distribution.base.TPPDistributionOutput = gluonts.mx.model.tpp.distribution.weibull.WeibullOutput(), embedding_dim: int = 5, 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=False, init='xavier', learning_rate=0.001, num_batches_per_epoch=50, weight_decay=1e-08), num_hidden_dimensions: int = 10, num_parallel_samples: int = 100, num_training_instances: int = 100, freq: str = 'H', batch_size: int = 32)[source]#
- 基类: - gluonts.mx.model.estimator.GluonEstimator- DeepTPP 是一个基于 RNN 的多元点过程模型。 - 在每次事件 \((\tau_i, m_i)\) 发生后,我们将到达间隔时间 \(\tau_i\) 和标记 \(m_i\) 输入 RNN。RNN 的状态 \(h_i\) 表示历史嵌入。我们使用 \(h_i\) 参数化下一个到达间隔时间的分布 \(p(\tau_{i+1} | h_i)\) 和下一个标记的分布 \(p(m_{i+1} | h_i)\)。标记的分布始终是分类的,但到达间隔时间的分布可以选择不同的类型 - 详见 - gluonts.model.tpp.distribution。- 该模型是对 [DDT+16]、[TWJ19] 和 [SBG20] 中描述方法的泛化。 - 参考文献 - 参数
- prediction_interval_length – 估计器在预测时将预测的区间长度(在连续时间中)。 
- context_interval_length – 估计器将用于训练的区间长度(在连续时间中)。 
- num_marks – 标记(不同过程)的数量,即标记集的基数。 
- time_distr_output – 用于到达间隔时间分布的 TPPDistributionOutput。有关可能的选择,请参阅 - gluonts.model.tpp.distribution。
- embedding_dim – 标记的向量嵌入维度(用作 GRU 的输入)。 
- trainer – 将用于训练估计器的 - gluonts.mx.trainer.Trainer对象。请注意,必须设置- Trainer(hybridize=False),因为- DeepTPPEstimator目前不支持混合化 (hybridization)。
- num_hidden_dimensions – GRU 网络中隐藏单元的数量。 
- num_parallel_samples – 学习到的 - Predictor返回的样本数量。
- num_training_instances – 在训练期间从数据集中的每个条目中抽样的训练实例数量。 
- freq – 类似于离散时间模型的 - freq,指定了到达间隔时间所使用的时间单位。
- batch_size – 训练和预测中使用的批量大小。 
 
 - create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: gluonts.mx.model.tpp.deeptpp._network.DeepTPPTrainingNetwork) 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() mxnet.gluon.block.HybridBlock[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#
 
- class gluonts.mx.model.tpp.deeptpp.DeepTPPPredictionNetwork(prediction_interval_length: float, num_parallel_samples: int =100, *args, **kwargs)[source]#
- 基类: - gluonts.mx.model.tpp.deeptpp._network.DeepTPPNetworkBase- hybrid_forward(F, past_target: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], past_valid_length: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Tuple[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]][source]#
- 从模型中绘制前向样本。在每一步,我们对事件间隔时间进行采样,并将其输入 RNN,以获得下一个事件间隔时间分布的参数。 - 参数
- F – MXNet 后端。 
- past_target – 包含过去观测值的张量。形状:(batch_size, context_length, target_dim)。必须符合 - self.context_interval_length。
- past_valid_length – valid_length 或 past_target 张量中有效条目的数量。形状:(batch_size,) 
 
- 返回
- sampled_target (Tensor) – 预测的事件间隔时间和标记。形状:(samples, batch_size, max_prediction_length, target_dim)。 
- sampled_valid_length (Tensor) – 每个样本时间轴上的有效条目数量。形状:(samples, batch_size) 
 
 
 
- class gluonts.mx.model.tpp.deeptpp.DeepTPPTrainingNetwork(num_marks: int, interval_length: float, time_distr_output: gluonts.mx.model.tpp.distribution.base.TPPDistributionOutput = gluonts.mx.model.tpp.distribution.weibull.WeibullOutput(), embedding_dim: int = 5, num_hidden_dimensions: int =10, output_scale: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None, apply_log_to_rnn_inputs: bool =True, **kwargs)[source]#
- 基类: - gluonts.mx.model.tpp.deeptpp._network.DeepTPPNetworkBase- hybrid_forward(F, target: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], valid_length: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], **kwargs) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
- 计算给定序列的负对数似然损失。 - 由于模型是在过去(或未来)或上下文(或预测)“间隔”上训练的,而不是固定长度的“序列”,因此每个观测值的数据点数量各不相同。为了解决这个问题,数据以“不规则”张量的形式提供给训练网络。每个序列中有效条目的数量在单独的变量 - xxx_valid_length中提供。- 参数
- F – MXNet 后端。 
- target – 包含观测值的张量。形状:(batch_size, past_max_sequence_length, target_dim)。 
- valid_length – valid_length 或 past_target 张量中有效条目的数量。形状:(batch_size,) 
 
- 返回
- 损失张量。形状:(batch_size,)。 
- 返回类型
- Tensor