gluonts.mx.model.tpp 包#
- class gluonts.mx.model.tpp.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目前不支持混合化。
- 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.PointProcessGluonPredictor(input_names: typing.List[str], prediction_net: mxnet.gluon.block.Block, batch_size: int, prediction_interval_length: float, freq: str, ctx: mxnet.context.Context, input_transform: gluonts.transform._base.Transformation, dtype: typing.Type = <class 'numpy.float32'>, forecast_generator: gluonts.model.forecast_generator.ForecastGenerator = <gluonts.mx.model.tpp.predictor.PointProcessForecastGenerator object>, **kwargs)[source]#
- 基类: - gluonts.mx.model.predictor.GluonPredictor- 标记时间点过程模型的预测器对象。 - TPP 预测在几个方面与标准离散时间模型不同。首先,至少目前,只有实现 PointProcessSampleForecast 的样本预测可用。与 TPP 估计器对象类似,预测器使用 - prediction_interval_length而不是- prediction_length。- 预测器还考虑了预测网络输出一个包含样本本身及其 valid_length 的 2 元组张量这一事实。 - 参数
- prediction_interval_length – 预测间隔的长度 
 - as_symbol_block_predictor(batch: Optional[Dict[str, Any]] = None, dataset: Optional[gluonts.dataset.Dataset] = None) gluonts.mx.model.predictor.SymbolBlockPredictor[source]#
- 返回当前 - GluonPredictor的一个变体,该变体由 Gluon SymbolBlock 支持。如果当前预测器已经是- SymbolBlockPredictor,则仅返回自身。- batch 或 dataset 必须设置一个。 - 参数
- batch – 底层网络调用 hybridize() 后用于必需前向传递的数据批次。 
- dataset – 如果未设置 batch,则从中提取批次的数据集。 
 
- 返回
- 从当前预测器派生出的、由 SymbolBlock 支持的预测器。 
- 返回类型
 
 - hybridize(batch: Dict[str, Any]) None[source]#
- 对底层预测网络进行混合化(hybridization)。 - 参数
- batch – 调用 hybridize() 后用于必需前向传递的数据批次。 
 
 - predict(dataset: gluonts.dataset.Dataset, num_samples: Optional[int] = None, num_workers: Optional[int] = None, num_prefetch: Optional[int] = None, **kwargs) Iterator[gluonts.model.forecast.Forecast][source]#
- 计算所提供数据集中时间序列的预测。此方法未在此抽象类中实现;请使用其子类之一。:param dataset: 包含要预测的时间序列的数据集。 - 返回
- 预测的迭代器,顺序与提供的数据集迭代器相同。 
- 返回类型
- Iterator[Forecast] 
 
 
- class gluonts.mx.model.tpp.PointProcessSampleForecast(samples: Union[mxnet.ndarray.ndarray.NDArray, numpy.ndarray], valid_length: Union[mxnet.ndarray.ndarray.NDArray, numpy.ndarray], start_date: pandas._libs.tslibs.timestamps.Timestamp, freq: str, prediction_interval_length: float, item_id: Optional[str] = None, info: Optional[Dict] = None)[source]#
- 基类: - gluonts.model.forecast.Forecast- 用于时间点过程推理的样本预测对象。与标准预测对象不同,它不实现固定长度样本。每个样本具有可变长度,保存在单独的 - valid_length属性中。- 重要的是,PointProcessSampleForecast 未实现离散时间预测中可用的一些方法(例如 - quantile或- plot)。- 参数
- samples – 样本的多维数组,形状为 (number_of_samples, max_pred_length, target_dim)。target_dim 等于 2,其中第一维包含到达间隔时间,第二维包含分类标记。 
- valid_length – 一个整数数组,表示 - samples中每个样本的有效长度。即,- valid_length[0] == 2表示- samples[0, ...]中只有前两个条目是有效的“点”。
- start_date (pandas._libs.tslibs.period.Period) – 样本的起始时间戳 
- freq – 到达间隔时间的时间单位 
- prediction_interval_length (float) – 抽取样本所对应的预测间隔的长度。 
- item_id (Optional[str]) – 项目 ID,如果可用。 
- info (Optional[Dict]) – 可选的附加信息字典。 
 
 - property freq#
 - property index: pandas.core.indexes.period.PeriodIndex#
 - mean = None#
 - plot(**kwargs)[source]#
- 使用 - matplotlib绘制中位数预测和预测区间。- 默认绘制 0.5 和 0.9 预测区间。可以通过设置 intervals 选择其他区间。 - 这会绘制到当前的 axes 对象(通过 - plt.gca()),如果提供了- ax,则绘制到- ax。类似地,如果没有显式设置- color,则颜色使用 matplotlib 的内部颜色循环。- 可以设置 - name作为中位数预测的- label。除非将- show_label设置为- True,否则不标注区间。
 - prediction_interval_length: float#
 - prediction_length: int = None#