平均绝对比例误差#

class pytorch_forecasting.metrics.point.MASE(reduction: str = 'mean', **kwargs)[来源]#

基类: MultiHorizonMetric

均值绝对缩放误差

定义为 (y_pred - target).abs() / all_targets[:, :-1] - all_targets[:, 1:]).mean(1)all_targets 这里是连接的编码器和解码器目标

初始化指标

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

  • 分位数 (列表[浮点数], 可选) – 概率范围的分位数。默认为 None。

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

方法

calculate_scaling(目标, 长度, ...)

loss(y_pred, target, scaling)

计算未减少的损失。

update(y_pred, target, encoder_target[, ...])

更新处理值遮罩的度量。

loss(y_pred, target, scaling)[来源]#

计算不进行减小的损失。在派生类中覆盖

Parameters:
  • y_pred – 网络输出

  • y_actual – 实际值

Returns:

作为反向传播的单个数字的损失/指标

Return type:

torch.Tensor

update(y_pred, target, encoder_target, encoder_lengths=None) Tensor[来源]#

更新度量,处理值的屏蔽。

Parameters:
  • y_pred (Dict[str, torch.Tensor]) – 网络输出

  • target (元组[联合[torch.Tensor, rnn.PackedSequence], torch.Tensor]) – 实际值和权重的元组

  • encoder_target (Union[torch.Tensor, rnn.PackedSequence]) – 历史实际值

  • encoder_lengths (torch.Tensor) – 可选的编码器长度,如果 encoder_target 是 rnn.PackedSequence 则不需要。假定 encoder_target 是 torch.Tensor

Returns:

用于反向传播的单个数字损失

Return type:

torch.Tensor