Loss functions used in profetorch.

The most important loss function used is the tilted loss function.

mse[source]

mse(y_pred, y, weights=None)

Mean Squared Error

mae[source]

mae(y_pred, y, weights=None)

Mean Absolute Error

q_loss[source]

q_loss(y_pred, y, quantiles=[0.05, 0.5, 0.95], weights=None)

Sum of tilted_loss for quantiles. Parameters:

  • y_pred: Predicted Value
  • y: Target
  • quantiles: Quantile
  • weights(optional): Weighting of prediction-target pair.

tilted_loss[source]

tilted_loss(y_pred, y, q=0.5)

Loss function used to obtain quantile q. Parameters:

  • y_pred: Predicted Value
  • y: Target
  • q: Quantile

weighted_loss[source]

weighted_loss(loss, weights)

Weighted loss

for q in [0.05, 0.5, 0.95]:
    y = torch.arange(-5, 5, 0.01)
    l = tilted_loss(0, y, q)
    plt.plot(y, l, label=q)
plt.legend()
plt.title('Tilted Loss at different quantiles')
plt.xlabel('error')
plt.ylabel('loss')
plt.show()