| nclreg {mpath} | R Documentation | 
Optimize a nonconvex loss with regularization
Description
Fit a linear model via penalized nonconvex loss function. The regularization path is computed for the lasso (or elastic net penalty), scad (or snet) and mcp (or mnet penalty), at a grid of values for the regularization parameter lambda. The name refers to NonConvex Loss with REGularization.
Usage
## S3 method for class 'formula'
nclreg(formula, data, weights, offset=NULL, contrasts=NULL, ...)
## S3 method for class 'matrix'
nclreg(x, y, weights, offset=NULL, ...)
## Default S3 method:
nclreg(x,  ...)
Arguments
| formula | symbolic description of the model, see details. | 
| data | argument controlling formula processing
via  | 
| weights | optional numeric vector of weights. If  | 
| x | input matrix, of dimension nobs x nvars; each row is an observation vector | 
| y | response variable. Quantitative for  | 
| offset | Not implemented yet | 
| contrasts | the contrasts corresponding to  | 
| ... | Other arguments passing to  | 
Details
The sequence of robust models implied by lambda is fit by majorization-minimization along with coordinate
descent. Note that the objective function is 
weights*loss + \lambda*penalty,
 if standardize=FALSE and 
\frac{weights}{\sum(weights)}*loss + \lambda*penalty,
 if standardize=TRUE. 
Value
An object with S3 class "nclreg" for the various types of models.
| call | the call that produced this object | 
| b0 | Intercept sequence of length  | 
| beta | A  | 
| lambda | The actual sequence of  | 
| nobs | number of observations | 
| risk | if  | 
| pll | if  | 
| fitted.values | predicted values depending on  | 
Author(s)
Zhu Wang <zwang145@uthsc.edu>
References
Zhu Wang (2021), MM for Penalized Estimation, TEST, doi: 10.1007/s11749-021-00770-2
See Also
print, predict, coef and plot methods, and the cv.nclreg function.
Examples
#binomial
x=matrix(rnorm(100*20),100,20)
g2=sample(c(-1,1),100,replace=TRUE)
### different solution paths via a combination of type.path, decreasing and type.init
fit1=nclreg(x,g2,s=1,rfamily="closs",type.path="active",decreasing=TRUE,type.init="bst")
fit2=nclreg(x,g2,s=1,rfamily="closs",type.path="active",decreasing=FALSE,type.init="bst")
fit3=nclreg(x,g2,s=1,rfamily="closs",type.path="nonactive",decreasing=TRUE,type.init="bst")
fit4=nclreg(x,g2,s=1,rfamily="closs",type.path="nonactive",decreasing=FALSE,type.init="bst")
fit5=nclreg(x,g2,s=1,rfamily="closs",type.path="active",decreasing=TRUE,type.init="ncl")
fit6=nclreg(x,g2,s=1,rfamily="closs",type.path="active",decreasing=FALSE,type.init="ncl")
fit7=nclreg(x,g2,s=1,rfamily="closs",type.path="nonactive",decreasing=TRUE,type.init="ncl")
fit8=nclreg(x,g2,s=1,rfamily="closs",type.path="nonactive",decreasing=FALSE,type.init="ncl")