gluonts.torch.model.deep_npts package#
- class gluonts.torch.model.deep_npts.DeepNPTSEstimator(freq: str, prediction_length: int, context_length: int, num_hidden_nodes: typing.Optional[typing.List[int]] = None, batch_norm: bool = False, use_feat_static_cat: bool = False, num_feat_static_real: int = 0, num_feat_dynamic_real: int = 0, cardinality: typing.Optional[typing.List[int]] = None, embedding_dimension: typing.Optional[typing.List[int]] = None, input_scaling: typing.Optional[typing.Union[typing.Callable, str]] = None, dropout_rate: float = 0.0, network_type: gluonts.torch.model.deep_npts._network.DeepNPTSNetwork = <class 'gluonts.torch.model.deep_npts._network.DeepNPTSNetworkDiscrete'>, epochs: int = 100, lr: float = 1e-05, batch_size: int = 32, num_batches_per_epoch: int = 100, cache_data: bool = False, loss_scaling: typing.Optional[typing.Union[typing.Callable, str]] = None)[source]#
- 基类: - gluonts.model.estimator.Estimator- 构建一个 DeepNPTS 估计器。这是 NPTS 的一个可调扩展,其中采样概率是从数据中学习得到的。与 NPTS 不同,这是一个全局模型。 - 目前实现了两种模型变体:(i) DeepNPTSNetworkDiscrete:预测分布是类似于 NPTS 的离散分布,预测值从上下文窗口中的观测值中采样。(ii) DeepNPTSNetworkSmooth:预测分布是平滑的混合分布,其中混合成分是以上下文窗口中的观测值为中心的 Gaussian 分布。混合概率和 Gaussian 分布的宽度都是学习得到的。这里的预测可以包含在上下文窗口中未观测到的值。 - 参数
- freq – 用于训练和预测的数据频率 
- prediction_length (int) – 预测范围的长度 
- context_length – 在计算预测之前,RNN 展开的步数(默认值:None,此时 context_length = prediction_length) 
- num_hidden_nodes – 一个列表,包含每个隐藏层中的节点数 
- batch_norm – 标志,指示是否应在每一层应用批量归一化 
- use_feat_static_cat – 是否使用数据中的 - feat_static_cat字段(默认值:False)
- num_feat_static_real – 数据集中的静态实数特征数量 
- num_feat_dynamic_real – 数据集中的动态特征数量。这些特征会被添加到根据频率自动创建的时间序列特征中 
- cardinality – 每个类别特征的值的数量。如果 - use_feat_static_cat == True,则必须设置此参数(默认值:None)
- embedding_dimension – 类别特征嵌入的维度(默认值:[min(50, (cat+1)//2) for cat in cardinality]) 
- input_scaling – 应用于目标值的缩放方法。可用选项:“min_max_scaling” 和 “standard_normal_scaling”(默认值:不缩放) 
- dropout_rate – Dropout 正则化参数(默认值:不使用 dropout) 
- network_type – 使用的网络类型:可以是离散版本 DeepNPTSNetworkDiscrete 或平滑版本 DeepNPTSNetworkSmooth(默认值:DeepNPTSNetworkDiscrete) 
 
 - get_predictor(net: torch.nn.modules.module.Module, device=‘cpu’) gluonts.torch.model.predictor.PyTorchPredictor[source]#
 - input_transform() gluonts.transform._base.Transformation[source]#
 - instance_splitter(instance_sampler, is_train: bool = True) gluonts.transform.split.InstanceSplitter[source]#
 - lead_time: int#
 - loss_scaling: Optional[Callable]#
 - prediction_length: int#
 - train(training_data: gluonts.dataset.Dataset, validation_data: Optional[gluonts.dataset.Dataset] = None, cache_data: bool = False) gluonts.torch.model.predictor.PyTorchPredictor[source]#
- 在给定数据上训练估计器。 - 参数
- training_data – 用于训练模型的数据集。 
- validation_data – 训练期间用于验证模型的数据集。 
 
- 返回值
- 包含已训练模型的预测器。 
- 返回类型
 
 - train_model(training_data: gluonts.dataset.Dataset, cache_data: bool = False) gluonts.torch.model.deep_npts._network.DeepNPTSNetwork[source]#
 
- class gluonts.torch.model.deep_npts.DeepNPTSMultiStepNetwork(net: gluonts.torch.model.deep_npts._network.DeepNPTSNetwork, prediction_length: int, num_parallel_samples: int = 100)[source]#
- 基类: - torch.nn.modules.module.Module- 实现多步预测,给定一个已训练的 DeepNPTSNetwork 模型,该模型输出一步预测分布。 - forward(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor, future_time_feat: torch.Tensor)[source]#
- 从预测分布中生成样本。 - 参数
- feat_static_cat – 形状 (-1, num_features)。 
- feat_static_real – 形状 (-1, num_features)。 
- past_target – 形状 (-1, context_length)。 
- past_observed_values – 形状 (-1, context_length)。 
- past_time_feat – 形状 (-1, context_length, self.num_time_features)。 
- future_time_feat – 形状 (-1, prediction_length, self.num_time_features)。 
 
- 返回值
- 包含预测分布样本的 Tensor。形状为 (-1, self.num_parallel_samples, self.prediction_length)。 
- 返回类型
- torch.Tensor 
 
 - training: bool#
 
- class gluonts.torch.model.deep_npts.DeepNPTSNetwork(context_length: int, num_hidden_nodes: List[int], cardinality: List[int], embedding_dimension: List[int], num_time_features: int, batch_norm: bool = False, input_scaling: Optional[Union[Callable, str]] = None, dropout_rate: float = 0.0)[source]#
- 基类: - torch.nn.modules.module.Module- 基类,实现了一个简单的前馈神经网络,该网络接收静态特征和动态特征,并产生 num_hidden_nodes 个独立输出。这些输出随后被派生类用于构建单个时间步的预测分布。 - 请注意,动态特征仅被视为独立特征,不考虑其时间特性。 - forward(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor)[source]#
- 参数
- feat_static_cat – 形状 (-1, num_features)。 
- feat_static_real – 形状 (-1, num_features)。 
- past_target – 形状 (-1, context_length)。 
- past_observed_values – 形状 (-1, context_length)。 
- past_time_feat – 形状 (-1, context_length, self.num_time_features)。 
 
 
 - training: bool#
 
- class gluonts.torch.model.deep_npts.DeepNPTSNetworkDiscrete(*args, use_softmax: bool = False, **kwargs)[source]#
- 基类: - gluonts.torch.model.deep_npts._network.DeepNPTSNetwork- 扩展 DeepNTPSNetwork,实现了输出层,该输出层将基础网络的输出转换为长度为 context_length 的概率。这些概率与上下文窗口中的过去值一起构成一步预测分布。具体来说,预测始终是上下文窗口中观测到的值之一,具有相应的预测概率。 - 参数
- *args – 传递给 - DeepNPTSNetwork的参数。
- use_softmax – 标志,指示是将基础网络的输出转换为概率时使用 softmax 还是归一化。 
- kwargs – 传递给 - DeepNPTSNetwork的关键字参数。
 
 - forward(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor) gluonts.torch.distributions.discrete_distribution.DiscreteDistribution[source]#
- 参数
- feat_static_cat – 形状 (-1, num_features)。 
- feat_static_real – 形状 (-1, num_features)。 
- past_target – 形状 (-1, context_length)。 
- past_observed_values – 形状 (-1, context_length)。 
- past_time_feat – 形状 (-1, context_length, self.num_time_features)。 
 
 
 - training: bool#
 
- class gluonts.torch.model.deep_npts.DeepNPTSNetworkSmooth(*args, **kwargs)[source]#
- 基类: - gluonts.torch.model.deep_npts._network.DeepNPTSNetwork- 扩展 DeepNTPSNetwork,实现了输出层,该输出层将基础网络的输出转换为平滑的混合分布。混合成分是以上下文窗口中的观测值为中心的 Gaussian 分布。网络的输出预测混合概率和 Gaussian 分布的宽度。 - 此混合分布代表一步预测分布。请注意,预测可以包含在上下文窗口中未观测到的值。 - forward(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor) torch.distributions.mixture_same_family.MixtureSameFamily[source]#
- 参数
- feat_static_cat – 形状 (-1, num_features)。 
- feat_static_real – 形状 (-1, num_features)。 
- past_target – 形状 (-1, context_length)。 
- past_observed_values – 形状 (-1, context_length)。 
- past_time_feat – 形状 (-1, context_length, self.num_time_features)。 
 
 
 - training: bool#