gen_pens {sgs} | R Documentation |
Generate penalty sequences for SGS.
Description
Generates variable and group penalties for SGS.
Usage
gen_pens(gFDR, vFDR, pen_method, groups, alpha)
Arguments
gFDR |
Defines the desired group false discovery rate (FDR) level, which determines the shape of the group penalties. |
vFDR |
Defines the desired variable false discovery rate (FDR) level, which determines the shape of the variable penalties. |
pen_method |
The type of penalty sequences to use (see Feser and Evangelou (2023)):
|
groups |
A grouping structure for the input data. Should take the form of a vector of group indices. |
alpha |
The value of |
Details
The vMean and vMax SGS sequences are variable sequences derived specifically to give variable false discovery rate (FDR) control for SGS under orthogonal designs (see Feser and Evangelou (2023)). The BH SLOPE sequence is derived in Bodgan et. al. (2015) and has links to the Benjamini-Hochberg critical values. The sequence provides variable FDR-control for SLOPE under orthogonal designs. The gMean gSLOPE sequence is derived in Brzyski et. al. (2015) and provides group FDR-control for gSLOPE under orthogonal designs.
Value
A list containing:
pen_slope_org |
A vector of the variable penalty sequence. |
pen_gslope_org |
A vector of the group penalty sequence. |
References
Bogdan, M., Van den Berg, E., Sabatti, C., Su, W., Candes, E. (2015). SLOPE — Adaptive variable selection via convex optimization, https://projecteuclid.org/journals/annals-of-applied-statistics/volume-9/issue-3/SLOPEAdaptive-variable-selection-via-convex-optimization/10.1214/15-AOAS842.full
Brzyski, D., Gossmann, A., Su, W., Bodgan, M. (2019). Group SLOPE – Adaptive Selection of Groups of Predictors, https://www.tandfonline.com/doi/full/10.1080/01621459.2017.1411269
Feser, F., Evangelou, M. (2023). Sparse-group SLOPE: adaptive bi-level selection with FDR-control, https://arxiv.org/abs/2305.09467
Examples
# specify a grouping structure
groups = c(rep(1:20, each=3),
rep(21:40, each=4),
rep(41:60, each=5),
rep(61:80, each=6),
rep(81:100, each=7))
# generate sequences
sequences = gen_pens(gFDR=0.1, vFDR=0.1, pen_method=1, groups=groups, alpha=0.5)