gluonts.mx.distribution.empirical_distribution 模块#
- class gluonts.mx.distribution.empirical_distribution.EmpiricalDistribution(samples: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], event_dim: int)[source]#
表示经验分布的类。
目标可以是向量/张量值,即 event_shape 可以大于或等于 1。但是,请注意,在计算方差和 CRPS 损失时,假设每个维度是独立的。
此外,在计算 CDF 和分位数时,假设样本沿样本维度是不同的,如果样本是从连续分布中提取的,这几乎总是正确的。
参数
- samples – 包含样本的张量,形状为 (num_samples, *batch_shape, *event_shape)。
event_dim – 事件维度的数量,即 event_shape 元组的长度。对于标量上的分布,此值为 0;对于向量,此值为 1;对于矩阵,此值为 2,依此类推。
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])[source]#
- 返回在 x 处评估的累积分布函数的值。
crps_univariate(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
- 根据经验分布计算 obs 的连续排序概率评分 (CRPS)。
obs 的最后一个维度指定了目标的“事件维度”(单变量情况下为 1)。对于多变量目标,CRSP 评分针对每个维度单独计算,然后返回它们的总和。
x – 形状为 (*batch_shape, *event_shape) 的真实值张量
- samples – 包含样本的张量,形状为 (num_samples, *batch_shape, *event_shape)。
返回值
- 形状为 (*batch_shape, 1) 的 CRPS 评分。
返回类型
- 张量
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 的张量。
loss(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
cdf(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol])[source]#
- 根据分布计算在 x 处的损失。
默认情况下,此方法返回 log_prob 的负值。但是,对于某些分布,对数密度不容易计算,因此会计算其他损失函数。
x – 形状为 (*batch_shape, *event_shape) 的张量。
- 包含分布均值的张量。
quantile(level: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
- 计算给定级别的分位数。
level – 用于计算分位数的级别值。level 应该是一个包含介于 0 到 1 之间级别值的一维张量。
- samples – 包含样本的张量,形状为 (num_samples, *batch_shape, *event_shape)。
与传入级别相对应的分位数。返回的形状是
- 形状为 (*batch_shape, 1) 的 CRPS 评分。
(num_levels, …DISTRIBUTION_SHAPE…)
其中 DISTRIBUTION_SHAPE 是底层分布的形状。
分位数
- 张量
quantile_losses(obs: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], quantiles: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], levels: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
- 计算所有指定分位数的分位数损失。
obs – 真实观测值。形状:(batch_size, seq_len, *event_shape)
- samples – 包含样本的张量,形状为 (num_samples, *batch_shape, *event_shape)。
quantiles – 分位数。形状:(batch_size, seq_len, *event_shape, num_quantiles)
levels – 分位数级别。形状:(batch_size, seq_len, *event_shape, num_quantiles)
分位数损失的形状为:(batch_size, seq_len, *event_shape, num_quantiles)
- 形状为 (*batch_shape, 1) 的 CRPS 评分。
sample(num_samples: typing.Optional[int] = None, dtype=<class 'numpy.float32'>) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol] [source]#
- 张量
property event_dim: int#
- 从分布中抽取样本。
如果指定了 num_samples,则输出的第一个维度将是 num_samples。
num_samples – 要抽取的样本数量。
- samples – 包含样本的张量,形状为 (num_samples, *batch_shape, *event_shape)。
dtype – 样本的数据类型。
包含样本的张量。如果 num_samples = None,其形状为 (*batch_shape, *eval_shape);否则形状为 (num_samples, *batch_shape, *eval_shape)。
- 形状为 (*batch_shape, 1) 的 CRPS 评分。
property stddev: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#
- 张量
property event_dim: int#
- 包含分布标准差的张量。
class gluonts.mx.distribution.empirical_distribution.EmpiricalDistributionOutput(num_samples: int, distr_output: gluonts.mx.distribution.distribution_output.DistributionOutput)[source]#
- 这允许我们用任何参数分布封装 EmpiricalDistribution,并通过最小化 EmpiricalDistribution 样本上的 CRPS 损失来学习参数。
请参阅 test.distribution.test_mx_distribution_inference 中的推理测试 test_empirical_distribution,该测试检查 CRPS 损失是否正确实现。
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) gluonts.mx.distribution.distribution.Distribution [source]#
- 给定构造函数参数集合,以及可选的比例张量,构造相关的分布。
- distr_args – 底层分布类型的构造函数参数。
loc – 可选张量,形状与结果分布的 batch_shape+event_shape 相同。
- 域取决于分布的类型,而正确的形状是通过重塑尾随轴获得的,使得返回的张量定义具有正确 event_shape 的分布。
property event_shape: Tuple#
此对象构造的分布所考虑的每个独立事件的形状。
- get_args_proj(prefix: Optional[str] = None) gluonts.mx.distribution.distribution_output.ArgProj [source]#
- 下一页gluonts.mx.distribution.gamma 模块上一页gluonts.mx.distribution.distribution_output 模块
- Copyright © 2022, Amazon