Learn R Programming

grpSLOPE (version 0.3.3)

SLOPE_solver: Sorted L1 solver

Description

Solves the sorted L1 penalized regression problem: given a matrix \(A\), a vector \(b\), and a decreasing vector \(\lambda\), find the vector \(x\) minimizing $$\frac{1}{2}\Vert Ax - b \Vert_2^2 + \sum_{i=1}^p \lambda_i |x|_{(i)}.$$ This optimization problem is convex and is solved using an accelerated proximal gradient descent method.

Usage

SLOPE_solver(
  A,
  b,
  lambda,
  initial = NULL,
  prox = prox_sorted_L1,
  max_iter = 10000,
  grad_iter = 20,
  opt_iter = 1,
  tol_infeas = 1e-06,
  tol_rel_gap = 1e-06
)

Value

An object of class SLOPE_solver.result. This object is a list containing at least the following components:

x

solution vector \(x\)

optimal

logical: whether the solution is optimal

iter

number of iterations

Arguments

A

an \(n\)-by-\(p\) matrix

b

vector of length \(n\)

lambda

vector of length \(p\), sorted in decreasing order

initial

initial guess for \(x\)

prox

function that computes the sorted L1 prox

max_iter

maximum number of iterations in the gradient descent

grad_iter

number of iterations between gradient updates

opt_iter

number of iterations between checks for optimality

tol_infeas

tolerance for infeasibility

tol_rel_gap

tolerance for relative gap between primal and dual problems

Details

This function has been adapted (with only cosmetic changes) from the R package SLOPE version 0.1.3, due to this function being deprecated and defunct in SLOPE versions which are newer than 0.1.3.