# cvx.pen.reg: Penalized Smooth Convex Regression. In simest: Constrained Single Index Model Estimation

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

 1 2 3 4 5 6 7 8 9 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 plot and print functions, x represents an object of class cvx.pen.reg. 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

∑_{i=1}^n w_i(y_i - f(x_i))^2 + λ\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, [email protected], Rohit Kumar Patra, [email protected]

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

 1 2 3 4 5 6 7 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)) 

simest documentation built on May 29, 2017, 6:35 p.m.