Learn R Programming

sgs (version 0.3.6)

as_sgs: Fits the adaptively scaled SGS model (AS-SGS).

Description

Fits an SGS model using the noise estimation procedure, termed adaptively scaled SGS (Algorithm 2 from Feser and Evangelou (2023)). This adaptively estimates \(\lambda\) and then fits the model using the estimated value. It is an alternative approach to cross-validation (fit_sgs_cv()). The approach is only compatible with the SGS penalties.

Usage

as_sgs(
  X,
  y,
  groups,
  type = "linear",
  pen_method = 2,
  alpha = 0.95,
  vFDR = 0.1,
  gFDR = 0.1,
  standardise = "l2",
  intercept = TRUE,
  verbose = FALSE
)

Value

An object of type "sgs" containing model fit information (see fit_sgs()).

Arguments

X

Input matrix of dimensions \(n \times p\). Can be a sparse matrix (using class "sparseMatrix" from the Matrix package).

y

Output vector of dimension \(n\). For type="linear" should be continuous and for type="logistic" should be a binary variable.

groups

A grouping structure for the input data. Should take the form of a vector of group indices.

type

The type of regression to perform. Supported values are: "linear" and "logistic".

pen_method

The type of penalty sequences to use.

  • "1" uses the vMean and gMean SGS sequences.

  • "2" uses the vMax and gMax SGS sequences.

alpha

The value of \(\alpha\), which defines the convex balance between SLOPE and gSLOPE. Must be between 0 and 1.

vFDR

Defines the desired variable false discovery rate (FDR) level, which determines the shape of the variable penalties. Must be between 0 and 1.

gFDR

Defines the desired group false discovery rate (FDR) level, which determines the shape of the group penalties. Must be between 0 and 1.

standardise

Type of standardisation to perform on X:

  • "l2" standardises the input data to have \(\ell_2\) norms of one.

  • "l1" standardises the input data to have \(\ell_1\) norms of one.

  • "sd" standardises the input data to have standard deviation of one.

  • "none" no standardisation applied.

intercept

Logical flag for whether to fit an intercept.

verbose

Logical flag for whether to print fitting information.

References

Feser, F., Evangelou, M. (2023). Sparse-group SLOPE: adaptive bi-level selection with FDR-control, https://arxiv.org/abs/2305.09467

See Also

scaled_sgs()

Other model-selection: fit_goscar_cv(), fit_gslope_cv(), fit_sgo_cv(), fit_sgs_cv(), scaled_sgs()

Other SGS-methods: coef.sgs(), fit_sgo(), fit_sgo_cv(), fit_sgs(), fit_sgs_cv(), plot.sgs(), predict.sgs(), print.sgs(), scaled_sgs()