| cvx.lip.reg {simest} | R Documentation | 
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
cvx.lip.reg(t, z, w = NULL, L,...)
## Default S3 method:
cvx.lip.reg(t, z, w = NULL, L, ...)
## S3 method for class 'cvx.lip.reg'
plot(x,...)
## S3 method for class 'cvx.lip.reg'
print(x,...)
## S3 method for class 'cvx.lip.reg'
predict(object, newdata = NULL, deriv = 0, ...)
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
\sum_{i=1}^n w_i(z_i - \theta_i)^2
subject to
-L\le\frac{\theta_2 - \theta_1}{t_2 - t_1}\le\cdots\le\frac{\theta_n - \theta_{n-1}}{t_n - t_{n-1}}\le L
for sorted t values and z reorganized such that z_i corresponds to the new sorted t_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 ‘t’ values provided as input.  | 
y.values | 
 corresponding ‘z’ 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
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))