randCov: Random Covariance Model

View source: R/randCov.R

randCovR Documentation

Random Covariance Model

Description

This function implements the Random Covariance Model (RCM) for joint estimation of multiple sparse precision matrices. Optimization is conducted using block coordinate descent.

Usage

randCov(x, lambda1, lambda2, lambda3 = 0, delta = 0.001, max.iters = 100)

Arguments

x

List of K data matrices each of dimension n_k x p.

lambda1

Non-negative scalar. Induces sparsity in subject-level matrices.

lambda2

Non-negative scalar. Induces similarity between subject-level matrices and group-level matrix.

lambda3

Non-negative scalar. Induces sparsity in group-level matrix.

delta

Threshold for convergence.

max.iters

Maximum number of iterations for block coordinate descent optimization.

Value

A list of length 2 containing:

  1. Group-level precision matrix estimate (Omega0).

  2. p x p x K array of K subject-level precision matrix estimates (Omegas).

Author(s)

Lin Zhang

References

Zhang, Lin, Andrew DiLernia, Karina Quevedo, Jazmin Camchong, Kelvin Lim, and Wei Pan. "A Random Covariance Model for Bi-level Graphical Modeling with Application to Resting-state FMRI Data." 2019. https://arxiv.org/pdf/1910.00103.pdf

Examples

# Generate data with 5 subjects, 15 variables for each subject,
# 100 observations for each variable for each subject,
# and 10% of differential connections
# within each group
myData <- rccSim(G = 1, clustSize = 5, p = 15, n = 100, rho = 0.10)

# Analyze simulated data with RCM
result <- randCov(x = myData$simDat, lambda1 = 0.30, lambda2 = 0.10, lambda3 = 0.001, delta = 0.001)


dilernia/rccm documentation built on Sept. 25, 2022, 9:40 a.m.