Use this function to set the penalty function to SLOPE - Sorted L-One Penalized Estimation $$\lambda P (x) = \lambda \sum _ { i = 1 } ^ { n } \lambda _ { i } | x | _ { ( i ) } .$$ where \(\lambda_i = \Phi ^ { - 1 } ( 1 - q _ { i } ) , q _ { i } = i \cdot q / 2 p, q = 0.05.\) Here \(q\) is the false discovery rate (FDR).
moma_slope(..., lambda = 0, select_scheme = "g")
... | Force users to specify arguments by names. |
---|---|
lambda | A vector containing penalty values |
select_scheme | A char being either "b" (nested BIC search) or "g" (grid search). MoMA provides a flexible framework for regularized multivariate analysis
with several tuning parameters for different forms of regularization.
To assist the user in selecting these parameters ( To explain nested BIC search, we need to look into how the algorithm runs. To find an (approximate) solution to a penalized SVD (Singular Value Decomposition) problem is to solve two penalized regression problems iteratively. Let's call them problem u and problem v, which give improving estimates of the right singular vector, u, and the left singular vector, v, respectively. For each regression problem, we can select the optimal parameters based on BIC. The nested BIC search is essentially two 2-D searches. We start from SVD solutions, and then find the optimal parameters for problem u, given current estimate of v. Using the result from previous step, update current estimate of u, and then do the same thing for problem v, that is, to find the optimal parameters for problem v given current estimate of u. Repeat the above until convergence or the maximal number of iterations has been reached. Users are welcome to refer to section 3.1: Selection of Regularization Parameters in the paper cited below. |
A moma_sparsity_type
object, which contains a list containing the string "SLOPE".
Bogdan, Malgorzata, et al. "SLOPE - Adaptive Variable Selection via Convex Optimization." The Annals of Applied Statistics 9.3 (2015): 1103. doi: 10.1214/15-AOAS842 .