gluonts.mx.distribution.distribution 模块#

class gluonts.mx.distribution.distribution.Distribution[source]#

基类: object

表示概率分布的类。

property F#
property all_dim: int#

总体维度数量。

arg_names: Tuple#
property args: List#
property batch_dim: int#

批处理维度数量,即 batch_shape 元组的长度。

property batch_shape: Tuple#

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

从分布中调用 sample() 会生成形状为 batch_shape + event_shape 的张量,并且在此样本上计算 log_prob (或者更一般的 loss) 将生成形状为 batch_shape 的张量。

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

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

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

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

根据分布计算 x连续分级概率得分 (CRPS)。

参数

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

返回值

形状为 batch_shape 的张量,其中包含根据分布计算的 x 中每个事件的 CRPS 得分。

返回值类型

张量

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: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

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

参数

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 的负值。然而,对于某些分布,对数密度不容易计算,因此会计算其他损失函数。

参数

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

返回值

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

返回值类型

张量

property mean: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#

包含分布均值的张量。

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

计算分布在 x 处的密度。

参数

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

返回值

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

返回值类型

张量

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

计算给定水平的分位数。

参数

level – 用于计算分位数的水平值。level 应该是一个包含 0 到 1 之间水平值的 1 维张量。

返回值

对应于传入水平的分位数。返回的形状是

(num_levels, …DISTRIBUTION_SHAPE…),

其中 DISTRIBUTION_SHAPE 是基础分布的形状。

返回值类型

分位数

sample(num_samples: typing.Optional[int] = None, dtype=<class 'numpy.float32'>) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

从分布中抽取样本。

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

参数
  • num_samples – 要抽取的样本数量。

  • dtype – 样本的数据类型。

返回值

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

返回值类型

张量

sample_rep(num_samples: typing.Optional[int] = None, dtype=<class 'numpy.float32'>) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
slice_axis(axis: int, begin: int, end: Optional[int]) gluonts.mx.distribution.distribution.Distribution[source]#
property stddev: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#

包含分布标准差的张量。

property support_min_max: Tuple[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol, NoneType], Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol, NoneType]]#
property variance: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#

包含分布方差的张量。

gluonts.mx.distribution.distribution.getF(var: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol])[source]#
gluonts.mx.distribution.distribution.nans_like(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
gluonts.mx.distribution.distribution.softplus(F, x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#