Description Usage Arguments Details Value Author(s) References See Also Examples

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

1 | ```
DDPCA_convex(Sigma, lambda, rho = 20, max_iter_convex = 50)
``` |

`Sigma` |
Input matrix of size |

`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. |

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*\|Σ - L - A\|^2 + λ \|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.

A list containing the following items

`L` |
The low rank component |

`A` |
The diagonally dominant component |

Fan Yang <[email protected]>

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ```
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)
``` |

ddpca documentation built on Sept. 15, 2019, 1:03 a.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.