This function solves for the Sparse Principal Component Analysis given a positive definite matrix A: $$max_{v} v^T A v$$ subject to $$||v||_2 \leq 1, ||v||_1 \leq s$$ The solution v is the sparse leading eigenvector, and the corresponding objective \(v^T A v\) is the sparse leading engenvalue.
The algorithm uses an iterative procedure similar to the R Package "PMA", but speeds up the computation using the extra constraint that the decomposition is symmetric.
symmPMD(x, sumabs = 0.3, niter = 50, v = NULL, trace = TRUE)
A list containing the following components:
the sparse leading eigenvector v
the sparse leading eigenvalue \(d=v^T A v\)
sumabs*\(sqrt(p)\) is the upperbound of the L_1 norm of \(v\)
p-by-p matrix, symmetric and positive definite
sumabs*\(sqrt(p)\) is the upperbound of the L_1 norm of \(v\), controling the sparsity of solution. Must be between \(1/sqrt(p)\) and 1.
number of iterations to perform the iterative optimizations
the starting value of the algorithm, either a pre-calculated first singular vector of x, or NULL.
whether to print tracing info during optimization
Zhu, Lingxue, et al. "Testing high-dimensional covariance matrices, with application to detecting schizophrenia risk genes." The annals of applied statistics 11.3 (2017): 1810.
Witten, Tibshirani and Hastie (2009), "A penalized matrix decomposition, with applications to sparse principal components and canonical correlation analysis", Biostatistics 10(3):515-534.