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))