rccm: Random Covariance Clustering Model

View source: R/rccm.R

rccmR Documentation

Random Covariance Clustering Model

Description

This function implements the Random Covariance Clustering Model (RCCM) for joint estimation of sparse precision matrices belonging to multiple clusters or groups. Optimization is conducted using block coordinate descent.

Usage

rccm(
  x,
  lambda1,
  lambda2,
  lambda3 = 0,
  nclusts,
  delta = 0.001,
  max.iters = 100,
  z0s = NULL,
  ncores = 1
)

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 cluster-level matrices.

lambda3

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

nclusts

Number of clusters or groups.

delta

Threshold for convergence.

max.iters

Maximum number of iterations for block coordinate descent optimization.

z0s

Vector of length K with initial cluster memberships.

Value

A list of length 3 containing:

  1. p x p x nclusts array of nclusts number of estimated cluster-level precision matrices (Omega0).

  2. p x p x K array of K number of estimated subject-level precision matrices (Omegas).

  3. nclusts x K matrix of estimated cluster weights for each subject (weights).

Author(s)

Andrew DiLernia

Examples

# Generate data with 2 clusters with 12 and 10 subjects respectively,
# 15 variables for each subject, 100 observations for each variable for each subject,
# the groups sharing about 50% of network connections, and 10% of differential connections
# within each group
myData <- rccSim(G = 2, clustSize = c(12, 10), p = 15, n = 100, overlap = 0.50, rho = 0.10)

# Analyze simulated data with RCCM
result <- rccm(x = myData$simDat, lambda1 = 10, lambda2 = 50, lambda3 = 2, nclusts = 2, delta = 0.001)


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