Exactly uncorrelated sparse principal component analysis (EUSPCA) with \(\ell_1\) regularization
euspca.Rd
Finding uncorrelated sparse principal components by solving EUSPCA with \(\ell_1\) regularization using a combination of augmented Lagrangian and non-monotone proximal gradient methods.
Arguments
- X
A matrix. It can be a data matrix or an empirical covariance/correlation matrix.
- is.data.mat
Is
X
a data matrix? Ifis.data.mat=TRUE
,X
is a data matrix. Ifis.data.mat=FALSE
,X
is a cov/cor matrix.- k
The number of uncorrelated principal components.
- lambda
A non-negative scalar. It is a value of tuning parameter \(\lambda\).
- scale
Perform EUSPCA on the empirical correlation matrix? If
scale=FALSE
, the empirical covariance matrix is used. Default isFALSE
.- ...
Other arguments being passed to
euspca_sig
oreuspca_dat
.
Details
The function euspca
solves EUSPCA with \(\ell_1\) regularization, that is to find a minimizer \(\mathbf V\) of
$$- \mbox{tr} (\mathbf V \mathbf
\Sigma_n^2 \mathbf V^T ) + \lambda \sum_{ij} | v_{ij} |
~~\mbox{ s.t.} ~ \mathbf V \mathbf \Sigma_n \mathbf V^T = \mathbf{I},$$
where \(\Sigma_n\) is an empirical covariance/correlation matrix and \(v_{ij}\) is the (i,j)th component of \(\mathbf V\). The user sepcifies a value of \(\lambda\), i.e., lambda
.
Value
An “euspca" object is returned. The below are some quantities which the user may be interested in:
- V
The solution of EUSPCA with \(\ell_1\) regularization.
- loadings
The loadings of the unccorrelated sparse PCs. \(\ell_2\) normalize the rows of
V
.- p.nz
The percentage of non-zero components in
V
orloadings
.- p.ev
The percentage of explained adjusted total variance.
- pc.cor
The correlation matrix of uncorrelated sparse components.
See also
euspca_sig
, euspca_dat
, and print.euspca
.
Examples
data(syn)
# fit a euspca on covariance matrix
euspca_syn = euspca(syn, is.data.mat=FALSE, k=2, lamb=1000, scale=FALSE)
#> [1] "Finding a feasible point."
#> [1] "Iteration: 1, Objective: -3255297.18173357, Constraint: 1748.08910980969"
#> [1] "Iteration: 6, Objective: -2597.25050177943, Constraint: 2.25233700534844e-05"
euspca_syn
#> 2 uncorrelated sparse PCs
#> % of explained var. : 65.04
#> % of non-zero loadings : 33.33
#>
#> Correlation of PCs
#> PC1 PC2
#> PC1 1 0
#> PC2 0 1
#> Max. abs. cor. : 0