| cvx.pen.reg {simest} | R Documentation | 
Penalized Smooth Convex Regression.
Description
This function provides an estimate of the non-parametric regression function with a shape constraint of convexity and smoothness constraint provided through square integral of second derivative.
Usage
cvx.pen.reg(x, y, lambda, w = NULL, tol = 1e-05, maxit = 1000,...)
## Default S3 method:
cvx.pen.reg(x, y, lambda, w = NULL, tol = 1e-05, maxit = 1000,...)
## S3 method for class 'cvx.pen.reg'
plot(x,...)
## S3 method for class 'cvx.pen.reg'
print(x,...)
## S3 method for class 'cvx.pen.reg'
predict(object, newdata = NULL,...)
Arguments
x | 
 a numeric vector giving the values of the predictor variable. For   | 
y | 
 a numeric vector giving the values of the response variable.  | 
lambda | 
 a numeric value giving the penalty value.  | 
w | 
 an optional numeric vector of the same length as x; Defaults to all 1.  | 
maxit | 
 an integer giving the maxmimum number of steps taken by the algorithm; defaults to 1000.  | 
tol | 
 a numeric providing the tolerance level for convergence.  | 
... | 
 any additional arguments.  | 
object | 
 An object of class ‘cvx.pen.reg’. This is for predict function.  | 
newdata | 
 a vector of new data points to be used in the predict function.  | 
Details
The function minimizes
\sum_{i=1}^n w_i(y_i - f(x_i))^2 + \lambda\int\{f''(x)\}^2dx
subject to convexity constraint on f. plot function provides the scatterplot along with fitted curve; it also includes some diagnostic plots for residuals. Predict function returns a matrix containing the inputted newdata along with the function values, derivatives and second derivatives.
Value
An object of class ‘cvx.pen.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’.  | 
iter | 
 number of steps taken to complete the iterations.  | 
residuals | 
 residuals obtained from the fit.  | 
minvalue | 
 minimum value of the objective function attained.  | 
convergence | 
 a numeric indicating the convergence of the code.  | 
alpha | 
 a numeric vector of length 2 less than ‘x’. This represents the coefficients of the B-splines in the second derivative of the estimator.  | 
AlphaMVal | 
 a numeric vector needed for predict function.  | 
lower | 
 a numeric vector needed for predict function.  | 
upper | 
 a numeric vector needed for predict function.  | 
Author(s)
Arun Kumar Kuchibhotla, arunku@wharton.upenn.edu, Rohit Kumar Patra, rohit@stat.columbia.edu.
Source
Elfving, T. and Andersson, L. (1988). An Algorithm for Computing Constrained Smoothing Spline Functions. Numer. Math., 52(5):583–595.
Dontchev, A. L., Qi, H. and Qi, L. (2003). Quadratic Convergence of Newton's Method for Convex Interpolation and Smoothing. Constructive Approximation, 19(1):123-143.
Examples
args(cvx.pen.reg)
x <- runif(50,-1,1)
y <- x^2 + rnorm(50,0,0.3)
tmp <- cvx.pen.reg(x, y, lambda = 0.01)
print(tmp)
plot(tmp)
predict(tmp, newdata = rnorm(10,0,0.1))