gluonts.mx.distribution.dirichlet 模块#

class gluonts.mx.distribution.dirichlet.Dirichlet(alpha: typing.Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], float_type: typing.Type = <class 'numpy.float32'>)[source]#

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

Dirichlet 分布,由长度为 d 的集中向量 alpha 指定。 https://en.wikipedia.org/wiki/Dirichlet_distribution

Dirichlet 分布定义在开放 (d-1) 单纯形上,这意味着样本(或观测值)x = (x_0,…, x_{d-1}) 必须满足

sum_k x_k = 1 且对于所有 k,x_k > 0。

参数
  • alpha – 集中向量,形状为 (…, d)

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

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 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 中每个事件的分布对数密度。

返回类型

张量

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][source]#

从分布中抽取样本。

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

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

  • dtype – 样本的数据类型。

返回

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

返回类型

张量

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

包含分布方差的张量。

class gluonts.mx.distribution.dirichlet.DirichletOutput(dim: int)[source]#

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

args_dim: Dict[str, int]#
distr_cls: type#
distribution(distr_args, loc=None, scale=None) gluonts.mx.distribution.distribution.Distribution[source]#

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

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

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

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

domain_map(F, alpha_vector)[source]#

将参数转换为正确的形状和域。

域取决于分布类型,而正确的形状通过重塑尾部轴来获得,以便返回的张量定义具有正确 event_shape 的分布。

property event_shape: Tuple#

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