gluonts.mx.distribution.dirichlet_multinomial module#
- class gluonts.mx.distribution.dirichlet_multinomial.DirichletMultinomial(dim: int, n_trials: int, 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-Multinomial 分布,由长度为 dim 的集中度向量 alpha 和试验次数 n_trials 指定。https://en.wikipedia.org/wiki/Dirichlet-multinomial_distribution。
Dirichlet-Multinomial 分布是一种离散多元概率分布,样本(或观测值)x = (x_0,…, x_{dim-1}) 必须满足
sum_k x_k = n_trials 且对于所有 k,x_k 为非负整数。
这样的样本可以通过先从 Dirichlet(alpha) 分布中抽取向量 p,然后从具有 n 次试验的 Multinomial(p) 中抽取 x 得到。
- 参数
dim – 任何样本的维度
n_trials – 试验次数
alpha – 集中度向量,形状为 (…, dim)
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 模式下可用,此时可以访问分布参数的形状。
- 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, *eval_shape);否则为 (num_samples, *batch_shape, *eval_shape)。
- 返回类型
张量
- property variance: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#
包含分布方差的张量。
- class gluonts.mx.distribution.dirichlet_multinomial.DirichletMultinomialOutput(dim: int, n_trials: 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 – 底层 Distribution 类型的构造函数参数。
loc – 可选张量,形状与结果分布的 batch_shape+event_shape 相同。
scale – 可选张量,形状与结果分布的 batch_shape+event_shape 相同。
- domain_map(F, alpha_vector)[source]#
将参数转换为正确的形状和域。
域取决于分布的类型,而正确的形状是通过重塑尾部轴获得的,这样返回的张量就可以定义具有正确 event_shape 的分布。
- property event_shape: Tuple#
此对象构造的分布所考虑的每个单独事件的形状。