bonpow | R Documentation |
bonpow
takes one or more graphs (dat
) and returns the Boncich power centralities of positions (selected by nodes
) within the graphs indicated by g
. The decay rate for power contributions is specified by exponent
(1 by default). This function is compatible with centralization
, and will return the theoretical maximum absolute deviation (from maximum) conditional on size (which is used by centralization
to normalize the observed centralization score).
bonpow(dat, g=1, nodes=NULL, gmode="digraph", diag=FALSE,
tmaxdev=FALSE, exponent=1, rescale=FALSE, tol=1e-07)
dat |
one or more input graphs. |
g |
integer indicating the index of the graph for which centralities are to be calculated (or a vector thereof). By default, |
nodes |
vector indicating which nodes are to be included in the calculation. By default, all nodes are included. |
gmode |
string indicating the type of graph being evaluated. |
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. |
tmaxdev |
boolean indicating whether or not the theoretical maximum absolute deviation from the maximum nodal centrality should be returned. By default, |
exponent |
exponent (decay rate) for the Bonacich power centrality score; can be negative |
rescale |
if true, centrality scores are rescaled such that they sum to 1. |
tol |
tolerance for near-singularities during matrix inversion (see |
Bonacich's power centrality measure is defined by C_{BP}\left(\alpha,\beta\right)=\alpha\left(\mathbf{I}-\beta\mathbf{A}\right)^{-1}\mathbf{A}\mathbf{1}
, where \beta
is an attenuation parameter (set here by exponent
) and \mathbf{A}
is the graph adjacency matrix. (The coefficient \alpha
acts as a scaling parameter, and is set here (following Bonacich (1987)) such that the sum of squared scores is equal to the number of vertices. This allows 1 to be used as a reference value for the “middle” of the centrality range.) When \beta \rightarrow 1/\lambda_{\mathbf{A}1}
(the reciprocal of the largest eigenvalue of \mathbf{A}
), this is to within a constant multiple of the familiar eigenvector centrality score; for other values of \beta
, the behavior of the measure is quite different. In particular, \beta
gives positive and negative weight to even and odd walks, respectively, as can be seen from the series expansion C_{BP}\left(\alpha,\beta\right)=\alpha \sum_{k=0}^\infty \beta^k \mathbf{A}^{k+1} \mathbf{1}
which converges so long as |\beta| < 1/\lambda_{\mathbf{A}1}
. The magnitude of \beta
controls the influence of distant actors on ego's centrality score, with larger magnitudes indicating slower rates of decay. (High rates, hence, imply a greater sensitivity to edge effects.)
Interpretively, the Bonacich power measure corresponds to the notion that the power of a vertex is recursively defined by the sum of the power of its alters. The nature of the recursion involved is then controlled by the power exponent: positive values imply that vertices become more powerful as their alters become more powerful (as occurs in cooperative relations), while negative values imply that vertices become more powerful only as their alters become weaker (as occurs in competitive or antagonistic relations). The magnitude of the exponent indicates the tendency of the effect to decay across long walks; higher magnitudes imply slower decay. One interesting feature of this measure is its relative instability to changes in exponent magnitude (particularly in the negative case). If your theory motivates use of this measure, you should be very careful to choose a decay parameter on a non-ad hoc basis.
A vector, matrix, or list containing the centrality scores (depending on the number and size of the input graphs).
Singular adjacency matrices cause no end of headaches for this algorithm; thus, the routine may fail in certain cases. This will be fixed when I get a better algorithm. bonpow
will not symmetrize your data before extracting eigenvectors; don't send this routine asymmetric matrices unless you really mean to do so.
The theoretical maximum deviation used here is not obtained with the star network, in general. For positive exponents, at least, the symmetric maximum occurs for an empty graph with one complete dyad (the asymmetric maximum is generated by the outstar). UCINET V seems not to adjust for this fact, which can cause some oddities in their centralization scores (thus, don't expect to get the same numbers with both packages).
Carter T. Butts buttsc@uci.edu
Bonacich, P. (1972). “Factoring and Weighting Approaches to Status Scores and Clique Identification.” Journal of Mathematical Sociology, 2, 113-120.
Bonacich, P. (1987). “Power and Centrality: A Family of Measures.” American Journal of Sociology, 92, 1170-1182.
centralization
, evcent
#Generate some test data
dat<-rgraph(10,mode="graph")
#Compute Bonpow scores
bonpow(dat,exponent=1,tol=1e-20)
bonpow(dat,exponent=-1,tol=1e-20)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.