| 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