proximalGradientSolverGroupSLOPE | R Documentation |
Compute the coefficient estimates for the Group SLOPE problem.
proximalGradientSolverGroupSLOPE(
y,
A,
group,
wt,
lambda,
max.iter = 10000,
verbose = FALSE,
dual.gap.tol = 1e-06,
infeas.tol = 1e-06,
x.init = NULL,
...
)
y |
the response vector |
A |
the model matrix |
group |
A vector describing the grouping structure. It should contain a group id for each predictor variable. |
wt |
A vector of weights (per coefficient) |
lambda |
A decreasing sequence of regularization parameters |
max.iter |
Maximal number of iterations to carry out |
verbose |
A |
dual.gap.tol |
The tolerance used in the stopping criteria for the duality gap |
infeas.tol |
The tolerance used in the stopping criteria for the infeasibility |
x.init |
An optional initial value for the iterative algorithm |
... |
Options passed to |
proximalGradientSolverGroupSLOPE
computes the coefficient estimates
for the Group SLOPE model. The employed optimization algorithm is FISTA with
backtracking Lipschitz search.
A list with the entries:
Solution (n-by-1 matrix)
Convergence status: 1 if optimal, 2 if iteration limit reached
Approximation of the Lipschitz constant (step size)
Iterations of the proximal gradient method
Total number of iterations spent in Lipschitz search
D. Brzyski, A. Gossmann, W. Su, and M. Bogdan (2016) Group SLOPE – adaptive selection of groups of predictors, https://arxiv.org/abs/1610.04960
D. Brzyski, A. Gossmann, W. Su, and M. Bogdan (2019) Group SLOPE – adaptive selection of groups of predictors. Journal of the American Statistical Association 114 (525): 419–33. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/01621459.2017.1411269")}
A. Gossmann, S. Cao, Y.-P. Wang (2015) Identification of Significant Genetic Variants via SLOPE, and Its Extension to Group SLOPE. In Proceedings of ACM BCB 2015. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1145/2808719.2808743")}
set.seed(1)
A <- matrix(runif(100, 0, 1), 10, 10)
grp <- c(0, 0, 1, 1, 2, 2, 2, 2, 2, 3)
wt <- c(2, 2, 2, 2, 5, 5, 5, 5, 5, 1)
x <- c(0, 0, 5, 1, 0, 0, 0, 1, 0, 3)
y <- A %*% x
lam <- 0.1 * (10:7)
result <- proximalGradientSolverGroupSLOPE(y=y, A=A, group=grp, wt=wt, lambda=lam, verbose=FALSE)
result$x
# [,1]
# [1,] 0.000000
# [2,] 0.000000
# [3,] 3.856005
# [4,] 2.080736
# [5,] 0.000000
# [6,] 0.000000
# [7,] 0.000000
# [8,] 0.000000
# [9,] 0.000000
# [10,] 3.512833
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.