README.md

Matrix-variate Differential Network Analysis

Cite: Ji, J., He, Y., Liu, L., & Xie, L. (2019). Brain connectivity alteration detection via matrix‐variate differential network model. Biometrics. https://doi.org/10.1111/biom.13359

Install

# install.packages(“devtools”)
library(devtools)
install_github('jijiadong/MVDN')

Usage

mvdn(data1,data2,lambda=NULL,nlambda=20,method=c("none","aic","bic","nbic"),...)

Arguments

Value

Example

##-------------------------------------------------------------------------------
##generate data
p <- 6; q=20; n <- 15
set.seed(1212)
Theta <- graph.generate(p, graph="hub",m=2)
omega1 <- Theta * sample(c(-1, 1), p * p, replace = TRUE) * runif(p * p, 0.1, 0.5)
omega1[lower.tri(omega1, diag = FALSE)] <- 0
omega1 <- omega1 + t(omega1)
diag(omega1) <- abs(min(eigen(omega1)$values)) + 1
sigma1 <- cov2cor(solve(omega1))
omega1 <- solve(sigma1)
omega1[abs(omega1)<10^-4] <- 0
omega2 <- omega1
omega2[1:(p/2),1:(p/2)] <- -1*omega2[1:(p/2),1:(p/2)]
diag(omega2) <- diag(omega1)
sigma2 <- solve(omega2)
delta <- omega2-omega1
sigmaT1 <- 0.4^abs(outer(1:q,1:q,"-"))
sigmaT2 <- 0.5^abs(outer(1:q,1:q,"-"))

X1 <- rmatnorm(n,mean=matrix(0,p,q),sigmaS=sigma1,sigmaT=sigmaT1,method="chol")
X2 <- rmatnorm(n,mean=matrix(0,p,q),sigmaS=sigma2,sigmaT=sigmaT2,method="chol")
##generate data end
##-------------------------------------------------------------------------------

## ------ not run ------
obj <- mvdn(data1=X1,data2=X2,nlambda=10,method="bic")

obj$opt

# use the Frobenius norm
deltahat <- obj$mvdn[[obj$opt["Frobenius"]]]
deltahat



jijiadong/MVDN documentation built on Sept. 6, 2020, 7:15 p.m.