gluonts.mx.distribution.binned 模块#

class gluonts.mx.distribution.binned.Binned(bin_log_probs: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], bin_centers: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], label_smoothing: Optional[float] = None)[source]#

一种通过分箱中心和分箱概率定义的分箱分布。

参数

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)
  • bin_centers – 包含分箱中心的张量,形状为 (*batch_shape, num_bins)

  • F

  • label_smoothing – 标签平滑权重,一个 [0, 1) 范围内的实数。默认为 None。如果不为 None,则分布的损失将是“标签平滑”的交叉熵。例如,计算估计的分箱概率与硬标签(独热编码)[1, 0, 0] 之间的交叉熵损失时,会使用软标签 [0.9, 0.05, 0.05] 作为真实标签(当 label_smoothing=0.15 时)。更多参考信息请参阅 (Muller et al., 2019) [MKH19]

  • label_smoothing – 标签平滑权重,一个介于 [0, 1) 之间的实数。默认值 None。如果不是 None,则损失函数将是“标签平滑”的交叉熵。例如,与其计算估计的概率与硬标签 (独热编码) [1, 0, 0] 之间的交叉熵损失,不如将软标签 [0.9, 0.05, 0.05] 用作真实标签来计算损失 (当 label_smoothing=0.15 时)。请参阅 (Muller et al., 2019) [MKH19] 获取更多参考信息。

property F#
arg_names: Tuple#
property args: List#
property batch_shape: Tuple#

分布所考虑的事件集合的布局。

调用分布的 sample() 方法会产生一个形状为 batch_shape + event_shape 的张量,而计算该样本的 log_prob(或更一般的 loss)会产生一个形状为 batch_shape 的张量。

此属性通常仅在 mx.ndarray 模式下可用,此时可以访问分布参数的形状。

property bin_probs#
cdf(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

返回在 x 处评估的累积分布函数的值。

property event_dim: int#

事件维度的数量,即 event_shape 元组的长度。

对于标量上的分布,此值为 0;对于向量上的分布,此值为 1;对于矩阵上的分布,此值为 2,以此类推。

property event_shape: Tuple#

分布所考虑的每个独立事件的形状。

例如,标量上的分布具有 event_shape = (),向量上的分布具有 event_shape = (d, ),其中 d 是向量的长度,矩阵上的分布具有 event_shape = (d1, d2),以此类推。

调用分布的 sample() 方法会产生一个形状为 batch_shape + event_shape 的张量。

此属性通常仅在 mx.ndarray 模式下可用,此时可以访问分布参数的形状。

is_reparameterizable = False#
log_prob(x)[source]#

计算分布在 x 处的对数密度。

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)

x – 形状为 (*batch_shape, *event_shape) 的张量。

返回

形状为 batch_shape 的张量,包含 x 中每个事件的分布对数密度。

返回类型

张量

loss(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

根据分布计算在 x 处的损失。

默认情况下,此方法返回 log_prob 的负值。然而,对于某些分布,对数密度不易计算,因此会计算其他损失函数。

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)

x – 形状为 (*batch_shape, *event_shape) 的张量。

返回

形状为 batch_shape 的张量,包含 x 中每个事件的损失值。

返回类型

张量

property mean#

包含分布均值的张量。

quantile(level: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

计算给定分位点的分位数。

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)

level – 用于计算分位数的分位点值。level 应为一个一维张量,包含介于 0 和 1 之间的分位点值。

返回

与传入的分位点对应的分位数。返回形状为

(num_levels, …DISTRIBUTION_SHAPE…),

其中 DISTRIBUTION_SHAPE 是底层分布的形状。

返回类型

分位数

sample(num_samples=None, dtype=<class 'numpy.float32'>)[source]#

从分布中抽取样本。

如果提供了 num_samples,则输出的第一个维度将是 num_samples。

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)
  • num_samples – 要抽取的样本数量。

  • dtype – 样本的数据类型。

返回

包含样本的张量。如果 num_samples = None,则形状为 (*batch_shape, *eval_shape),否则为 (num_samples, *batch_shape, *eval_shape)

返回类型

张量

smooth_ce_loss(x)[source]#

带有“平滑”标签的交叉熵损失。

property stddev#

包含分布标准差的张量。

property support_min_max: Tuple[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]]#
class gluonts.mx.distribution.binned.BinnedArgs(num_bins: int, bin_centers: mxnet.ndarray.ndarray.NDArray, **kwargs)[source]#

基类: mxnet.gluon.block.HybridBlock

hybrid_forward(F, x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], bin_centers: 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]#

重写此方法以构建此 Block 的符号图。

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)
  • x (SymbolNDArray) – 第一个输入张量。

  • *args (Symbol 列表NDArray 列表) – 附加输入张量。

class gluonts.mx.distribution.binned.BinnedOutput(bin_centers: mxnet.ndarray.ndarray.NDArray, label_smoothing: Optional[float] = None)[source]#

基类: gluonts.mx.distribution.distribution_output.DistributionOutput

distr_cls#

gluonts.mx.distribution.binned.Binned 的别名

distribution(args, loc=None, scale=None) gluonts.mx.distribution.binned.Binned[source]#

给定构造函数参数集合以及可选的尺度张量,构造关联的分布。

bin_log_probs – 包含分箱对数概率的张量,形状为 (*batch_shape, num_bins)
  • distr_args – 底层 Distribution 类型的构造函数参数。

  • loc – 可选张量,形状与结果分布的 batch_shape+event_shape 相同。

  • scale – 可选张量,形状与结果分布的 batch_shape+event_shape 相同。

property event_shape: Tuple#

此对象构造的分布所考虑的每个独立事件的形状。

get_args_proj(*args, **kwargs) mxnet.gluon.block.HybridBlock[source]#