| cvx.lse.con.reg {simest} | R Documentation |
Convex Least Squares Regression.
Description
This function provides an estimate of the non-parametric regression function with a shape constraint of convexity and no smoothness constraint. Note that convexity by itself provides some implicit smoothness.
Usage
cvx.lse.con.reg(t, z, w = NULL,...)
## Default S3 method:
cvx.lse.con.reg(t, z, w = NULL, ...)
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 t; Defaults to all elements |
... |
additional arguments. |
Details
This function does the same thing as cvx.lse.reg except that here we use conreg function from cobs package which is faster than cvx.lse.reg. The plot, predict, print functions of cvx.lse.reg also apply for cvx.lse.con.reg.
Value
An object of class ‘cvx.lse.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’. |
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. Always set to 1. |
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.
Liao, X. and Meyer, M. C. (2014). coneproj: An R package for the primal or dual cone projections with routines for constrained regression. Journal of Statistical Software 61(12), 1 – 22.
Examples
args(cvx.lse.con.reg)
x <- runif(50,-1,1)
y <- x^2 + rnorm(50,0,0.3)
tmp <- cvx.lse.con.reg(x, y)
print(tmp)
plot(tmp)
predict(tmp, newdata = rnorm(10,0,0.1))