MyNixOS website logo
Description

Group Subset Selection.

Provides tools for sparse regression modelling with grouped predictors using the group subset selection penalty. Uses coordinate descent and local search algorithms to rapidly deliver near optimal estimates. The group subset penalty can be combined with a group lasso or ridge penalty for added shrinkage. Linear and logistic regression are supported, as are overlapping groups.

grpsel

R-CMD-check codecov

Overview

An R package for sparse regression modelling with grouped predictors (including overlapping groups). grpsel uses the group subset selection penalty, usually leading to excellent selection and prediction. Optionally, the group subset penalty can be combined with a group lasso or ridge penalty for added shrinkage. Linear and logistic regression are currently supported. See this paper for more information.

Installation

To install the latest stable version from CRAN, run the following code:

install.packages('grpsel')

To install the latest development version from GitHub, run the following code:

devtools::install_github('ryan-thompson/grpsel')

Usage

The grpsel() function fits a group subset regression model for a sequence of tuning parameters. The cv.grpsel() function provides a convenient way to automatically cross-validate these parameters.

library(grpsel)

# Generate some grouped data
set.seed(123)
n <- 100 # Number of observations
p <- 10 # Number of predictors
g <- 5 # Number of groups
group <- rep(1:g, each = p / g) # Group structure
beta <- numeric(p)
beta[which(group %in% 1:2)] <- 1 # First two groups are nonzero
x <- matrix(rnorm(n * p), n, p)
y <- x %*% beta + rnorm(n)

# Fit the group subset selection regularisation path
fit <- grpsel(x, y, group)
coef(fit, lambda = 0.05)
##            [,1]
##  [1,] 0.1363219
##  [2,] 1.0738565
##  [3,] 0.9734311
##  [4,] 0.8432186
##  [5,] 1.1940502
##  [6,] 0.0000000
##  [7,] 0.0000000
##  [8,] 0.0000000
##  [9,] 0.0000000
## [10,] 0.0000000
## [11,] 0.0000000
# Cross-validate the group subset selection regularisation path
fit <- cv.grpsel(x, y, group)
coef(fit)
##            [,1]
##  [1,] 0.1363219
##  [2,] 1.0738565
##  [3,] 0.9734311
##  [4,] 0.8432186
##  [5,] 1.1940502
##  [6,] 0.0000000
##  [7,] 0.0000000
##  [8,] 0.0000000
##  [9,] 0.0000000
## [10,] 0.0000000
## [11,] 0.0000000

Documentation

See the package vignette or reference manual.

Metadata

Version

1.3.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows