Learn R Programming

mpath (version 0.4-2.21)

ccglmreg: Fit a penalized CC-estimator

Description

Fit a linear model in penalized CC-family. 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.

Usage

# S3 method for formula
ccglmreg(formula, data, weights, offset=NULL, contrasts=NULL, ...)
# S3 method for matrix
ccglmreg(x, y, weights, offset=NULL, ...)
# S3 method for default
ccglmreg(x,  ...)

Arguments

formula

symbolic description of the model, see details.

data

argument controlling formula processing via model.frame.

weights

optional numeric vector of weights. If standardize=TRUE, weights are renormalized to weights/sum(weights). If standardize=FALSE, weights are kept as original input

x

input matrix, of dimension nobs x nvars; each row is an observation vector

y

response variable. Quantitative for rfamily="clossR" and -1/1 for classification.

offset

Not implemented yet

contrasts

the contrasts corresponding to levels from the respective models

...

Other arguments passing to ccglmreg_fit

Value

An object with S3 class "ccglmreg" for the various types of models.

call

the call that produced this object

b0

Intercept sequence of length length(lambda)

beta

A nvars x length(lambda) matrix of coefficients.

lambda

The actual sequence of lambda values used

nobs

number of observations

risk

if type.path="nonactive", a matrix with number of rows iter and number of columns nlambda, loss values along the regularization path. If type.path="fast", a vector of length nlambda, loss values along the regularization path

pll

if type.path="nonactive", a matrix with number of rows iter and number of columns nlambda, penalized loss values along the regularization path. If type.path="fast", a vector of length nlambda, penalized loss values along the regularization path

fitted.values

predicted values depending on standardize, internal use only

Details

The sequence of robust models implied by lambda is fit by COCO 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.

References

Zhu Wang (2020) Unified Robust Estimation via the COCO, arXiv e-prints, https://arxiv.org/abs/2010.02848

See Also

print, predict, coef and plot methods, and the cv.ccglmreg function.

Examples

Run this code
# NOT RUN {
#binomial
x=matrix(rnorm(100*20),100,20)
g2=sample(c(-1,1),100,replace=TRUE)
fit1=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="active",
              decreasing=TRUE,type.init="bst")
#fit1$risk
# }
# NOT RUN {
### different solution paths via a combination of type.path, decreasing and type.init
fit1=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="active",
           decreasing=TRUE,type.init="bst")
fit2=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="active",
           decreasing=FALSE,type.init="bst")
fit3=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="nonactive",
           decreasing=TRUE,type.init="bst")
fit4=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="nonactive",
           decreasing=FALSE,type.init="bst")
fit5=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="active",
           decreasing=TRUE,type.init="co")
fit6=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="active",
           decreasing=FALSE,type.init="co")
fit7=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="nonactive",
           decreasing=TRUE,type.init="co")
fit8=ccglmreg(x,g2,s=1,cfun="ccave",dfun="gaussian",type.path="nonactive",
           decreasing=FALSE,type.init="co")
# }

Run the code above in your browser using DataLab