symmPMD {snQTL}R Documentation

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)

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

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

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.


[Package snQTL version 0.2 Index]