# Isotonic regression

In statistics and numerical analysis, isotonic regression or monotonic regression is the technique of fitting a free-form line to a sequence of observations such that the fitted line is non-decreasing (or non-increasing) everywhere, and lies as close to the observations as possible.

## Applications

Isotonic regression has applications in statistical inference. For example, one might use it to fit an isotonic curve to the means of some set of experimental results when an increase in those means according to some particular ordering is expected. A benefit of isotonic regression is that it is not constrained by any functional form, such as the linearity imposed by linear regression, as long as the function is monotonic increasing.
Another application is nonmetric multidimensional scaling, where a low-dimensional embedding for data points is sought such that order of distances between points in the embedding matches order of dissimilarity between points. Isotonic regression is used iteratively to fit ideal distances to preserve relative dissimilarity order.
Isotonic regression is also used in probabilistic classification to calibrate the predicted probabilities of supervised machine learning models.
Isotonic regression for the simply ordered case with univariate $x,y$ has been applied to estimating continuous dose-response relationships in fields such as anesthesiology and toxicology. Narrowly speaking, isotonic regression only provides point estimates at observed values of $x.$ Estimation of the complete dose-response curve without any additional assumptions is usually done via linear interpolation between the point estimates.
Software for computing isotone (monotonic) regression has been developed for R, Stata, and Python.

## Problem statement and algorithms

Let $(x_{1},y_{1}),\ldots ,(x_{n},y_{n})$ be a given set of observations, where the $y_{i}\in \mathbb {R}$ and the $x_{i}$ fall in some partially ordered set. For generality, each observation $(x_{i},y_{i})$ may be given a weight $w_{i}\geq 0$, although commonly $w_{i}=1$ for all $i$.
Isotonic regression seeks a weighted least-squares fit ${\hat {y}}_{i}\approx y_{i}$ for all $i$, subject to the constraint that ${\hat {y}}_{i}\leq {\hat {y}}_{j}$ whenever $x_{i}\leq x_{j}$. This gives the following quadratic program (QP) in the variables ${\hat {y}}_{1},\ldots ,{\hat {y}}_{n}$:
    $\min \sum _{i=1}^{n}w_{i}({\hat {y}}_{i}-y_{i})^{2}$ subject to ${\hat {y}}_{i}\leq {\hat {y}}_{j}{\text{ for all }}(i,j)\in E$
where $E=\{(i,j):x_{i}\leq x_{j}\}$ specifies the partial ordering of the observed inputs $x_{i}$ (and may be regarded as the set of edges of some directed acyclic graph (dag) with vertices $1,2,\ldots n$). Problems of this form may be solved by generic quadratic programming techniques.
In the usual setting where the $x_{i}$ values fall in a totally ordered set such as $\mathbb {R}$, we may assume WLOG that the observations have been sorted so that $x_{1}\leq x_{2}\leq \cdots \leq x_{n}$, and take $E=\{(i,i+1):1\leq i<n\}$. In this case, a simple iterative algorithm for solving the quadratic program is the pool adjacent violators algorithm. Conversely, Best and Chakravarti studied the problem as an active set identification problem, and proposed a primal algorithm. These two algorithms can be seen as each other's dual, and both have a computational complexity of $O(n)$ on already sorted data.
To complete the isotonic regression task, we may then choose any non-decreasing function $f(x)$ such that $f(x_{i})={\hat {y}}_{i}$ for all i. Any such function obviously solves
    $\min _{f}\sum _{i=1}^{n}w_{i}(f(x_{i})-y_{i})^{2}$ subject to $f$ being nondecreasing
and can be used to predict the $y$ values for new values of $x$. A common choice when $x_{i}\in \mathbb {R}$ would be to interpolate linearly between the points $(x_{i},{\hat {y}}_{i})$, as illustrated in the figure, yielding a continuous piecewise linear function:
    $f(x)={\begin{cases}{\hat {y}}_{1}&{\text{if }}x\leq x_{1}\\{\hat {y}}_{i}+{\frac {x-x_{i}}{x_{i+1}-x_{i}}}({\hat {y}}_{i+1}-{\hat {y}}_{i})&{\text{if }}x_{i}\leq x\leq x_{i+1}\\{\hat {y}}_{n}&{\text{if }}x\geq x_{n}\end{cases}}$

## Centered isotonic regression

As this article's first figure shows, in the presence of monotonicity violations the resulting interpolated curve will have flat (constant) intervals. In dose-response applications it is usually known that $f(x)$ is not only monotone but also smooth. The flat intervals are incompatible with $f(x)$'s assumed shape, and can be shown to be biased. A simple improvement for such applications, named centered isotonic regression (CIR), was developed by Oron and Flournoy and shown to substantially reduce estimation error for both dose-response and dose-finding applications. Both CIR and the standard isotonic regression for the univariate, simply ordered case, are implemented in the R package "cir". This package also provides analytical confidence-interval estimates.