Abstract
In a temporal network, the presence and activity of nodes and links can change through time. To describe temporal networks we introduce the notion of temporal quantities. We define the addition and multiplication of temporal quantities in a way that can be used for the definition of addition and multiplication of temporal networks. The corresponding algebraic structures are semirings. The usual approach to (data) analysis of temporal networks is to transform the network into a sequence of time slices—static networks corresponding to selected time intervals and analyze each of them using standard methods to produce a sequence of results. The approach proposed in this paper enables us to compute these results directly. We developed fast algorithms for the proposed operations. They are available as an open source Python library TQ (Temporal Quantities) and a program Ianus. The proposed approach enables us to treat as temporal quantities also other network characteristics such as degrees, connectivity components, centrality measures, Pathfinder skeleton, etc. To illustrate the developed tools we present some results from the analysis of Franzosi’s violence network and Corman’s Reuters terror news network.
Similar content being viewed by others
References
Batagelj V (1994) Semirings for social networks analysis. J Math Sociol 19(1):53–68
Batagelj V (2009) Social network analysis, large-scale. Meyers RA (ed) Encyclopedia of complexity and systems science, Springer, 8245–8265
Batagelj V, Cerinšek M (2013) On bibliographic networks. Scientometrics 96(3):845–864
Bhadra S, Ferreira A (2003) Complexity of connected components in evolving graphs and the computation of multicast trees in dynamic networks. In ADHOC-NOW, LNCS 2865, Springer, 259–270
Cantos-Mateos G, Zulueta MÁ, Vargas-Quesada B, Chinchilla-Rodríguez Z (2014) Estudio evolutivo de la investigación española con células madre. Visualización e identificación de las principales líneas de investigación. El Profesional de la Información, 23(3), 259–271
Carré B (1979) Graphs and networks. Clarendon, Oxford
Casteigts A, Flocchini P, Quattrociocchi W, Santoro N (2012) Time-varying graphs and dynamic networks. Int J Parallel Emergent Distribut Syst 27(5):387–408
Corman SR, Kuhn T, McPhee RD, Dooley KJ (2002) Studying complex discursive systems: centering resonance analysis of communication. Human Commun Res 28(2):157–206
de Nooy W, Mrvar A, Batagelj V (2012) Exploratory social network analysis with Pajek (structural analysis in the social sciences), revised and expanded, 2nd edn. Cambridge University Press, Cambridge
Feenstra RC, Lipsey RE, Deng H, Ma AC, Mo H (2005). World Trade Flows: 1962–2000. NBER Working Paper No. 11040
Fletcher JG (1980) A more general algorithm for computing closed semiring costs between vertices of a directed graph. CACM 23:350–351
Franzosi R (1997) Mobilization and Counter-Mobilization Processes: From the “Red Years” (1919–20) to the “Black Years” (1921–22) in Italy. A New Methodological Approach to the Study of Narrative Data. Theor Soc 26(2–3):275–304
Freeman LC (1978) Centrality in social networks; conceptual clarification. Social Networks 1:215–239
George B, Kim S, Shekhar S (2007) Spatio-temporal network databases and routing algorithms: a summary of results. In: Papadias D, Zhang D, Kollios G (eds) SSTD 2007, LNCS 4605. Springer-Verlag, Berlin, Heidelberg, pp 460–477
Gondran M, Minoux M (2008) Graphs, dioids and semirings: new models and algorithms. Springer, Hiedelberg
Guerrero-Bote VP, Zapico-Alonso F, Espinosa-Calvo ME, Crisóstomo RG, de Moya-Anegón F (2006) Binary pathfinder: an improvement to the pathfinder algorithm. Info Proc Manag 42(6):1484–1490
Gulyás L, Kampis G, Legendi RO (2013) Elementary models of dynamic networks. Eur Phys J Special Topics 222:1311–1333
Holme P (2015) Modern temporal network theory: a colloquium. Eur Phys J B 88:234
Holme P, Saramäki J (2012) Temporal networks. Phys Rep 519(3):97–125
Holme P, Saramäki J (eds) (2013) Temporal Networks. Understanding Complex Systems. Springer, Hiedelberg
Kim H, Yoon JW, Crowcroft J (2012) Network analysis of temporal trends in scholarly research productivity. J Informetr 6:97–110
Kolaczyk ED (2009) Stat Anal Network Data Meth Models. Springer, New York
Kontoleon N, Falzon L, Pattison P (2013) Algebraic structures for dynamic networks. J Math Psychol 57(6):310–319
Moody J (2002) The importance of relationship timing for diffusion. Social Forces 81(1):25–56
Moody J, McFarland D, Bender-deMoll S (2005) Dynamic network visualization. Am J Sociol 110(4):1206–1241
Praprotnik S, Batagelj V (2016) Spectral centrality measures in temporal networks. Ars Mathematica Contemporanea 11:11–33
Praprotnik S, Batagelj V (2016) Semirings for temporal network analysis. http://arxiv.org/abs/1603.08261
Riordan J (1958) Introduction to combinatorial analysis. Wiley, New York
Schvaneveldt RW (ed) (1990) Pathfinder associative networks: studies in knowledge organization. Ablex, Norwood, NJ
Xuan BB, Ferreira A, Jarry A (2003) Computing shortest, fastest, and foremost journeys in dynamic networks. Int J Foundations Comput Sci 14(2):267–285
Acknowledgments
This work was supported in part by the ARRS, Slovenia, research program P1-0294 and research projects J5-5537 and J1-5433, as well as by a grant within the EURO-CORES Programme EUROGIGA (project GReGAS) of the European Science Foundation. The paper is based on our talks presented at the 1st European Conference on Social Networks, Barcelona (UAB), July 1–4, 2014.
Author information
Authors and Affiliations
Corresponding author
Appendix: Algorithms
Appendix: Algorithms
1.1 Clustering coefficient
Algorithm 4 presents an algorithm for computing different types of temporal clustering coefficient. The function \(\textit{nRows}(\mathbf {A})\) returns the size (number of rows) of matrix \(\mathbf {A}\). The function \(\textit{VecConst}(n,v)\) constructs a temporal vector of size n filled with the temporal quantity v. The function \(\textit{MatBin}(\mathbf {A})\) transforms all values in the triples in the matrix \(\mathbf {A}\) to 1. The function \(\textit{MatSetDiag}(\mathbf {A},c)\) sets all the diagonal entries of the matrix \(\mathbf {A}\) to the temporal quantity c. The function \(\textit{MatSym}(\mathbf {A})\) makes the transformation \(\mathbf {S} = \mathbf {A}\oplus \mathbf {A}^T\).
Functions \(\textit{VecSum}\) and \(\textit{VecProd}\) implement a component wise composition of temporal vectors:
and
Similarly \(\textit{VecInv}(a) = [\textit{invert}(a_i),\ i = 1, \ldots , n]\) in the combinatorial semiring; where
The function \(\textit{MatProd}(\mathbf {A},\mathbf {B})\) determines the product \(\mathbf {A \odot B}\). Since we need only the diagonal values of the matrix \(\mathbf {SAS}\) we applied a special function \(\textit{MatProdDiag}\) that determines only the diagonal vector of the product \(\mathbf {A \odot B}\). Afterward, to get the clustering coefficient, we have to normalize the obtained counts. The number of neighbors of the node v is determined as its degree in the corresponding undirected temporal skeleton graph (in which an edge \(e=(v:u)\) exists iff there is at least one arc between the nodes v and u). The maximum number of neighbors \(\Delta\) can be considered either for a selected time point (\(\textit{type}=2\)) or for the complete time window (\(\textit{type}=3\)). Note that to determine the temporal \(\Delta\) we used summing of temporal degrees over the maxmin semiring \((\mathbb {R},\max ,\min ,-\infty ,\infty )\).
1.2 Equivalences
The transformation of the temporal equivalence matrix \(\mathbf {E}\) into the corresponding temporal partition \(\mathbf {p}\) is implemented as a procedure \(\textit{eqMat2Part}(\mathbf {E})\) (see Algorithm 5). Maybe in the future implementations we shall add a loop with the check of the injectivity of this mapping. The classes of the obtained temporal partition are finally renumbered with consecutive numbers using the function renumPart(p) (see Algorithm 6). The variable C in the description of the function renumPart is a dictionary (data structure).
1.3 Temporal closeness
To compute the vector of closeness coefficients of nodes we have to sum the temporal distances to other nodes over the combinatorial semiring, see Algorithm 7. While summing, we replace gaps (inactivity intervals inside \(\mathcal{T}\)) with time intervals with the value infinity, using the procedure \(\textit{fillGaps}\).
1.4 Temporal PathFinder
The scheme of Pathfinder is implemented (see Algorithm 8) as the function \(\textit{pathFinder}\). The temporal version of the statement
if \(\mathbf {W}^{(q)}[u,v] = \mathbf {W}[u,v]\) then \(\mathcal {L}_{PF} := \mathcal {L}_{PF} \cup \{ e \}\)
is implemented in the function \(\textit{PFcheck}\) (Algoritm 9) using the merging scheme.
The function \(\textit{MatPower}(A,k)\) computes the kth power of the matrix \(\mathbf {A}\).
Rights and permissions
About this article
Cite this article
Batagelj, V., Praprotnik, S. An algebraic approach to temporal network analysis based on temporal quantities. Soc. Netw. Anal. Min. 6, 28 (2016). https://doi.org/10.1007/s13278-016-0330-4
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s13278-016-0330-4
Keywords
- Temporal network
- Time slice
- Temporal quantity
- Semiring
- Algorithm
- Network measures
- Python library
- Violence
- Terror