# 1.15. Isotonic regression¶

The class IsotonicRegression fits a non-decreasing real function to 1-dimensional data. It solves the following problem:

minimize $$\sum_i w_i (y_i - \hat{y}_i)^2$$

subject to $$\hat{y}_i \le \hat{y}_j$$ whenever $$X_i \le X_j$$,

where the weights $$w_i$$ are strictly positive, and both X and y are arbitrary real quantities.

The increasing parameter changes the constraint to $$\hat{y}_i \ge \hat{y}_j$$ whenever $$X_i \le X_j$$. Setting it to ‘auto’ will automatically choose the constraint based on Spearman’s rank correlation coefficient.

IsotonicRegression produces a series of predictions $$\hat{y}_i$$ for the training data which are the closest to the targets $$y$$ in terms of mean squared error. These predictions are interpolated for predicting to unseen data. The predictions of IsotonicRegression thus form a function that is piecewise linear: