Description Usage Arguments Value References
This function solves for the Sparse Principal Component Analysis given a positive definite matrix A:
max_{v} t(v)*A*v
subject to
||v||_2 <= 1, ||v||_1 <= s
The solution v is the sparse leading eigenvector, and the corresponding objective t(v)*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.
1 |
x |
p-by-p matrix, symmetric and positive definite |
sumabs |
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. |
niter |
number of iterations to perform the iterative optimizations |
v |
the starting value of the algorithm, either a pre-calculated first singular vector of x, or NULL. |
trace |
whether to print tracing info during optimization |
A list containing the following components:
v |
the sparse leading eigenvector v |
d |
the sparse leading eigenvalue d=t(v)*A*v |
sumabs |
sumabs*sqrt(p) is the upperbound of the L_1 norm of v |
Zhu, Lei, Devlin and Roeder (2016), "Testing High Dimensional Covariance Matrices, with Application to Detecting Schizophrenia Risk Genes", arXiv:1606.00252.
Witten, Tibshirani and Hastie (2009), "A penalized matrix decomposition, with applications to sparse principal components and canonical correlation analysis", Biostatistics 10(3):515-534.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.