TweedieLoss#

class pytorch_forecasting.metrics.point.TweedieLoss(reduction='mean', p: float = 1.5, **kwargs)[来源]#

基类: MultiHorizonMetric

Tweedie 损失。

具有对数链接的Tweedie回归。它可能有用,例如,用于建模保险中的总损失,或用于任何可能遵循Tweedie分布的目标。

损失将在网络输出之前取指数,随后作为预测返回。因此,目标归一化器应该没有“逆”变换,例如,对于TimeSeriesDataSet初始化,可以使用:

from pytorch_forecasting import TimeSeriesDataSet, EncoderNormalizer

dataset = TimeSeriesDataSet(
    target_normalizer=EncoderNormalizer(transformation=dict(forward=torch.log1p))
)

请注意,在这个例子中,数据在归一化之前进行了log1p变换,但没有重新变换。 TweedieLoss在网络输出去归一化之后应用这个“exp”-重新变换。 结果就是模型预测。

Parameters:
  • p (float, optional) – tweedie方差幂,必须大于等于1.0且小于2.0。接近2时转变为Gamma分布,接近1时转变为Poisson分布。默认为1.5。

  • reduction (str, optional) – 如何减少损失。默认为“mean”。

方法

loss(y_pred, y_true)

计算未减少的损失。

to_prediction(out)

将网络预测转换为点预测。

loss(y_pred, y_true)[来源]#

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

Parameters:
  • y_pred – 网络输出

  • y_actual – 实际值

Returns:

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

Return type:

torch.Tensor

to_prediction(out: Dict[str, Tensor])[来源]#

将网络预测转换为点预测。

Parameters:

y_pred – 网络的预测输出

Returns:

点预测

Return type:

torch.Tensor