gluonts.mx.distribution.mixture 模块#

class gluonts.mx.distribution.mixture.MixtureArgs(distr_outputs: List[gluonts.mx.distribution.distribution_output.DistributionOutput], prefix: Optional[str] = None)[源代码]#

基类: mxnet.gluon.block.HybridBlock

hybrid_forward(F, x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Tuple[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], ...][源代码]#

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

参数
  • x (SymbolNDArray) – 第一个输入张量。

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

class gluonts.mx.distribution.mixture.MixtureDistribution(mixture_probs: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], components: List[gluonts.mx.distribution.distribution.Distribution], F=None)[源代码]#

基类: gluonts.mx.distribution.distribution.Distribution

一个混合分布,其中每个分量都是一个分布 (Distribution)。

参数
  • mixture_probs – 混合概率张量。所有条目应为正,并在最后一维上求和为 1。形状:(…, k),其中 k 是要混合的分布数量。除最后一维外的所有轴应与分量分布的轴一致,或为 1(在这种情况下,混合系数在轴上共享)。

  • components – 表示混合分量的 k 个分布对象列表。分布可以有不同的类型。每个分量的支持集应由形状为 (…, d) 的张量组成。

  • F – 一个模块,可以是 MXNet 中的 Symbol API 或 NDArray API。

property F#
arg_names: Tuple#
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][源代码]#

返回在 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: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][源代码]#

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

参数

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

返回

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

返回类型

Tensor

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

包含分布均值的张量。

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

从分布中抽取样本。

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

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

  • dtype – 样本的数据类型。

返回

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

返回类型

Tensor

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], Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]]#
class gluonts.mx.distribution.mixture.MixtureDistributionOutput(distr_outputs: List[gluonts.mx.distribution.distribution_output.DistributionOutput])[源代码]#

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

args_dim: Dict[str, int]#
distr_cls: type#
distribution(distr_args, loc: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None, scale: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None, **kwargs) gluonts.mx.distribution.mixture.MixtureDistribution[源代码]#

给定构造函数参数集合,并可选地给定一个尺度张量,构建关联的分布。

参数
  • distr_args – 底层分布类型的构造函数参数。

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

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

property event_shape: Tuple#

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

get_args_proj(prefix: Optional[str] = None) gluonts.mx.distribution.mixture.MixtureArgs[源代码]#
property value_in_support: float#

计算相应分布的对数损失时将具有有效数值的浮点数;默认为 0.0。

此值将在填充数据序列时使用。