gluonts.mx.model.tpp.distribution 包#
- class gluonts.mx.model.tpp.distribution.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- 对数logistic分布。 - 一个定义在正实数上的重尾分布。 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#
 - 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_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) 的张量。 
- 返回
- 包含 x 中每个事件的分布对数密度的形状为 batch_shape 的张量。 
- 返回类型
- 张量 
 
 - 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))\)。 
 - property 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.LoglogisticOutput[source]#
- 基类: - gluonts.mx.model.tpp.distribution.base.TPPDistributionOutput- args_dim: Dict[str, int] = {'mu': 1, 'sigma': 1}#
 - classmethod domain_map(F, mu, sigma)[source]#
- 将原始张量映射到构建对数logistic分布的有效参数。 - 参数
- F – MXNet 后端。 
- mu – 底层logistic分布的均值。形状 (*batch_shape, 1) 
- sigma – 底层logistic分布的尺度。形状 (*batch_shape, 1) 
 
- 返回
- 两个形状为 (*batch_shape) 的压缩张量。sigma 参数必须严格为正。 
- 返回类型
- Tuple[Tensor, Tensor] 
 
 - property event_shape: Tuple#
- 此对象构建的分布所考虑的每个单独事件的形状。 
 
- class gluonts.mx.model.tpp.distribution.TPPDistribution[source]#
- 基类: - gluonts.mx.distribution.distribution.Distribution- 时间点过程(TPP)中使用的分布。 - 此类必须实现用于计算 TPP 实现的对数似然的新方法 log_intensity 和 log_survival。此外,sample_conditional 对于采样 TPP 也是必需的。 - arg_names: Tuple#
 - cdf(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
- 返回在 x 处评估的累积分布函数值。 
 - 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)\)。 
 - 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) 的张量。 
- 返回
- 包含 x 中每个事件的分布对数密度的形状为 batch_shape 的张量。 
- 返回类型
- 张量 
 
 - 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)) 的对数。 
 - 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]#
- 从分布中抽取样本。 - 如果提供了 num_samples,则输出的第一个维度将是 num_samples。 - 参数
- num_samples – 要抽取的样本数量。 
- dtype – 样本的数据类型。 
 
- 返回
- 包含样本的张量。如果 num_samples = None,则形状为 (*batch_shape, *eval_shape);否则形状为 (num_samples, *batch_shape, *eval_shape)。 
- 返回类型
- 张量 
 
 
- class gluonts.mx.model.tpp.distribution.TPPDistributionOutput[source]#
- 基类: - gluonts.mx.distribution.distribution_output.DistributionOutput- 根据网络输出构建分布的类。 - 与基类 DistributionOutput 相比有两个不同之处:1. 不能指定位置参数(所有分布必须从 0 开始)。2. 返回类型是 TPPDistribution 或 TPPTransformedDistribution。 - distr_cls: type#
 - distribution(distr_args, loc=None, scale: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None) Union[gluonts.mx.model.tpp.distribution.base.TPPDistribution, gluonts.mx.model.tpp.distribution.base.TPPTransformedDistribution][source]#
- 根据构造函数参数集合以及可选的尺度张量,构造相关的分布。 - 参数
- distr_args – 底层 TPPDistribution 类型的构造函数参数。 
- loc – 位置参数,此处指定是为了与超类兼容。不应指定。 
- scale – 可选张量,与结果分布的 batch_shape+event_shape 具有相同的形状。 
 
 
 
- class gluonts.mx.model.tpp.distribution.TPPTransformedDistribution(base_distribution: gluonts.mx.model.tpp.distribution.base.TPPDistribution, transforms: List[gluonts.mx.distribution.bijection.Bijection])[source]#
- 基类: - gluonts.mx.distribution.transformed_distribution.TransformedDistribution- 时间点过程(TPP)中使用的 TransformedDistribution。 - 此类必须实现用于计算 TPP 实现的对数似然的新方法 log_intensity 和 log_survival。此外,sample_conditional 对于采样 TPP 也是必需的。 - 此外,传递给构造函数的转换序列必须是递增的。 - base_distribution: gluonts.mx.model.tpp.distribution.base.TPPDistribution#
 - cdf(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
- 返回在 x 处评估的累积分布函数值。 
 - log_intensity(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
- 强度(也称风险)函数的对数。 - 强度定义为 \(\lambda(y) = p(y) / S(y)\)。 
 - log_survival(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#
- 生存函数的对数。 - \(\log S(y) = \log(1 - CDF(y))\) 
 - 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]#
- 从分布中抽取样本。 - 参数
- 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.Weibull(rate: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], shape: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol])[source]#
- 基类: - gluonts.mx.model.tpp.distribution.base.TPPDistribution- 威布尔分布。 - 我们使用速率参数 \(b > 0\) 和形状参数 \(k > 0\) 对威布尔分布进行参数化。PDF 为 \(p(x) = b * k * x^{(k - 1)} * \exp(-b * x^k)\)。另一种参数化方式(例如在维基百科上)常用,其中我们使用尺度参数 \(\lambda > 0\) 和形状参数 \(k > 0\),并且 \(\lambda = b^{-1/k}\)。 - 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_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)\)。 - 威布尔分布的强度为 \(\lambda(x) = b * k * x^{k - 1}\)。 
 - 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) 的张量。 
- 返回
- 包含 x 中每个事件的分布对数密度的形状为 batch_shape 的张量。 
- 返回类型
- 张量 
 
 - 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))\). - 威布尔分布的生存函数为 \(S(x) = \exp(-b * x^k)\)。 
 - property 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.WeibullOutput[source]#
- 基类: - gluonts.mx.model.tpp.distribution.base.TPPDistributionOutput- args_dim: Dict[str, int] = {'rate': 1, 'shape': 1}#
 - distr_cls#
 - classmethod domain_map(F, rate, shape)[source]#
- 将原始张量映射到构建威布尔分布的有效参数。 - 参数
- F – MXNet 后端。 
- rate – 威布尔分布的速率(尺度倒数)参数。形状 (*batch_shape, 1) 
- shape – 威布尔分布的形状参数。形状 (*batch_shape, 1) 
 
- 返回
- 两个形状为 (*batch_shape) 的压缩张量。两个张量都必须严格为正。 
- 返回类型
- Tuple[Tensor, Tensor] 
 
 - property event_shape: Tuple#
- 此对象构建的分布所考虑的每个单独事件的形状。