DDPCA_convex {ddpca}R Documentation

Diagonally Dominant Principal Component Analysis using Convex approach

Description

This function decomposes a positive semidefinite matrix into a low rank component, and a diagonally dominant component by solving a convex relaxation using ADMM.

Usage

DDPCA_convex(Sigma, lambda, rho = 20, max_iter_convex = 50)

Arguments

Sigma

Input matrix of size n\times n

lambda

The parameter in the convex program that controls the rank of the low rank component

rho

The parameter used in each ADMM update.

max_iter_convex

Maximal number of iterations of ADMM update.

Details

This function decomposes a positive semidefinite matrix Sigma into a low rank component L and a symmetric diagonally dominant component A, by solving the following convex program

\textrm{minimize} \quad 0.5*\|\Sigma - L - A\|^2 + \lambda \|L\|_{*}

\textrm{subject to} \quad A\in SDD

where \|L\|_{*} is the nuclear norm of L (sum of singular values) and SDD is the symmetric diagonally dominant cone.

Value

A list containing the following items

L

The low rank component

A

The diagonally dominant component

Author(s)

Fan Yang <fyang1@uchicago.edu>

References

Ke, Z., Xue, L. and Yang, F., 2019. Diagonally Dominant Principal Component Analysis. Journal of Computational and Graphic Statistics, under review.

See Also

DDPCA_nonconvex

Examples

library(MASS)
p = 30
n = 30
k = 3
rho = 0.5
a = 0:(p-1)
Sigma_mu = rho^abs(outer(a,a,'-'))
Sigma_mu = (diag(p) + Sigma_mu)/2 # Now Sigma_mu is a symmetric diagonally dominant matrix
mu = mvrnorm(n,rep(0,p),Sigma_mu)
B = matrix(rnorm(p*k),nrow = p)
F = matrix(rnorm(k*n),nrow = k)
Y = mu + t(B %*% F) 
Sigma_sample = cov(Y)
result = DDPCA_convex(Sigma_sample,lambda=3)

[Package ddpca version 1.1 Index]