Learn R Programming

snQTL (version 0.2)

symmPMD: Symmetric Penalized Matrix Decomposition.

Description

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.

Usage

symmPMD(x, sumabs = 0.3, niter = 50, v = NULL, trace = TRUE)

Value

A list containing the following components:

v

the sparse leading eigenvector v

d

the sparse leading eigenvalue \(d=v^T A v\)

sumabs

sumabs*\(sqrt(p)\) is the upperbound of the L_1 norm of \(v\)

Arguments

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

References

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.