huber.lasso: Huber-Lasso estimator

View source: R/Huber.R

huber.lassoR Documentation

Huber-Lasso estimator

Description

This function is L1 penalized Huber estimator for linear regression under both fixed and high-dimensional settings. Currently, the function does not support automatic selection of huber tuning parameter.

Usage

huber.lasso(
  X,
  y,
  beta.ini,
  lambda,
  alpha = 2,
  adaptive = TRUE,
  intercept = FALSE,
  penalty.factor = rep(1, ncol(X))
)

Arguments

X

design matrix, standardization is recommended.

y

response vector.

beta.ini

initial estimates of beta. If not specified, LADLasso estimates from rq.lasso.fit() in rqPen is used. Otherwise, robust estimators are strongly recommended.

lambda

regularization parameter of Lasso or adaptive Lasso (if adaptive=TRUE).

alpha

1/alpha is the huber tuning parameter. Larger alpha results in smaller portion of squared loss.

adaptive

logical input that indicates if adaptive Lasso is used. Default is TRUE.

intercept

logical input that indicates if intercept needs to be estimated. Default is FALSE.

penalty.factor

can be used to force nonzero coefficients. Default is rep(1, ncol(X)) as in glmnet.

Value

beta

the regression coefficient estimates.

fitted

predicted response.

iter.steps

iteration steps.

Examples

set.seed(2017)
n=200; d=50
X=matrix(rnorm(n*d), nrow=n, ncol=d)
beta=c(rep(2,6), rep(0, 44))
y=X%*%beta+c(rnorm(150), rnorm(30,10,10), rnorm(20,0,100))
output.HuberLasso=huber.lasso(X,y, adaptive=TRUE)
beta.est=output.HuberLasso$beta


MTE documentation built on March 23, 2022, 1:07 a.m.