Find the Covariance(s) Between Two or More Labeled Graphs
gcov
finds the covariances between the adjacency matrices of graphs indicated by g1
and g2
in stack dat
(or possibly dat2
). Missing values are permitted.
gcov(dat, dat2=NULL, g1=NULL, g2=NULL, diag=FALSE, mode="digraph")
dat |
one or more input graphs. |
dat2 |
optionally, a second graph stack. |
g1 |
the indices of |
g2 |
the indices or |
diag |
boolean indicating whether or not the diagonal should be treated as valid data. Set this true if and only if the data can contain loops. |
mode |
string indicating the type of graph being evaluated. "digraph" indicates that edges should be interpreted as directed; "graph" indicates that edges are undirected. |
The graph covariance between two labeled graphs is defined as
cov(G,H) = sum( (A^G_ij-mu_G)(A^H_ij-mu_H), {i,j} )/Choose(|V|,2)
(with A^G being the adjacency matrix of G). The graph correlation/covariance is at the center of a number of graph comparison methods, including network variants of regression analysis, PCA, CCA, and the like.
Note that gcov
computes only the covariance between uniquely labeled graphs. For the more general case, gscov
is recommended.
A graph covariance matrix
The gcov
routine is really just a front-end to the standard cov
method; the primary value-added is the transparent vectorization of the input graphs (with intelligent handling of simple versus directed graphs, diagonals, etc.). Classical null hypothesis testing procedures are not recommended for use with graph covariance; for nonparametric null hypothesis testing regarding graph covariance, see cugtest
and qaptest
.
Carter T. Butts buttsc@uci.edu
Butts, C.T., and Carley, K.M. (2001). “Multivariate Methods for Interstructural Analysis.” CASOS Working Paper, Carnegie Mellon University.
#Generate two random graphs each of low, medium, and high density g<-rgraph(10,6,tprob=c(0.2,0.2,0.5,0.5,0.8,0.8)) #Examine the covariance matrix gcov(g)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.