islasso: The Induced Smoothed Lasso: A practical framework for...

View source: R/islasso.R

islassoR Documentation

The Induced Smoothed Lasso: A practical framework for hypothesis testing in high dimensional regression

Description

This package implements an induced smoothed approach for hypothesis testing in Lasso regression.

Fits regression models with a smoothed L1 penalty under the induced smoothing paradigm. Supports linear, logistic, Poisson, and Gamma responses. Enables reliable standard errors and Wald-based inference.

Usage

islasso(
  formula,
  family = gaussian,
  lambda,
  alpha = 1,
  data,
  weights,
  subset,
  offset,
  unpenalized,
  contrasts = NULL,
  control = is.control()
)

Arguments

formula

A symbolic formula describing the model.

family

Response distribution. Can be gaussian, binomial, poisson, or Gamma.

lambda

Regularization parameter. If missing, it is estimated via cv.glmnet.

alpha

Elastic-net mixing parameter (0 \le \alpha \le 1).

data

A data frame or environment containing the variables in the model.

weights

Observation weights. Defaults to 1.

subset

Optional vector specifying a subset of rows to include.

offset

Optional numeric vector of offsets in the linear predictor.

unpenalized

Vector indicating variables (by name or index) to exclude from penalization.

contrasts

Optional contrasts specification for factor variables.

control

A list of parameters to control model fitting. See is.control.

Details

Package: islasso
Type: Package
Version: 1.6.0
Date: 2025-07-30
License: GPL-2

islasso fits generalized linear models with an L1 penalty on selected coefficients. It returns both point estimates and full covariance matrices, enabling standard error-based inference. Related methods include: summary.islasso, predict.islasso, logLik.islasso, deviance.islasso, and residuals.islasso.

islasso.path fits regularization paths using the Induced Smoothed Lasso. It computes coefficients and standard errors across a grid of lambda values. Companion methods include: summary.islasso.path, predict.islasso.path, logLik.islasso.path, residuals.islasso.path, coef.islasso.path, and fitted.islasso.path.

The non-smooth L1 penalty is replaced by a smooth approximation, enabling inference through standard errors and Wald tests. The approach controls type-I error and shows strong power in various simulation settings.

Value

A list with components such as:

coefficients

Estimated coefficients

se

Standard errors

fitted.values

Fitted values

deviance, aic, null.deviance

Model diagnostic metrics

residuals, weights

IWLS residuals and weights

df.residual, df.null, rank

Degrees of freedom

converged

Logical; convergence status

model, call, terms, formula, data, offset

Model objects

xlevels, contrasts

Factor handling details

lambda, alpha, dispersion

Model parameters

internal

Other internal values

Author(s)

Gianluca Sottile, based on preliminary work by Vito Muggeo. Maintainer: gianluca.sottile@unipa.it

Gianluca Sottile gianluca.sottile@unipa.it

References

Cilluffo, G., Sottile, G., La Grutta, S., Muggeo, VMR (2019). *The Induced Smoothed lasso: A practical framework for hypothesis testing in high dimensional regression*, Statistical Methods in Medical Research. DOI: \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1177/0962280219842890")}

Sottile, G., Cilluffo, G., Muggeo, VMR (2019). *The R package islasso: estimation and hypothesis testing in lasso regression*. Technical Report on ResearchGate. DOI: \Sexpr[results=rd]{tools:::Rd_expr_doi("10.13140/RG.2.2.16360.11521")}

Cilluffo G., Sottile G., La Grutta S., Muggeo V.M.R. (2019) The Induced Smoothed Lasso: A practical framework for hypothesis testing in high dimensional regression. Statistical Methods in Medical Research. DOI: 10.1177/0962280219842890

Sottile G., Cilluffo G., Muggeo V.M.R. (2019) The R package islasso: estimation and hypothesis testing in lasso regression. Technical Report. DOI: 10.13140/RG.2.2.16360.11521

See Also

summary.islasso, predict.islasso, logLik.islasso

Examples

n <- 100; p <- 100

beta <- c(rep(1, 5), rep(0, p - 5))
sim1 <- simulXy(n = n, p = p, beta = beta, seed = 1, family = gaussian())
o <- islasso(y ~ ., data = sim1$data, family = gaussian())

summary(o, pval = 0.05)
coef(o)
fitted(o)
predict(o, type="response")
plot(o)
residuals(o)
deviance(o)
AIC(o)
logLik(o)

## Not run: 
# for the interaction
o <- islasso(y ~ X1 * X2, data = sim1$data, family = gaussian())

##### binomial ######
beta <- c(c(1,1,1), rep(0, p-3))
sim2 <- simulXy(n = n, p = p, beta = beta, interc = 1, seed = 1,
                size = 100, family = binomial())
o2 <- islasso(cbind(y.success, y.failure) ~ .,
              data = sim2$data, family = binomial())
summary(o2, pval = 0.05)

##### poisson ######
beta <- c(c(1,1,1), rep(0, p-3))
sim3 <- simulXy(n = n, p = p, beta = beta, interc = 1, seed = 1,
                family = poisson())
o3 <- islasso(y ~ ., data = sim3$data, family = poisson())
summary(o3, pval = 0.05)

##### Gamma ######
beta <- c(c(1,1,1), rep(0, p-3))
sim4 <- simulXy(n = n, p = p, beta = beta, interc = -1, seed = 1,
                dispersion = 0.1, family = Gamma(link = "log"))
o4 <- islasso(y ~ ., data = sim4$data, family = Gamma(link = "log"))
summary(o4, pval = 0.05)

## End(Not run)


islasso documentation built on Aug. 9, 2025, 1:06 a.m.

Related to islasso in islasso...