consensus {sna} | R Documentation |
consensus
estimates a central or consensus structure given multiple observations, using one of several algorithms.
consensus(dat, mode="digraph", diag=FALSE, method="central.graph", tol=1e-06)
dat |
a set of input graphs (must have same order). |
mode |
"digraph" for directed data, else "graph" . |
diag |
a boolean indicating whether the diagonals (loops) should be treated as data. |
method |
one of "central.graph" , "single.reweight" , "iterative.reweight" "PCA.reweight" , "LAS.intersection" , "LAS.union" , "OR.row" , or "OR.col" . |
tol |
tolerance for the iterative reweighting algorithm. |
The term ``consensus structure'' is used by a number of authors to reflect a notion of shared or common perceptions of social structure among a set of observers. As there are many interpretations of what is meant by ``consensus'' (and as to how best to estimate it), several algorithms are employed here:
central.graph
: Estimate the consensus structure using the central graph. This correponds to a ``median response'' notion of consensus.
single.reweight
: Estimate the consensus structure using subject responses, reweighted by mean graph correlation. This corresponds to an ``expertise-weighted vote'' notion of consensus.
iterative.reweight
: Similar to single.reweight
, but fits a Romney-Batchelder informant accuracy model using IPF. The implementation employed here uses both bias and competency parameters.
PCA.reweight
: Estimate the consensus using the (scores on the) first component of a network PCA. This corresponds to a ``shared theme'' or ``common element'' notion of consensus.
LAS.intersection
: Estimate the concensus structure using the locally aggregated structure (intersection rule). In this model, an i->j edge exists iff i and j agree that it exists.
LAS.union
: Estimate the concensus structure using the locally aggregated structure (union rule). In this model, an i->j edge exists iff i or j agree that it exists.
OR.row
: Estimate the consensus structure using own report. Here, we take each informant's outgoing tie reports to be correct.
OR.col
: Estimate the consensus structure using own report. Here, we take each informant's incoming tie reports to be correct.
Note that the reweighted algorithms are not dichotomized by default; since some of these return valued graphs, dichotomization may be desirable prior to use.
It should be noted that a model for estimating an underlying criterion structure from multiple informant reports is provided in bbnam
; if your goal is to reconstruct an ``objective'' network from informant reports, this (or the R-B model of iterative.reweight
) may prove more useful than the ad-hoc solutions.
An adjacency matrix representing the consensus structure
Carter T. Butts buttsc@uci.edu
Banks, D.L., and Carley, K.M. (1994). ``Metric Inference for Social Networks.'' Journal of Classification, 11(1), 121-49.
Butts, C.T., and Carley, K.M. (2001). ``Multivariate Methods for Inter-Structural Analysis.'' CASOS Working Paper, Carnegie Mellon University.
Krackhardt, D. (1987). ``Cognitive Social Structures.'' Social Networks, 9, 109-134.
Romney, A.K.; Weller, S.C.; and Batchelder, W.H. (1986). ``Culture as Consensus: A Theory of Culture and Informant Accuracy.'' American Anthropologist, 88(2), 313-38.
#Generate some test data g<-rgraph(5) g.pobs<-g*0.9+(1-g)*0.5 g.obs<-rgraph(5,5,tprob=g.pobs) #Find some consensus structures consensus(g.obs) #Central graph consensus(g.obs,method="single.reweight") #Single reweighting consensus(g.obs,method="PCA.reweight") #1st component in network PCA