Fused Lasso for High-Dimensional Regression over Groups

Enables high-dimensional penalized regression across heterogeneous subgroups. Fusion penalties are used to share information about the linear parameters across subgroups. The underlying model is described in detail in Dondelinger and Mukherjee (2017) .

Fused lasso for high-dimensional regression over groups. This package implements the model described in Dondelinger et al. (2016).




See also the included vignette.

# Generate simple heterogeneous dataset
k = 4 # number of groups
p = 100 # number of covariates
n.group = 15 # number of samples per group
sigma = 0.05 # observation noise sd
groups = rep(1:k, each=n.group) # group indicators
# sparse linear coefficients
beta = matrix(0, p, k)
nonzero.ind = rbinom(p*k, 1, 0.025/k) # Independent coefficients
nonzero.shared = rbinom(p, 1, 0.025) # shared coefficients
beta[which(nonzero.ind==1)] = rnorm(sum(nonzero.ind), 1, 0.25) 
beta[which(nonzero.shared==1),] = rnorm(sum(nonzero.shared), -1, 0.25)
X = lapply(1:k, function(k.i) matrix(rnorm(n.group*p),n.group, p)) # covariates 
y = sapply(1:k, function(k.i) X[[k.i]] %*% beta[,k.i] + rnorm(n.group, 0, sigma)) # response
X = do.call('rbind', X)
# Pairwise Fusion strength hyperparameters (tau(k,k'))
# Same for all pairs in this example
G = matrix(1, k, k) 
# Use L1 fusion to estimate betas (with near-optimal sparsity and 
# information sharing among groups)
beta.estimate = fusedLassoProximal(X, y, groups, lambda=0.001, tol=9e-5, 
                                   gamma=0.001, G, intercept=FALSE,
# Generate block diagonal matrices for L2 fusion approach
transformed.data = generateBlockDiagonalMatrices(X, y, groups, G)
# Use L2 fusion to estimate betas (with near-optimal information sharing among groups)
beta.estimate = fusedL2DescentGLMNet(transformed.data$X, transformed.data$X.fused, 
                                     transformed.data$Y, groups, lambda=c(0,0.001,0.1,1),


fuser 1.0.1

  • Introduced option to scale sum-squared loss per subgroup by the subgroup sample size. This improves performance in situations with unbalanced groups.
  • Fixed warning caused by deprecated function in the Matrix package.

fuser 1.0.0

First full release of fuser package for subgroup regression with fusion penalties.


  • L1 and L2 fusion penalized regression across heterogeneous subgroups.
  • Ability to deal with high-dimensional datasets (tens of thousands of covariates).
  • C implementation for additional speed gains.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.0.1 by Frank Dondelinger, 3 years ago

Browse source code at https://github.com/cran/fuser

Authors: Frank Dondelinger [aut, cre] , Olivier Wilkinson [aut]

Documentation:   PDF Manual  

GPL-3 license

Imports Matrix, irlba, Rcpp, glmnet, RSpectra

Suggests testthat, ggplot2, knitr, rmarkdown

Linking to Rcpp, RcppEigen

See at CRAN