多变量正态分布损失#

class pytorch_forecasting.metrics.distributions.MultivariateNormalDistributionLoss(name: str = None, quantiles: List[float] | None = None, reduction: str = 'mean', rank: int = 10, sigma_init: float = 1.0, sigma_minimum: float = 0.001)[来源]#

基础: MultivariateDistributionLoss

多变量低秩正态分布损失。

使用这个损失将DeepAR模型转化为DeepVAR网络。

初始化指标

Parameters:
  • name (str) – 指标名称。默认为类名称。

  • 分位数 (列表[浮点数], 可选) – 概率范围的分位数。 默认为 [0.02, 0.1, 0.25, 0.5, 0.75, 0.9, 0.98]。

  • reduction (str, 可选) – 减少方式,“none”,“mean”或“sqrt-mean”。默认为“mean”。

  • rank (int) – 协方差矩阵的低秩近似的秩。默认值为10。

  • sigma_init (float, 可选) – 对角协方差的默认值。默认为1.0。

  • sigma_minimum (float, 可选) – 对角协方差的最小值。默认为 1e-3。

方法

map_x_to_distribution(x)

将参数的张量映射到概率分布。

rescale_parameters(parameters, target_scale, ...)

将归一化参数缩放到输出所需的尺度。

distribution_class#

的别名 LowRankMultivariateNormal

map_x_to_distribution(x: Tensor) Normal[来源]#

将参数的张量映射到概率分布。

Parameters:

x (torch.Tensor) – 概率分布的参数。最后一个维度将索引这些参数

Returns:

在此定义的torch概率分布

类属性 distribution_class

Return type:

分布.Distribution

rescale_parameters(parameters: Tensor, target_scale: Tensor, encoder: 基础估计器) Tensor[来源]#

将归一化参数缩放到输出所需的尺度。

Parameters:
  • 参数 (torch.Tensor) – 规范化参数(按最后一个维度索引)

  • target_scale (torch.Tensor) – 参数的规模 (n_batch_samples x (中心, 缩放))

  • encoder (BaseEstimator) – 原始编码器,最初对目标进行了标准化

Returns:

真实/未标准化空间中的参数

Return type:

torch.Tensor