指标#

已实施多种指标以简化适应过程。

特别是,这些指标可以应用于多时间范围预测问题,即可以处理不仅形状为n_samples的张量,还可以处理形状为n_samples x prediction_horizon甚至n_samples x prediction_horizon x n_outputs的张量,其中n_outputs可能是预测的分位数数量。

指标可以通过加法轻松组合,例如。

from pytorch_forecasting.metrics import SMAPE, MAE

composite_metric = SMAPE() + 1e-4 * MAE()

在训练时,这种复合指标非常有用,因为它们可以减少其他指标中的异常值。 在示例中,SMAPE 主要被优化,同时避免了 MAE 中的大异常值。

此外,可以修改损失度量以减少平均预测偏差,即确保预测值相加。例如:

from pytorch_forecasting.metrics import MAE, AggregationMetric

composite_metric = MAE() + AggregationMetric(metric=MAE())

在这里,我们向MAE添加了一个额外的损失。这个额外的损失是在平均预测值和实际值上计算的MAE。我们还可以使用其他指标,如SMAPE,以确保在该指标中聚合结果是无偏的。需要记住的一个重要点是,这个指标是在样本之间计算的,即它会根据批量大小的不同而变化。特别是,随着批量大小的增加,误差往往会平均化。

详情#

有关可用指标的更多详细信息,请参阅API文档:

pytorch_forecasting.metrics.base_metrics.DistributionLoss([...])

DistributionLoss 基类。

pytorch_forecasting.metrics.base_metrics.Metric([...])

基础指标类,具有可以处理预测分位数并在对数空间中操作的基本功能。

pytorch_forecasting.metrics.base_metrics.MultiHorizonMetric([...])

用于定义多时间范围预测指标的抽象类

pytorch_forecasting.metrics.base_metrics.MultiLoss(指标)

可以用于多个指标的指标。

pytorch_forecasting.metrics.base_metrics.MultivariateDistributionLoss([...])

多元分布损失的基础类。

pytorch_forecasting.metrics.base_metrics.convert_torchmetric_to_pytorch_forecasting_metric(metric)

如有必要,将torchmetric转换为适用于PyTorch Forecasting模型的PyTorch Forecasting指标。

pytorch_forecasting.metrics.distributions.BetaDistributionLoss([...])

用于单位区间数据的Beta分布损失。

pytorch_forecasting.metrics.distributions.ImplicitQuantileNetworkDistributionLoss([...])

隐式分位数网络分布损失。

pytorch_forecasting.metrics.distributions.LogNormalDistributionLoss([...])

对数正态损失。

pytorch_forecasting.metrics.distributions.MQF2DistributionLoss(...)

基于文章Multivariate Quantile Function Forecaster的多变量分位数损失。

pytorch_forecasting.metrics.distributions.MultivariateNormalDistributionLoss([...])

多元低秩正态分布损失。

pytorch_forecasting.metrics.distributions.NegativeBinomialDistributionLoss([...])

负二项式损失,例如用于计数数据。

pytorch_forecasting.metrics.distributions.NormalDistributionLoss([...])

正态分布损失。

pytorch_forecasting.metrics.point.CrossEntropy([...])

分类的交叉熵损失。

pytorch_forecasting.metrics.point.MAE([...])

平均绝对误差。

pytorch_forecasting.metrics.point.MAPE([...])

平均绝对百分比。

pytorch_forecasting.metrics.point.MASE([...])

平均绝对缩放误差

pytorch_forecasting.metrics.point.PoissonLoss([...])

用于计数数据的泊松损失。

pytorch_forecasting.metrics.point.RMSE([...])

均方根误差

pytorch_forecasting.metrics.point.SMAPE([...])

对称平均绝对百分比。

pytorch_forecasting.metrics.point.TweedieLoss([...])

Tweedie损失。

pytorch_forecasting.metrics.quantile.QuantileLoss([...])

分位数损失,即q=0.5的分位数将给出平均绝对误差的一半,因为它计算为。