Learn R Programming

grpSLOPE

Group SLOPE is a penalized linear regression method that is used for adaptive selection of groups of significant predictors in a high-dimensional linear model. A unique feature of the Group SLOPE method is that it offers (group) false discovery rate control (i.e., control of the expected proportion of irrelevant groups among the total number of groups of predictors selected by Group SLOPE). A detailed description of the method can be found in D. Brzyski, A. Gossmann, W. Su, and M. Bogdan (2019) "Group SLOPE — adaptive selection of groups of predictors", Journal of the American Statistical Association (or the 2016 arXiv preprint).

Usage

The basic model fitting procedure for a Group SLOPE model is:

library(grpSLOPE)

result <- grpSLOPE(X=X, y=y, group=group, fdr=0.1)

where X is the model matrix, y the response vector, group a vector specifying group memberships of the predictor variables, and fdr the target (group) false discovery rate for the variable selection procedure.

One can access various estimated parameters of the fitted model, such as the selected groups, the estimated noise level, or the estimated vector of regression coefficients:

# groups that have a non-zero effect
result$selected
# noise level
sigma(result)
# coefficient vector
coef(result)

A detailed basic usage example can be found here.

More complicated (and possibly less helpful) example codes are available in the repository grpSLOPE_examples.

Installation

The latest stable version of grpSLOPE can be installed from CRAN (The Comprehensive R Archive Network). Just open an R session and do:

install.packages("grpSLOPE")

Installation of the development version

Your R configuration must allow for a working Rcpp.

The easiest way to install the latest development version of grpSLOPE is by using the R package devtools. Just open up an R session and run:

# Install devtools, if you haven't already.
install.packages("devtools")

library(devtools)
install_github("agisga/grpSLOPE")

If you don't want to use devtools, you can install grpSLOPE by downloading the source code and then following these steps:

  1. Install the R package Rcpp.
  2. Go to the directory that contains the grpSLOPE directory (which contains the grpSLOPE source code).
  3. Open an R session and run Rcpp::compileAttributes("./grpSLOPE"). Then quit R.
  4. Run R CMD build grpSLOPE. You should then have a file like grpSLOPE_0.2.1.9000.tar.gz.
  5. Run R CMD INSTALL grpSLOPE_0.2.1.9000.tar.gz to install the package.

Development workflow

  1. Modify the code.
  2. Open grpSLOPE.Rproj with RStudio.
  3. Run devtools::document().
  4. Do "Build and Reload" from the menu (or CTRL-Shift-B).
  5. Do devtools::test() to run the unit tests.
  6. Install with devtools::install()
  7. Run checks with devtools::check()

Copy Link

Version

Install

install.packages('grpSLOPE')

Monthly Downloads

257

Version

0.3.3

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

May 24th, 2023

Functions in grpSLOPE (0.3.3)

sigma

Extract (estimated) noise level
lambdaGroupSLOPE

Regularizing sequence for Group SLOPE
predict.grpSLOPE

Obtain predictions
getGroupID

Get a groupID object
prox_sorted_L1

Prox for sorted L1 norm
proxGroupSortedL1

Prox for group SLOPE
grpSLOPE

Group SLOPE (Group Sorted L-One Penalized Estimation)
coef.grpSLOPE

Extract model coefficients
admmSolverGroupSLOPE

Alternating direction method of multipliers
SLOPE_solver

Sorted L1 solver
proximalGradientSolverGroupSLOPE

Proximal gradient method for Group SLOPE