PoissonLoss#
- class pytorch_forecasting.metrics.point.PoissonLoss(reduction: str = 'mean', **kwargs)[source]#
Bases:
MultiHorizonMetric
Poisson loss for count data.
The loss will take the exponential of the network output before it is returned as prediction. Target normalizer should therefore have no “reverse” transformation, e.g. for the
TimeSeriesDataSet
initialization, one could use:from pytorch_forecasting import TimeSeriesDataSet, EncoderNormalizer dataset = TimeSeriesDataSet( target_normalizer=EncoderNormalizer(transformation=dict(forward=torch.log1p)) )
Note that in this example, the data is log1p-transformed before normalized but not re-transformed. The PoissonLoss applies this “exp”-re-transformation on the network output after it has been de-normalized. The result is the model prediction.
Initialize metric
- Parameters
name (str) – metric name. Defaults to class name.
quantiles (List[float], optional) – quantiles for probability range. Defaults to None.
reduction (str, optional) – Reduction, “none”, “mean” or “sqrt-mean”. Defaults to “mean”.
Methods
loss
(y_pred, target)Calculate loss without reduction.
to_prediction
(out)Convert network prediction into a point prediction.
to_quantiles
(out[, quantiles])Convert network prediction into a quantile prediction.
- loss(y_pred: Dict[str, Tensor], target: Tensor) Tensor [source]#
Calculate loss without reduction. Override in derived classes
- Parameters
y_pred – network output
y_actual – actual values
- Returns
loss/metric as a single number for backpropagation
- Return type
torch.Tensor
- to_prediction(out: Dict[str, Tensor])[source]#
Convert network prediction into a point prediction.
- Parameters
y_pred – prediction output of network
- Returns
point prediction
- Return type
torch.Tensor
- to_quantiles(out: Dict[str, Tensor], quantiles=None)[source]#
Convert network prediction into a quantile prediction.
- Parameters
y_pred – prediction output of network
quantiles (List[float], optional) – quantiles for probability range. Defaults to quantiles as as defined in the class initialization.
- Returns
prediction quantiles
- Return type
torch.Tensor