In the package MoMA
, we support the following sparsity-inducing
penalty functions.
moma_lasso
: sparsity
moma_mcp
: non-convex sparsity
moma_scad
: non-convex sparsity
moma_slope
: sparsity
moma_grplasso
: group-wise sparsity
moma_fusedlasso
: piecewise constant, or ordered fusion
moma_spfusedlasso
: sparsity and piece-wise constant
moma_l1tf
: piecewise polynomial (default to piecewise linear)
moma_cluster
: unordered fusion
These functions specify the value of the u_sparse,v_sparse
arguments in the
moma_*pca
series of functions, and the x_sparse,y_sparse
arguments
in the moma_*cca
and moma_*lda
series of functions.
... | 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. |
All functions
above share two common parameters: lambda
and select_scheme
, which are
described in the Arguments section.
G. I. Allen and M. Weylandt, "Sparse and Functional Principal Components Analysis," 2019 IEEE Data Science Workshop (DSW), Minneapolis, MN, USA, 2019, pp. 11-16. doi: 10.1109/DSW.2019.8755778 .