dpcid {dpcid}R Documentation

Differential partial correlation identification with the ridge and the fusion penalties

Description

DPCID is a procedure for the differential partial correlation identification with the ridge and the fusion penalties. This function conducts the two stage procedure (diagonal and partial correlation steps).

Usage

dpcid(A,B,lambda1,lambda2,niter=1000,tol=1e-6,scaling=FALSE)

Arguments

A

An observed dataset from the first condition.

B

An observed dataset from the second condition.

lambda1

A tuning parameter for the ridge penalty.

lambda2

A a tuning parameter for the fusion penalty between two precision matrices.

niter

A total number of iterations in the block-wise coordinate descent.

tol

A tolerance for the convergence.

scaling

a logical flag for scaling variable to have unit variance. Default is FALSE.

Details

In the first step (lshr.cov), each precision matrix is estimated from the optimal linear shrinkage covariance matrix. In the second step (dpcid_core), two partial correlation matrices are jointly estimated with a given tuning parameters lambda1 and lambda2 and fixed diagonal elements of two precision matrices.

Value

rho1

An estimated partial correlatioin matrix of the first condition.

rho2

An estimated partial correlatioin matrix of the second condition.

wd1

A vector of estimated diagonal elements of the first precision matrices.

wd2

A vector of estimated diagonal elements of the second precision matrices.

diff_edge

An index matrix of different edges between two conditions.

n_diff

The number of different edges between two conditions.

References

Yu, D., Lee, S. H., Lim, J., Xiao, G., Craddock, R. C., and Biswal, B. B. (2018). Fused Lasso Regression for Identifying Differential Correlations in Brain Connectome Graphs. Statistical Analysis and Data Mining, 11, 203–226.

Examples

library(MASS)

## True precision matrix
omega1 <- matrix(0,5,5)
omega1[1,2] <- omega1[1,3] <- omega1[1,4] <- 1
omega1[2,3] <- omega1[3,4] <- 1.5
omega1 <- t(omega1) + omega1
diag(omega1) <- 3

omega2 <- matrix(0,5,5)
omega2[1,3] <- omega2[1,5] <- 1.5
omega2[2,3] <- omega2[2,4] <- 1.5
omega2 <- t(omega2) + omega2
diag(omega2) <- 3


Sig1 = solve(omega1)
Sig2 = solve(omega2)
X1 = mvrnorm(50,rep(0,5),Sig1)
X2 = mvrnorm(50,rep(0,5),Sig2)

lambda1 = 0.2
lambda2 = 0.2

res = dpcid(X1,X2,lambda1,lambda2,niter=1000,tol=1e-6)


[Package dpcid version 1.1 Index]