gluonts.mx.model.tpp.distribution.loglogistic 模块#
- class gluonts.mx.model.tpp.distribution.loglogistic.Loglogistic(mu: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], sigma: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol])[source]#
基类:
gluonts.mx.model.tpp.distribution.base.TPPDistribution
对数逻辑分布。
一个非常重尾的、定义在正实数上的分布。 https://en.wikipedia.org/wiki/Log-logistic_distribution
从中采样 \(x \sim \operatorname{Loglogistic}(\mu, \sigma)\) 等价于
\[\begin{split}y & \sim \operatorname{Logistic}(\mu, \sigma)\\ x & = \exp(y)\end{split}\]- arg_names: Tuple#
- 属性 batch_shape: Tuple#
分布所考虑的事件集合的布局。
从分布中调用 sample() 会产生形状为 batch_shape + event_shape 的张量,并且在这种样本上计算 log_prob (或更一般地计算 loss) 会产生形状为 batch_shape 的张量。
此属性通常仅在 mx.ndarray 模式下可用,此时可以访问分布参数的形状。
- 属性 event_dim: int#
事件维度数量,即 event_shape 元组的长度。
对于标量分布,此值为 0;对于向量分布,此值为 1;对于矩阵分布,此值为 2;依此类推。
- 属性 event_shape: Tuple#
分布所考虑的每个独立事件的形状。
例如,标量分布的 event_shape = (),向量分布的 event_shape = (d, ),其中 d 是向量的长度,矩阵分布的 event_shape = (d1, d2),依此类推。
从分布中调用 sample() 会产生形状为 batch_shape + event_shape 的张量。
此属性通常仅在 mx.ndarray 模式下可用,此时可以访问分布参数的形状。
- is_reparametrizable = True#
- log_intensity(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
强度(也称风险)函数的对数。
强度定义为 \(\lambda(x) = p(x) / S(x)\)。
我们定义 \(z = (\log(x) - \mu) / \sigma\),并获得强度为 \(\lambda(x) = sigmoid(z) / (\sigma * \log(x))\),或者等价地 \(\log \lambda(x) = z - \log(1 + \exp(z)) - \log(\sigma) - \log(x)\)。
- 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 中每个事件的分布对数密度。
- 返回类型
张量
- log_survival(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
生存函数的对数。
\(\log S(x) = \log(1 - CDF(x))\)
我们定义 \(z = (\log(x) - \mu) / \sigma\) 并获得生存函数为 \(S(x) = sigmoid(-z)\),或者等价地 \(\log S(x) = -\log(1 + \exp(z))\)。
- 属性 mean: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#
包含分布均值的张量。
- sample(num_samples=None, dtype=<class 'numpy.float32'>, lower_bound: typing.Optional[typing.Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
从分布中抽取样本。
我们生成样本的方式为 \(u \sim Uniform(0, 1), x = S^{-1}(u)\),其中 \(S^{-1}\) 是生存函数 \(S(x) = 1 - CDF(x)\) 的逆函数。
- 参数
num_samples – 要生成的样本数量。
dtype – 生成样本的数据类型。
lower_bound – 如果为 None,则按通常方式生成样本。如果提供了 lower_bound,所有生成的样本将大于指定值。也就是说,我们从 p(x | x > lower_bound) 中采样。形状: (*batch_size)
- 返回
采样的事件间隔时间。形状: (num_samples, *batch_size)
- 返回类型
x
- class gluonts.mx.model.tpp.distribution.loglogistic.LoglogisticOutput[source]#
基类:
gluonts.mx.model.tpp.distribution.base.TPPDistributionOutput
- args_dim: Dict[str, int] = {'mu': 1, 'sigma': 1}#
- 类方法 domain_map(F, mu, sigma)[source]#
将原始张量映射为构建对数逻辑分布的有效参数。
- 参数
F – MXNet 后端。
mu – 基础逻辑分布的均值。形状 (*batch_shape, 1)
sigma – 基础逻辑分布的比例。形状 (*batch_shape, 1)
- 返回
两个形状为 (*batch_shape) 的 squeezed 张量。sigma 参数必须严格为正。
- 返回类型
Tuple[Tensor, Tensor]
- 属性 event_shape: Tuple#
此对象构建的分布所考虑的每个独立事件的形状。