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).
The basic model fitting procedure for a Group SLOPE model is:
library(grpSLOPE)
<- grpSLOPE(X=X, y=y, group=group, fdr=0.1) result
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
$selected
result# 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.
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")
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:
Rcpp
.grpSLOPE
directory (which contains the grpSLOPE
source code).Rcpp::compileAttributes("./grpSLOPE")
. Then quit R.R CMD build grpSLOPE
. You should then have a file
like grpSLOPE_0.2.1.9000.tar.gz
.R CMD INSTALL grpSLOPE_0.2.1.9000.tar.gz
to install
the package.grpSLOPE.Rproj
with RStudio.devtools::document()
.devtools::test()
to run the unit tests.devtools::install()
devtools::check()