# Convex Least Squares Regression with Lipschitz Constraint

### Description

This function provides an estimate of the non-parametric regression function with a shape constraint of convexity and a smoothness constraint via a Lipschitz bound.

### Usage

1 2 3 4 5 6 7 8 9 |

### Arguments

`t` |
a numeric vector giving the values of the predictor variable. |

`z` |
a numeric vector giving the values of the response variable. |

`w` |
an optional numeric vector of the same length as x; Defaults to all elements |

`L` |
a numeric value providing the Lipschitz bound on the function. |

`...` |
additional arguments. |

`x` |
an object of class ‘cvx.lip.reg’. |

`object` |
An object of class ‘cvx.lip.reg’. |

`newdata` |
a matrix of new data points in the predict function. |

`deriv` |
a numeric either 0 or 1 representing which derivative to evaluate. |

### Details

The function minimizes

*∑_{i=1}^n w_i(y_i - θ_i)^2*

subject to

*-L≤\frac{θ_2 - θ_1}{x_2 - x_1}≤\cdots≤\frac{θ_n - θ_{n-1}}{x_n - x_{n-1}}≤ L*

for sorted *x* values and *y* reorganized such that *y_i* corresponds to the new sorted *x_i*. This function uses the `nnls`

function from the `nnls`

package to perform the constrained minimization of least squares. `plot`

function provides the scatterplot along with fitted curve; it also includes some diagnostic plots for residuals. Predict function now allows calculating the first derivative also.

### Value

An object of class ‘cvx.lip.reg’, basically a list including the elements

`x.values` |
sorted ‘x’ values provided as input. |

`y.values` |
corresponding ‘y’ values in input. |

`fit.values` |
corresponding fit values of same length as that of ‘x.values’. |

`deriv` |
corresponding values of the derivative of same length as that of ‘x.values’. |

`residuals` |
residuals obtained from the fit. |

`minvalue` |
minimum value of the objective function attained. |

`iter` |
Always set to 1. |

`convergence` |
a numeric indicating the convergence of the code. |

### Author(s)

Arun Kumar Kuchibhotla, arunku@wharton.upenn.edu.

### Source

Lawson, C. L and Hanson, R. J. (1995). Solving Least Squares Problems. SIAM.

### References

Chen, D. and Plemmons, R. J. (2009). Non-negativity Constraints in Numerical Analysis. Symposium on the Birth of Numerical Analysis.

### See Also

See also the function `nnls`

.

### Examples

1 2 3 4 5 6 7 | ```
args(cvx.lip.reg)
x <- runif(50,-1,1)
y <- x^2 + rnorm(50,0,0.3)
tmp <- cvx.lip.reg(x, y, L = 10)
print(tmp)
plot(tmp)
predict(tmp, newdata = rnorm(10,0,0.1))
``` |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.