Skip to contents

Measure to compare true observed response with predicted response in regression tasks.

Usage

pinball(truth, response, sample_weights = NULL, alpha = 0.5, ...)

Arguments

truth

(numeric())
True (observed) values. Must have the same length as response.

response

(numeric())
Predicted response values. Must have the same length as truth.

sample_weights

(numeric())
Vector of non-negative and finite sample weights. Must have the same length as truth. The vector gets automatically normalized to sum to one. Defaults to equal sample weights.

alpha

numeric(1)
The quantile to compute the pinball loss.

...

(any)
Additional arguments. Currently ignored.

Value

Performance value as numeric(1).

Details

The pinball loss for quantile regression is defined as $$ \text{Average Pinball Loss} = \frac{1}{n} \sum_{i=1}^{n} w_{i} \begin{cases} q \cdot (t_i - r_i) & \text{if } t_i \geq r_i \\ (1 - q) \cdot (r_i - t_i) & \text{if } t_i < r_i \end{cases} $$ where \(q\) is the quantile and \(w_i\) are normalized sample weights.

Meta Information

  • Type: "regr"

  • Range: \((-\infty, \infty)\)

  • Minimize: TRUE

  • Required prediction: response

See also

Other Regression Measures: ae(), ape(), bias(), ktau(), linex(), mae(), mape(), maxae(), maxse(), medae(), medse(), mse(), msle(), pbias(), rae(), rmse(), rmsle(), rrse(), rse(), rsq(), sae(), se(), sle(), smape(), srho(), sse()

Examples

set.seed(1)
truth = 1:10
response = truth + rnorm(10)
pinball(truth, response)
#> [1] 0.3248953