The first version of this code was created by Bodhisattva Sen at Columbia University. What is presented here is a slightly adapted version to aid in the estimation of CNLS.

Adaptations done by Andrew L. Johnson ajohnson@tamu.edu

Function to compute the CONVEX Regression of the response y on the data matrix x

Function NEEDS the PACKAGE cvx (see http://cvxr.com/cvx/) to be installed in the computer

y: the response variable — a column vector of length n

x: the data matrix of the predictors (of size n*p);

Note that the vector of ones is NOT required in the data matrix

th: the value of the fitted response

The function also gives estimates of the sub-gradients at each data point and is stored in the ‘beta1’ matrix

Note that for sample sizes of 200 or more, the function can be very slow!

It involves n(n-1) many constraints