
Finite-horizon diffusion centrality
Source:R/centrality-batch14.R
centrality_diffusion_centrality.RdBanerjee et al.'s diffusion centrality is
\(DC(A;q,T) = \sum_{t=1}^{T}(qA)^t\mathbf{1}\).
It sums weighted walks starting at each node, allowing revisits and
returns to the source. Directed edges carry information from their source
to their target: the result uses row sums, regardless of mode.
Transpose the input adjacency matrix to measure incoming walks.
Arguments
- x
Network input accepted by
centrality.- diffusion_q
Finite multiplier between 0 and 1, default 1.
- diffusion_steps
Nonnegative integer horizon, default 3. Must be no larger than
.Machine$integer.max.- ...
Additional arguments to
centrality. Withnormalized = TRUE, positive scores are divided by their maximum.
Details
A is the adjacency matrix with the original edge weights when
weighted = TRUE, or unit edge weights otherwise. Self-loops follow
loops; an undirected self-loop contributes its weight once on the
diagonal. The simplify argument combines parallel edges first;
any remaining parallel edges contribute additively to A. Weight inversion
for shortest paths does not affect this measure.
When every entry of qA is between zero and one, scores have the paper's interpretation as expected total hearings of information. Larger weights are accepted as a mathematical weighted-walk extension of that polynomial, without a probability interpretation. Scores count repeated hearings, not distinct recipients. They need not be bounded by the number of nodes.
Default q = 1 and T = 3 are explicit cograph choices, not estimates of a diffusion process or the parameters used by the Zoo. T = 0 returns zero; T = 1 gives q times outgoing strength (degree for a binary graph). A finite horizon requires no spectral convergence condition. Numerical overflow raises an error, including when normalization is requested.
This is distinct from centrality_diffusion: its default
is diffusion degree, and its TNA variant fixes q = 1 and T = n.
The existing lambda and diffusion_method arguments do not
affect this measure. Computation uses T matrix-vector products.
References
Banerjee, A., Chandrasekhar, A. G., Duflo, E., & Jackson, M. O. (2013). The Diffusion of Microfinance. Science, 341, 1236498, equation 5. doi:10.1126/science.1236498 .
Banerjee, A., Chandrasekhar, A. G., Duflo, E., & Jackson, M. O. (2019). Using Gossips to Spread Information: Theory and Evidence from Two Randomized Controlled Trials. Review of Economic Studies, 86, 2453-2490, section 3.1.2. doi:10.1093/restud/rdz008 .
Examples
g <- igraph::make_graph(c(1, 2, 2, 3), directed = TRUE)
centrality_diffusion_centrality(g, diffusion_q = 0.5, diffusion_steps = 2)
#> 1 2 3
#> 0.75 0.50 0.00