[1]

Writing - Original draft preparation, Software

1]organization=Bioengineering, University of Washington, addressline=Box
355061, city=Seattle, postcode=98195, state=WA, country=United States

Software, Writing

[] [2] Conceived, Software design, Writing

[cor1]Corresponding author [cor2]Principal corresponding author

# MakeSBML: A tool for converting between Antimony and SBML.

Bartholomew E Jardine<EMAIL_ADDRESS>[  Lucian P Smith  Herbert M Sauro
<EMAIL_ADDRESS>
###### Abstract

We describe a web-based tool, MakeSBML (https://sys-bio.github.io/makesbml/),
that provides an installation-free application for creating, editing, and
searching the Biomodels repository for SBML-based models. MakeSBML is a
client-based web application that translates models expressed in human-
readable Antimony to the System Biology Markup Language (SBML) and vice-versa.
Since MakeSBML is a web-based application it requires no installation on the
user’s part. Currently, MakeSBML is hosted on a GitHub page where the client-
based design makes it trivial to move to other hosts. This model for software
deployment also reduces maintenance costs since an active server is not
required. The SBML modeling language is often used in systems biology research
to describe complex biochemical networks and makes reproducing models much
easier. However, SBML is designed to be computer-readable, not human-readable.
We therefore employ the human-readable Antimony language to make it easy to
create and edit SBML models.

###### keywords:

Systems biologySBML Antimony Software modeling reaction networks

MakeSBML web application makes editing System Biology Markup Language (SBML)
models easy with its use of Antimony modeling language.

MakeSBML speeds up development of system biology models by simplifying the
reuse and expansion of existing SBML models.

Since MakeSBML is a client-side, web based application it can be hosted almost
anywhere with minimal server-side resources.

##  1 Introduction

To facilitate model sharing and reproducibility in the systems biology
community the Systems Biology Markup Language (SBML) standard [3] is often
used. However, this modeling standard can be difficult to read and edit
without additional tools [1, 2, 6] and, in fact, was never designed for human
consumption. Instead, various SBML editors have been developed (ref, ref) to
help users read and write SBML. In addition, at least two human-readable
formats have been devised, SBML-shorthand (https://github.com/darrenjw/sbml-
sh) and Antimony [7]. Antimony is a human-readable modeling language that
greatly improves the ease of model creation and editing [7] of SBML-based
models. A number of tools currently support Antimony, including Tellurium [1]
and BioUML [4]. A software development kit, libAntimony
(https://github.com/sys-bio/antimony), is provided in the form of a C/C++
library and associated optional Python bindings. The software kit provides a
very simple API that allows the inter-conversion between Antimony and SBML.

In order to make the software development kit available to web browsers we
have translated the C/C++ into Web-assembly with associated JavaScript
bindings. From this, we developed a client-side web application called
MakeSBML https://sys-bio.github.io/makesbml/ that allows a user to load, edit,
and translate SBML and Antimony models from within the web browser. Because
the application is a purely client-side application, MakeSBML is hosted by a
GitHub page which makes the installation robust and relatively maintenance-
free.

##  2 Materials and Methods

###  2.1 Overview

The MakeSBML single-page web application uses a ported version of Antimony
library [7] by translating the Antimony C++ library to JavaScript and
WebAssembly https://webassembly.org/. This translation is done through
Emscripten [8], a compiler toolchain used to compile existing C/C++ code and
make it available for use through a web browser. The WebAssembly and
JavaScript code (libantimonyjs) can be found at the GitHub site:
https://github.com/sys-bio/libantimonyjs. This site includes detailed
information on converting the Antimony library to JavaScript and WebAssembly.
The MakeSBML website contains JavaScript calls to the Antimony library which
passes back and forth, as a string, the Antimony or SBML model along with any
error messages.

###  2.2 Usage

Using the MakeSBML web application is straightforward (Figure 1). Go to
https://sys-bio.github.io/makesbml/ and place either an Antimony or SBML model
into the appropriate text box and press the arrow corresponding to the
translation needed (Figure 1). Models can be loaded from the user’s computer,
downloaded from the BioModels model database
(https://www.ebi.ac.uk/biomodels/), pasted or typed directly into the
appropriate text box. Model editing with MakesSBML makes it much simpler to
create and edit SBML models. If your modeling software supports SBML but
editing the model is difficult, editing with MakeSBML is often easier and
quicker. Just load the SBML XML text in MakeSBML, edit the Antimony version,
and save the translated SBML version for use in your simulation software of
choice.

Figure 1: MakeSBML web application. Figure showing the Antimony model on the
left and a portion of the translated SBML model on the right. The text search
box above translated SBML allows searching of BioModels model database
(https://www.ebi.ac.uk/biomodels/) [5] for model download and translation to
Antimony. Note the verbosity of the SBML model compared to the antimony model.

###  2.3 Implementation

The critical part of the MakeSBML implementation is the loading of the
libAntimony JavaScript module. This is done through a call to the JavaScript
wrapper libantimony.js which has mappings to the WebAssembly file
libantimony.wasm. For MakeSBML, loading the libAntimony module in the browser
looks like this:

        libantimony().then((libantimony) => {
         //ΨFormat: libantimony.cwrap( function name, return type, input param array of types).
         loadString = libantimony.cwrap("loadString", "number", ["number"]);
         getSBMLString = libantimony.cwrap("getSBMLString", "string", ["null"]);
         getAntimonyString = libantimony.cwrap("getAntimonyString", "string", ["null"]);
         getLastError = libantimony.cwrap("getLastError", "string", ["null"]);
         jsAllocateUTF8 = (newStr) => libantimony.allocateUTF8(newStr);
         });

_libantimony_ is the name of the Antimony library and is accessed through the
loading of the JavaScript wrapper contained in the file libantimony.js. The
code then assigns a JavaScript variable, or alias, _loadString_ to the
Emscripten ’wrapped’ Antimony C function call, returns an integer and takes
one number (pointer to a memory address containing the model string) as input.
The other JavaScript aliases are _getSBMLString_ , which returns the SBML
version of the model, _getAntimonyString_ , which returns the Antimony
version, and _getLastError_ , which returns any error found in the model. The
final JavaScript alias _jsAllocateUTF8_ is an Emscripten helper function
_allocateUTF8()_ that allocates memory for the string and creates a pointer to
it. This function was added to the Antimony JavaScript wrapper when
Empscripten compiled the original Antimony code.

Below is a JavaScript excerpt using the above JavaScript aliases for passing
in an Antimony model and returning the translated model in SBML:

      var ptrAntCode = jsAllocateUTF8(antCode);
      var sbmlResult = "None";
      var load_int = loadString(ptrAntCode);
      if (load_int > 0) {
        sbmlResult = getSBMLString();
       } else {
        var errStr = getLastError();
       }

To pass a JavaScript string into the Antimony function _loadString()_ one must
first call _jsAllocateUTF8()_ to create a pointer to the Antimony model
string. _loadString()_ returns 0 if no errors are detected. After successfully
loading the model the SBML can be retrieved by simply calling
_getSBMLString()_. If an SBML model is loaded Antimony translation can be
obtained with the _getAntimonyString()_ function. See the github repository
https://github.com/sys-bio/makesbml for further details of MakeSBML
implementation.

##  3 Discussion and Conclusion

As modeling in systems biology becomes more complex, it is critical that
researchers build upon existing work, as much time and money is invested in
creating these mathematical models. The SBML standard for describing these
models allows simple reproducibity of models between researchers since many
simulation environments support SBML
(https://en.wikipedia.org/wiki/List_of_systems_biology_modeling_software). To
encourage reuse, the Antimony language provides clear text statements to
describe these models allowing researchers an easier way to understand, edit,
and update them for use in their own research, saving time and expense.

In this article, we describe MakeSBML, a client-side web tool for translating
between SBML and Antimony. Because we only use client-side technology,
MakeSBML can be hosted by ‘dumb’ servers such as GitHub pages. This makes it
easy to port to other sites such as free resources like Google sites.
Moreover, it reduces maintenance costs since an active server is not required
and web technology tends to be more stable and backward compatible than
equivalent desktop software. This allows tooling to continue to run long after
the funding mechanism has ceased.

MakeSBML provides a quick, and simple way to edit SBML models using the
Antimony modeling language. By lowering the use barrier for researchers,
MakeSBML takes the process a step further by encouraging model reuse and
accelerates a user’s own model development and research as a whole.

##  4 Acknowledgements

Research reported in this was supported by NIGMS and NIBIB of the National
Institutes of Health under award numbers R01GM123032 and P41EB023912. Authors
thank University of Washington student Tracy Chan for her assistance in the
software implementation of MakeSBML.

Conflict of Interest: none declared.

## References

  * [1] Kiri Choi, J. Kyle Medley, Matthias König, Kaylene Stocking, Lucian Smith, Stanley Gu, and Herbert M. Sauro.  Tellurium: An extensible python-based modeling environment for systems and synthetic biology.  Biosystems, 171:74–79, 2018.
  * [2] Stefan Hoops, Sven Sahle, Ralph Gauges, Christine Lee, Jürgen Pahle, Natalia Simus, Mudita Singhal, Liang Xu, Pedro Mendes, and Ursula Kummer.  COPASI—a COmplex PAthway SImulator.  Bioinformatics, 22(24):3067–3074, 10 2006.
  * [3] M. Hucka, A. Finney, H. M. Sauro, H. Bolouri, J. C. Doyle, H. Kitano, A. P. Arkin, B. J. Bornstein, D. Bray, A. Cornish-Bowden, A. A. Cuellar, S. Dronov, E. D. Gilles, M. Ginkel, V. Gor, I. I. Goryanin, W. J. Hedley, T. C. Hodgman, J. H. Hofmeyr, P. J. Hunter, N. S. Juty, J. L. Kasberger, A. Kremling, U. Kummer, N. Le Novère, L. M. Loew, D. Lucio, P. Mendes, E. Minch, E. D. Mjolsness, Y. Nakayama, M. R. Nelson, P. F. Nielsen, T. Sakurada, J. C. Schaff, B. E. Shapiro, T. S. Shimizu, H. D. Spence, J. Stelling, K. Takahashi, M. Tomita, J. Wagner, J. Wang, and the rest of the SBML Forum:.  The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models.  Bioinformatics, 19(4):524–531, 2003.
  * [4] Fedor Kolpakov, Ilya Akberdin, Ilya Kiselev, Semyon Kolmykov, Yury Kondrakhin, Mikhail Kulyashov, Elena Kutumova, Sergey Pintus, Anna Ryabova, Ruslan Sharipov, et al.  Biouml—towards a universal research platform.  Nucleic Acids Research, 50(W1):W124–W131, 2022.
  * [5] Rahuman S Malik-Sheriff, Mihai Glont, Tung V N Nguyen, Krishna Tiwari, Matthew G Roberts, Ashley Xavier, Manh T Vu, Jinghao Men, Matthieu Maire, Sarubini Kananathan, Emma L Fairbanks, Johannes P Meyer, Chinmay Arankalle, Thawfeek M Varusai, Vincent Knight-Schrijver, Lu Li, Corina Dueñas-Roca, Gaurhari Dass, Sarah M Keating, Young M Park, Nicola Buso, Nicolas Rodriguez, Michael Hucka, and Henning Hermjakob.  BioModels — 15 years of sharing computational models in life science.  Nucleic Acids Research, 48(D1):D407–D415, 1 2020.  gkz1055.
  * [6] I.I. Moraru, J.C. Schaff, B.M. Slepchenko, M.L. Blinov, F. Morgan, A. Lakshminarayana, F. Gao, Y. Li, and L.M. Loew.  Virtual cell modelling and simulation software environment.  IET Systems Biology, 2:352–362(10), September 2008.
  * [7] Lucian P. Smith, Frank T. Bergmann, Deepak Chandran, and Herbert M. Sauro.  Antimony: a modular model definition language.  Bioinformatics, 25(18):2452–2454, 07 2009.
  * [8] Alon Zakai.  Emscripten: an llvm-to-javascript compiler.  In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, pages 301–312, 2011.


# Detecting periodic time scales in temporal networks

Elsa Andres1 Alain Barrat2 Márton Karsai1,3,∗

(_ 1Central European University, Quellenstraße 51, 1100 Vienna, Austria
2Aix Marseille Univ, Université de Toulon, CNRS, CPT, Turing Center for Living
Systems, Marseille, France
3Alfréd Rényi Institute of Mathematics, Budapest, Reáltanoda utca 13-15, 1053
Hungary
∗Corresponding author<EMAIL_ADDRESS>_ )

###### Abstract

Temporal networks are commonly used to represent dynamical complex systems
like social networks, simultaneous firing of neurons, human mobility or public
transportation. Their dynamics may evolve on multiple time scales
characterising for instance periodic activity patterns or structural changes.
The detection of these time scales can be challenging from the direct
observation of simple dynamical network properties like the activity of nodes
or the density of links. Here we propose two new methods, which rely on
already established static representations of temporal networks, namely supra-
adjacency matrices and temporal event graphs. We define dissimilarity metrics
extracted from these representations and compute their Fourier Transform to
effectively identify dominant periodic time scales characterising the original
temporal network. We demonstrate our methods using synthetic and real-world
data sets describing various kinds of temporal networks. We find that while in
all cases the two methods outperform the reference measures, the supra-
adjacency based method identifies more easily periodic changes in network
density, while the temporal event graph based method is better suited to
detect periodic changes in the group structure of the network. Our methodology
may provide insights into different phenomena occurring at multiple time-
scales in systems represented by temporal networks. Temporal networks, Fourier
transform

##  1 Introduction

Many complex systems, commonly described as networks, are evolving dynamically
as their elements and the interactions between them are subject to changes in
time. The recent availability of temporally resolved network data sets has
stimulated the emergence of the new field of temporal networks [1, 2, 3],
which has been useful to describe a wide range of phenomena, from human
behavior [4, 5, 6] to biological and ecological systems [7, 8] or public
transportation [9, 10]. The temporal network representation provides an
effective tool to investigate the structure and dynamics of these systems, as
well as the potential dynamical processes occurring on top of them [11, 1]. In
particular, this representation goes beyond the conventional static
description of networks [12], as it keeps track of the temporal order of
successive interactions between elements. This allows for instance to identify
notions of potential causality through the definition of temporal paths
between nodes, i.e., series of successive interactions along which information
can be transmitted [13, 14].

Temporal networks present different time-dependent properties at different
structural scales. For instance, single nodes can be characterised by their
instantaneous degree (number of neighbors at a given time) or other
instantaneous centrality measures, which may vary as a function of time [15,
12, 16, 3]. Links are also temporal objects: connections between nodes appear
and disappear, often following bursty and correlated dynamics, as well as
circadian patterns, which are all typical of human dynamics [17, 18, 19]. At
mesoscopic scales, temporal networks can exhibit temporal motifs [20, 21, 22],
communities [23], core-periphery [24, 25] or other cohesive structures and
hierarchies [26, 27]. These various dynamical properties may evolve at
different time scales [28], including overall changes between global states at
the macroscopic level [29, 30, 25]. In particular, periodic variations can
emerge, e.g. driven by the circadian fluctuations of human behaviour [19, 31],
regular scheduling in different contexts like in transportation or schools, or
the repetition of metabolic reactions in biological systems [32]. Interesting
relevant examples of such variations are given by changes in the connection
density in the network, or in the way nodes form and dissolve groups or
communities. For example, the number and structure of social interactions vary
due to daily rhythms and schedules in contexts such as workplaces, scheduled
social gathering or in schools, where students interact within a class during
lectures, but also with other classes during breaks [33, 31]. The
identification of the temporal scales of periodic variations in a temporal
network is an important step for the characterization and understanding of the
system under investigation. However, their measure represents a challenge as
they co-appear with other arbitrary non-periodic temporal scales, which appear
as noise and hinder the possibility to detect the periodic behaviour by simply
following the temporal evolution of simple network summary measures.

Some recent works have addressed the detection of relevant temporal scales in
temporal networks, e.g. by optimizing the overlap between the sets of events
on consecutive time intervals [34] or by searching for the precise recurrence
of connections between nodes in different time windows [35]. Another approach
consists in defining the correlation between instantaneous adjacency matrices
of the temporal graph [36]. Finally, computing a whole similarity matrix
between all pairs of timestamps can make it possible to detect states in which
the network structure remains stable [30, 29, 25], but this method requires
rather heavy computations.

Here, we contribute to this endeavour by defining a new method to measure the
periodic time scales of temporal networks. Given a temporal network as input,
we first divide it into temporal sub-networks using successive sliding
windows. We then use lossless mappings of these temporal sub-networks to a
sequence of static networks and quantify the dissimilarity between them
successively to obtain a dissimilarity function describing the changes between
the successive temporal sub-networks. We extract the timescales of this
function by taking its Fourier transform to identify its main frequency and
harmonics. We focus here on applying this method to the detection of periodic
changes in the link density and group structure of temporal networks. To this
aim, first we consider synthetic networks in which we impose periodic
variations of density and structure with tunable frequencies. We show that the
method is able to retrieve the actual time scales of the networks. We then
apply our method on several empirical temporal networks presenting periodic
dynamics. In each case, the method captures correctly the system’s main
characteristic times, which could most often not be extracted by simple
measures of the network overall activity. Our work opens the door to a better
characterisation of the time scales of temporal networks, essential in the
understanding of the dynamics of the underlying complex systems.

##  2 Methods

Let us consider a temporal network $G_{T}=(V,E_{T},T)$ defined as a set $V$ of
nodes, and a set $E_{T}$ of events over a time interval $T$ measured in
discrete time: each event $e(i,j,t)\in E_{T}$ describes a temporal interaction
between two nodes $(i,j)\in V\times V$ at a certain time $t\in T$.

Figure 1: Methodology pipeline to measure the time scales of a temporal
network $G_{T}$. From top to bottom: the initial temporal network is divided
into sub-temporal networks through a sliding window. The $m^{th}$ sub-network
is denoted $G_{T}^{m}$. A static representation of each sub-network
($G^{m}_{*}$) is generated through the method *. Each $G^{m}_{*}$ is described
by a 3-dimensional tensor $B_{*}^{m}(j,k,\tau)$ that encodes information about
the paths and distances in the sub-network (see Appendix A). We compare
consecutive tensors with a dissimilarity measure, obtaining the dissimilarity
function $D_{*}$. Finally, we compute the Fourier transform of $D_{*}$ and
measure the frequencies of the main harmonics.

#### Temporal sub-networks.

With such a temporal network as an input, we first extract a sequence of
temporal sub-networks of $G_{T}$ by using sliding windows of length $\Delta
t_{w}$ and stride $t_{w}$ (shift between the start of successive windows).
Specifically, the $m^{th}$ sub-network $G_{T}^{m}$ is composed of the nodes of
$V$ and of the subset $E_{T^{m}}$ of events of $E_{T}$ taking place in the
time interval starting at time $m*t_{w}$ and ending at $m*t_{w}+\Delta t_{w}$:

$G_{T}^{m}=(V,E_{T^{m}},T^{m}=\left[m*t_{w}:m*t_{w}+\Delta
t_{w}\right])\text{\quad for \quad}\,m\in\mathbb{N}\text{\quad and
\quad}T^{m}\subseteq T.$ (1)

Based on this definition we can obtain a sequence of temporal sub-networks
$G_{T}^{m}$ to compute a dissimilarity function characterising the dynamical
changes in the structure and the overall activities present in the original
temporal network $G_{T}$. More precisely, we want to compute the dissimilarity
between consecutive sub-networks, $G_{T}^{m}$ and $G_{T}^{m+1}$.

#### Static network representations.

To this aim, we first map each temporal sub-network onto a static network
representation using two different methods. Note that both of these
representations are lossless and contain the exact same amount of information
as the temporal network they represent:

  * •

The _Supra-Adjacency_ ($SA$) representation [37, 38] $G_{SA}=(V_{SA},E_{SA})$
of a temporal network $G_{T}$ is a static directed network, in which each node
$v_{SA}\in V_{SA}$ represents a pair (node, time) of the original temporal
network: the node $(i,t)\in V_{SA}$ denotes that the node $i\in V$ was active
at time $t\in T$, i.e., had at least one interaction at $t$. A directed edge
$e_{SA}\in E_{SA}$ between two nodes of $V_{SA}$, $(i,t_{a})$ and $(j,t_{b})$
(with $t_{a}<t_{b}$), encodes the fact that an information can propagate on
$G_{T}$ from node $i$ at $t_{a}$ to node $j$ at $t_{b}$, without intermediary
events. If $i=j$, this is possible if $t_{a}$ and $t_{b}$ are successive
interaction times for $i$ (there is no event involving $i$ at times
$t_{a}<t<t_{b}$). Edges of type $(i,t_{a})\to(i,t_{b})$ in $E_{SA}$ thus
simply correspond to following the successive interaction times of $i$ in
$G_{T}$. For $i\neq j$ instead, the event $(i,j,t_{a})\in E_{T}$ results in
two directed edges in $E_{SA}$: $(i,t_{a})\to(j,t_{b})$ and
$(j,t_{a})\to(i,t_{c})$, where $t_{b}$ (resp. $t_{c}$) is the first time after
$t_{a}$ in which $j$ (resp. $i$) is active again. The direction of edges in
$G_{SA}$ respects the arrow of time, and the set of edges $E_{SA}$ allows to
preserve the information about all possible temporal paths of the original
temporal network.

  * •

The _Event-Graph_ ($EG$) representation $G_{EG}$ [39, 40] is a static weighted
directed acyclic network representation of a temporal network. Each event in
$G_{T}$ is represented by a node in $G_{EG}$, and two nodes of $G_{EG}$ are
connected if the two corresponding events in $G_{T}$ were adjacent [39], i.e.,
share at least one node (in $V$) and are consecutive. Each edge between two
nodes in $G_{EG}$ is directed along the direction of time (from the earlier
event to the later one) and is weighted by the time difference between the two
corresponding events. Consequently, $G_{EG}$ encodes also all information of
time respecting paths emerging in the original temporal network.

These representations can be applied to any temporal network. In particular we
apply them to each temporal sub-network $G_{T}^{m}$ defined above to map them
into a sequence of static representations $G_{SA}^{m}$ and $G_{EG}^{m}$. In
the following, we use the symbol $*$ to refer to the static representation
method: it replaces the abbreviation $SA$ or $EG$, as every object from now on
can be calculated using one method or the other.

#### Network dissimilarity function.

As a next step we compute a dissimilarity function $D_{*}(m)$ between
successive static networks, $G_{*}^{m}$ and $G_{*}^{m+1}$, for each sequence
of static representations $\\{G_{*}^{m},m=1,\cdots\\}$. To this aim, we
consider here an extension of the method of [41] that summarizes the
properties of a network in a matrix where the element $(k,l)$ gives the number
of nodes that can reach $k$ other nodes in $l$ hops in the structure. As we
originally deal with temporal networks, and as the nodes of the $SA$ and $EG$
representations do keep temporal information, we instead describe each
$G_{*}^{m}$ by a tensor $B^{m}_{*}(j,k,\tau)$, which gives the number of nodes
in $G_{*}^{m}$ from which one can reach, in two hops on $G_{*}^{m}$, other
nodes of $G_{*}^{m}$ involving $j$ nodes, $k$ events and $\tau$ timestamps of
$G_{T}^{m}$. The dissimilarity function $D_{*}^{m}$ is finally computed as the
Kullback-Leibler divergence between $B^{m}_{*}$ and $B^{m+1}_{*}$.

#### Fourier Transform of dissimilarity function.

Each dissimilarity function $D_{*}$ provides an overall signal that reflects
the structural and activity changes in the original temporal network. It
presents higher values when the network goes through larger and abrupt
transformations and takes smaller values when the network is more stable or
changing only gradually with time. It can thus provide insights into the time
scales of dynamical changes in the original temporal network. In particular,
periodic patterns of network changes can be revealed by taking the Fourier
transform of the dissimilarity function, which should present harmonics at the
characteristic frequencies of the temporal network. More precisely, we compute
the discrete-time Fourier transform of $D_{*}$ defined as:

$FT_{k}=\left|\sum_{j=0}^{N_{sample}}D_{*}(j)e^{i2\pi kj/N_{sample}}\right|,$
(2)

where $N_{sample}$ is the length of $D_{*}$ and $k\in[0,N_{sample}-1]$. The
frequency corresponding to the $k^{th}$ harmonic $FT_{k}$ is
$f_{k}=\frac{k}{t_{w}N_{sample}}$ where $t_{w}$ is the time shift between two
successive sub-networks $G_{T}^{m}$. The main harmonics of the $FT$ function
(appearing as the largest modes in the transformed function) correspond to the
principal frequencies of the temporal network. Their inverse yield the
characteristic time scales of the main periods present in the network
dynamics.

In the following, we refer to the full methodology pipelines using
respectively the $SA$ and $EG$ representations as the $SA-method$ and $EG-
method$. The whole generic pipeline is summarized in Figure 1.

##  3 Validation on synthetic data sets

To better understand the temporal properties that the above defined
dissimilarity functions and their Fourier transforms can capture, we focus on
synthetic temporal networks with controlled structural and temporal
properties. In particular, we consider networks with tunable changes in
activity (number of events per timestamp) and group structure. We utilise the
Activity-Driven temporal network (ADN) model [42] for these purposes, defined
by a set of $N$ nodes $i=1,\cdots,N$, each having an intrinsic activity
$a_{i}$ taken from a given distribution. At each time step, node $i$ becomes
active with probability $\eta a_{i}$ and, if active, establishes connections
with $m$ other nodes chosen randomly. Connections are erased after each time
step thus the model does not present any memory nor correlations between time
steps. Here we consider networks of size $N=100$ with a power-law node
activity distribution with minimum value $\epsilon=0.001$ and parameters
$\gamma=1.8$, $m=4$, $\eta=4$ and $\mid T\mid=9200$.

Using these parameters as baseline, we build three types of periodically
varying temporal networks, to model the following settings:

  * •

_Change of activity_ : we simulate an ADN in which the density of edges varies
periodically in time. We assign to each node $i$ two activity values
$a_{i}^{1}$ and $a_{i}^{2}$, respectively extracted from two power-law
distributions with exponents $\gamma_{1}=1.8$ and $\gamma_{2}=2.8$. We then
alternate periodically (and synchronously for all nodes) between the two
activity values, with a period $T_{a}$. This results in periodic changes in
the overall activity of the network, as illustrated in Figure 2a.

  * •

_Change of grouping_ : we consider an ADN model of $N=100$ nodes forming
groups of $5$ nodes each, and we periodically alternate, with a period of
$T_{g}$, between time intervals in which connections are made at random with
no restriction as in the baseline and intervals in which only connections
within groups are allowed. The average activity is kept constant over time
(Figure 2b).

  * •

_Change of activity and grouping_ : finally, we consider an ADN in which both
activity and group structure change periodically over time, by combining the
previous two mechanisms, each with its own period, respectively $T_{a}$ and
$T_{g}$ (see Figure 2c).

Figure 2:  Schematic representation of three settings simulated with the
Activity-Driven temporal network model with periodic changes of parameters
($N=100$, $\epsilon=0.001$, $\eta=4$). (a) The _Change of activity_ case
presents networks with activity periods of $T_{a}=200$; (b) the _Change of
grouping_ case presents recurrent structural changes with period $T_{g}=150$;
while (c) the _Change of activity and grouping_ setting is defined as a mix of
both dynamics. Panels (a-c) display the number of events as a function of time
for a realization of each experiment; Gray areas in panels b and c indicate
the intervals in which interactions can only occur within groups. Panels (d-f)
depict the Fourier transforms of these networks obtained respectively through
the SA-method and EG-method, as well as the Fourier transform of the activity
timeline. The first and second harmonics of each Fourier transform are shown
respectively with a star and a diamond symbol. In each case, the SA-method and
EG-method are able to retrieve the correct period of the networks, while the
Fourier transform of the activity signal fails in measuring temporal
structural changes. In the _Change of activity and grouping_ case, the SA-
method identifies the frequency of activity changes as the main harmonic,
while the EG-method detects the structural changes frequency as the dominant
one.

For each case, we apply the SA and EG methods to compute the Fourier
transforms of the resulting temporal networks. As a baseline method, we
compute directly the Fourier transform of the activity function, that is
measured as the link density at each time step of observation (see Figure 2).
This is a simple summary metrics that describes the overall changes in the
temporal network and can be computed for any system.

###  3.1 Results

The settings we consider involve either one or two types of periodic changes
in the synthetic temporal networks: a periodic fluctuation in the amount of
activity and/or in the network structure in terms of inter and intra group
interactions. Our first goal is to investigate whether the SA- and EG-methods
can uncover the corresponding periods $T_{a}$ and $T_{g}$ through the measure
of the dominant frequencies in the associated Fourier transforms. As shown in
Figure 2d and e, when only one type of periodic change is present, both
methods are able to detect the corresponding period. It is evident from the
depicted star symbols that indicate the largest mode in the frequency scale,
correctly positioned at the right frequency corresponding to the period of the
actual periodic changes. At the same time, the baseline method, computed as
the FT of the activity timeline, strongly underperforms as compared to the
other two methods. While in case of activity changes (see panel Figure 2d) it
at least identifies approximately the value of the period, in case of
periodical group changes it does not succeed to capture the rightful period at
all. This was expected as in this case the overall activity does not reflect
any periodicity but simply fluctuates randomly around a constant value.

When both types of periodic changes are present, an interesting distinction
emerges between the results of the SA- and EG-methods. Indeed, both methods
correctly detect the $T_{a}$ and $T_{g}$ periods as the first two dominant
frequencies in the Fourier transform. However, in the SA-method the frequency
describing the periodic activity changes is identified as the dominant
frequency and the periodic group frequency to the second largest value
($T_{1}^{SA}=T_{a}=200$, $T_{2}^{SA}=T_{g}=150$ in Figure 2f), while this is
reversed for the EG-method ($T_{1}^{EG}=T_{g}=150$, $T_{2}^{EG}=T_{a}=200$ in
Figure 2f). These results suggest that the SA-method is more sensitive to
periodic changes in activity, while the EG-method is more suited to detect
periodic structural fluctuations. We also note that the FT of the baseline
method yields as dominant timescales $T_{1}=156.7$ and $T_{2}=82.5$, the first
one describing approximately the activity periods of the network, while the
second one does not correspond to the period of either of the underlying
processes.

Figure 3: Periods corresponding to the two first harmonics measured through
the SA-method (panel a) and the EG-method (panel b), for periodic synthetic
temporal networks generated through the _Change of activity and grouping_
setting ($N=100$, $\epsilon=0.001$, $\eta=3$, $\mid T\mid=9200$) with
respective periods $T_{a}$ (x-axis) and $T_{g}$ (y-axis). For each pair of
values ($T_{a}$, $T_{g}$), we generate $100$ realizations of the temporal
network and apply the SA- and EG-method to extract the two main harmonics. We
show in blue around a small black disk (resp. grey disk) the fraction of
realizations in which the main frequency (resp. the second main) corresponds
to $T_{a}$, in pink the fraction of cases in which it yields $T_{g}$, and in
yellow the cases in which it corresponds to neither (we consider a tolerance
of $10\%$ for both periods). In most cases, both periods are correctly
inferred, with the main frequency corresponding to $T_{a}$ in the SA-method
and to $T_{g}$ in the EG-method.

To check the robustness of the proposed methods against the relative values of
the periods, we further investigate this point by exploring systems with
different values of $T_{a}$ and $T_{g}$ in the _Change of activity and
grouping_ setting. We generate $100$ synthetic temporal networks for each pair
of values ($T_{a}$, $T_{g}$), compute the dissimilarity function and Fourier
Transforms of these realization, and extract the corresponding first two
harmonics for each method (SA and EG).

Figure 3 summarizes the results by showing in each case the fraction of
realizations which detected the periods of $T_{a}$, $T_{g}$ correctly, or
failed to detect any of them. These results demonstrate again that the SA-
method identifies predominantly $T_{a}$ (the activity change period) through
the first harmonic and $T_{g}$ (change of group structure) through the second,
while the reverse is observed for the EG-method. Some deviations from this
behaviour are observed at large values of the periods and/or when $T_{a}$ and
$T_{g}$ are close to each other.

###  3.2 Parameter dependencies and limitations

Both the synthetic temporal networks and the analysis method involve some
parameters. In particular, we explore their dependencies on the network size,
temporal length and ratio between total temporal length and periods of changes
$T_{a}$ or $T_{g}$, with results presented in Appendix B. We observe that at
large network size, both methods identify as main frequency a value
corresponding the half value of the original period. Moreover, evidently, for
correct time scale detection the observation period of the temporal network
need to cover at least two full periods of any kind of changes.

The first step of our pipeline moreover involves the definition of sliding
windows with stride $t_{w}$ and length $\Delta t_{w}$. Naturally, these
parameters affect the amount of information contained in each sub-temporal
network and consequently influence the resulting dissimilarity function [43,
44, 45]. We explore the effect of these parameters in Appendix B, while
keeping $t_{w}\leq\Delta t_{w}$ to have a non-zero overlap between successive
time windows. We also ensure that the two parameters under study have values
below the time span of the network’s period (their maximum value is $20$ while
the period is $100$).

As shown in Appendix B in Figure 10, the two methods show the best performance
if the $t_{w}$ stride is not too large and if $\Delta t_{w}$ length is neither
too high nor too small. If the time interval between two temporal sub-networks
$t_{w}$ is too high, we collect less information about the similarity between
successive sliding windows. The dissimilarity function is then less precise
and our methods perform less well to identify the characteristic temporal
scales. Moreover, if $\Delta t_{w}$ is too small, each sliding window contains
too little information to obtain an accurate measure of the time-scale of the
original network. On the opposite, if $\Delta t_{w}$ is too large, each
temporal sub-network may summarize too much information and loose the specific
characteristic of the activity or the structure of the network on a certain
time or interval of time. As an observation bias this could smooth
dissimilarities between consecutive temporal network slices as they average
too much information, and not because the network does not present significant
changes through time.

It is also worth noticing that both methods measure systematically half of the
period as dominant modes for very large values of $t_{w}$ and $\Delta t_{w}$
(Appendix B, Figure 10). In that case, every half-period of the network is
covered by a small number of temporal sub-networks, leading to a lack of
resolution in the dissimilarity function, in which only the peaks of
dissimilarity at half-periods are well marked, leading to the detection of the
half-period as typical timescale.

##  4 Applications on real networks

After validating our methods on synthetic networks with controlled properties,
to explore further the capabilities of our methods, we consider empirical
temporal networks representing different systems. We note that in such
systems, in contrast to the cases studied above, several time scales, that
correspond both to periodic or non-periodic fluctuations, may co-exist, as
well as structural changes of different nature.

###  4.1 Data sets

We consider four temporal networks describing interactions of different
nature, with various sizes and over different observation lengths. For more
details about their temporal dynamics see Appendix C.

  * •

_US middle school network_ : this data set describes close proximity
interactions between students of a middle school in the United States, during
one day with temporal resolution of $20$ seconds [46], recorded by Radio
Frequency Indentification (RFID) wearable devices. It involves several periods
of class-times and inter-class breaks including two lunch periods, when
students freely mix while changing classroom or eating together. The network
consists of $591$ nodes (each node corresponding to a student) and contains
$473,755$ records of pairwise temporal interactions between them.

  * •

_Conference network_ : these data also describe face-to-face contacts between
individuals, with a temporal resolution of $20$ seconds, obtained by RFID
devices built on a different architecture [47]. The contacts were measured
during a scientific conference, namely the IC2S2 conference that took place in
Cologne (Germany) in 2017 [48]. Our observation period spans over the three
first days of the conference, and records $229,536$ temporal contacts between
$274$ participants. This data set, similar to the school data, is expected to
show periodic behaviour both in terms of activity and structural changes, by
reflecting the scheduled sessions and session-breaks of the conference.

  * •

_Resistance game network_ : it is an eye-contact network between participants
of the Resistance game [49, 50], which is a role game where some of the
players are hidden ’defeaters’, and the goal of the other players is to
uncover them. The game involves multiple rounds of around $4$ minutes each,
starting with a discussion involving every participant, and ending with a
vote. The recorded network is built from directed events between participants
who looked at each other at a given time $t$. The network is recorded between
$8$ individuals and contains $52,731$ temporal interactions that we deem
undirected for simplicity. This network provides an example where the
interaction level should not reflect strong periodicity but the grouping of
participants changes between each session.

  * •

_US flight network_ : this air-transportation network describes the direct
flight connections between $278$ airports in the US [51]. In our observation
period we concentrate on $4$ days of data that records $71,315$ flights
between the airports that we consider as undirected temporal interactions.
This network is expected to show strong periodicities in activity, reflecting
the daily recurrent flight schedules, while structural changes may not be
strong as almost always the same airports are connected every day.

###  4.2 Results

After applying our pipeline on each data set using both the SA- and EG- and
the baseline methods, in Figure 4 we depict the Fourier transforms of the
obtained dissimilarity functions, with stars indicating the dominant
frequencies. Interestingly, both the SA- and EG-methods identify the relevant
timescales in most networks, while the baseline method consistently failed to
detect them. For the _US middle school network_ , both methods yield a
timescale of about $46$ minutes, coherent with the length of a class.
Meanwhile, the baseline activity timeline FT would estimate the dominant
frequency as corresponding to a period of $139$ minutes. In the case of the
_US flight network_ , where the main changes are expected to be ruled by
circadian fluctuations, both SA- and EG-methods also correctly identified
periods of around $24$ hours. This time-scale is also captured by the baseline
method, but recognised only as its third largest harmonic. The two first
harmonics are identified as periods of $5$ and $10$ minutes, which may
correspond to the characteristic times between consecutive departures of
planes from the same airport. The _Conference network_ also presents strong
signs of circadian changes of activity. This is reflected by all computed
Fourier transforms, which show a harmonic corresponding to a period of about
24 hours for both the SA-method and the EG-method, captured as well by the
baseline method. Finally, regarding the _Resistance game_ , which presents
only structural changes, the EG-method measures accurately the time-scales of
periods characterising a single round in the game, around 4 minutes. Since no
periodic change of activities characterise this network, both the SA-method
(more sensitive to activity changes) and the baseline method fail to identify
any meaningful time-scale. The Fourier transform of the SA-method suggests the
dominant mode to correspond to $0.53$ minute, while the baseline method
detects $13$ minutes.

Figure 4:  Fourier transforms of dissimilarity and activity functions of four
real-world data sets (a) a US middle-school, (b) the US flight network, (c) a
conference, and (d) the resistance game networks. Dissimilarity functions were
calculated by the SA-method (in orange) and the EG-method (in blue), while
results computed for the baseline model using activity signals are shown in
purple. The highest harmonics are highlighted with a star symbol for each FT,
and the corresponding values of the period is indicated below each panel. The
parameters of the sliding windows $(t_{w},\Delta t_{w})$ are (2 minutes, 5
minutes) for the _US middle school_ , (1/3 minute, 1 minute) for the
_Resistance game_ , (2 minutes, 10 minutes) for the _US flight_ and (2
minutes, 5 minutes) for the _Conference_.

###  4.3 Shuffling of the data

Empirical temporal network data entail structural and temporal correlations of
different nature. To explore which of their characteristics play the main role
in determining their relevant time-scales, a common method consists in
shuffling the data to create randomized reference models [52] in which
specific correlations are destroyed while others are preserved. In other
words, through shuffling we create a sample from a uniformly sampled
microcanonical ensemble of randomized networks, where certain network
properties are kept constrained, while the networks are maximally random
otherwise. Specifically, here we consider shuffling methods that remove the
periodicity of the activity and/or of the group structure. In turn, we apply
the SA- and EG-methods to compute the Fourier transforms of the shuffled data
and check how these methods capture the modification of the time scales due to
shuffling. We consider the following random reference models, following the
canonical notations introduced in [52]:

  * •

_$P_{p}(\Gamma)$_ shuffling: To remove both activity and structural
correlations, we randomly shuffle the order of the temporal network snapshots,
keeping fixed the structure of each snapshot. This procedure destroys any
structural correlations between consecutive snapshots, removing the effects of
structural reorganizations and randomizing also the activity timeline.

  * •

_$P_{\tau}$_ shuffling: we rewire randomly all links in each snapshot of the
temporal network. This is equivalent to creating a configuration random
network [53] in each snapshot, with the same number of nodes and edges as the
original snapshot. The activity timeline is thus preserved while the group
structure and its changes are removed.

Figure 5:  Fourier transform for the data sets US school, Resistance game, US
flight and Conference networks shuffled using the two shuffling methods
$P_{p}(\Gamma)$ (panels a-d) and $P_{t}$ (panels e-h), obtained with the SA-
method (orange curve) and the EG-method (blue curve). The period of each
original data set is indicated with a black vertical line. For data shuffled
using the $P_{p}(\Gamma)$ method, the original period is never recovered. In
the case of the $P_{t}$ shuffling instead, the SA- and EG methods still
measure original periods if the network presents large activity changes (_US
flight_ and _Conference_ data sets). In the case of the _US middle school_
network, only the SA-method is able to assess the original time scale as this
method performs better to detect activity changes. Finally, none of the method
can measure the original period of the _Resistance game_ network shuffled with
the $P_{t}$ method as it does not present any periodic variations.

Results are shown in Figure 5 for the four data sets and the two shuffling
procedures. When the networks are shuffled with the $P_{p}(\Gamma)$ procedure
(panels a-d), the original periods are not recovered, which is expected since
the shuffling destroys any periodicity in the data.

However, when we shuffle the networks using the _$P_{\tau}$_ method, which
removes the structural effects but keeps the fluctuations in the overall
activity, our methods present some capacity to identify the residual time
scales in some of the data sets. In particular, two of the data sets present
large periodic activity variations, i.e. the _US flight_ and the _Conference_
networks. After shuffling, these regular changes are still present, as the
_$P_{\tau}$_ method preserves their activity time line, while any other
pattern has been destroyed by the shuffling. Consequently, we may still
measure their original circadian period from their _$P_{\tau}$_ -shuffled
versions. Indeed, both the SA- and the EG-methods applied to the _Conference_
network recover the dominant time scales, while in case of the _US flight_
data set, the EG-method captures the expected time scale of around one day. We
also find a time scale of 5 minutes with the SA-method applied to the _US
flight_ data set, which corresponds to another characteristic times of
activity of this network (see Figure 4).

In contrast, both the SA- and the EG-methods miss the identification of the
original time scales when applied on the _$P_{\tau}$_ -shuffled _Resistance
game_. Since the original network has no periodic fluctuations in terms of
activity, neither its shuffled counterpart present any regular changes in term
of activity. Thus the detected time scales are only induced by some noise in
the data.

Finally, the _US middle school_ network presents activity variations that are
not easily assessed even in the original network. Once shuffling with the
_$P_{\tau}$_ method, only the SA-method, which is overall more sensitive to
activity changes, retrieves the original period ($\approx 46$ minutes) in the
shuffled network. The EG-method overestimates this time by detecting a period
of $5\approx 9$ minutes.

##  5 Conclusion

In this work, we have put forward a new methodology to uncover periodic time-
scales in temporal networks. In our proposed pipeline, first we locally
aggregate the original temporal network by using a sliding window to build a
sequence of temporal sub-networks. Subsequently, we map these temporal sub-
networks into a sequence of static networks, using known lossless higher-order
temporal network representations, namely supra-adjacency matrices or event-
graphs. We further extend a method for the comparison between the consecutive
static network samples to define a dissimilarity function that reflects
activity and structural changes in the original temporal network. Finally, we
take the Fourier transform of the dissimilarity function to detect the
relevant periodic time-scales from the dominant frequencies characterising the
original network.

We have explored this pipeline, focusing on changes in the activity and group
structure of temporal networks. Using synthetic data sets with prescribed
changes, we have shown that while both methods are able to recover the time
scales of the modelled periodic dynamics, they perform differently in the
identification of changes in activity and structure. Specifically, the SA-
method is more sensitive to overall activity changes while the EG-method
captures better periodic structural fluctuations, which cannot instead be
obtained through the FT of the activity timeline. We have also shown that
these methods are able to highlight relevant periods in more complex empirical
data sets.

The methodology presented here have certain limitations. First, its
performance depends on some parameters of the aggregation method and the
temporal network observed. The observation needs in particular to span a long
enough interval: at least two periods of changes need to be observed. The
sliding window parameters also have some impact on the performance: each
temporal sub-network should encode enough information but should not be too
long to average out relevant changes. The stride should be small enough to
keep a reasonable temporal resolution and a substantial overlap between
successive windows.

The proposed methodology pipeline opens the door to the investigation of
several interesting extensions and research questions. Possible extensions of
the present method could include the consideration of other static
representations as well as other similarity measures between successive
temporal sub-networks 111including the tensor portrait defined in Appendix A
but considering different numbers of hops from each node., which could
potentially be more sensitive to various types of structural changes of the
temporal network. For instance, it would be interesting to explore whether
changes in the instantaneous core-periphery structure [25] could be uncovered.
Future work could also explore extensions to time-varying hypergraphs [54, 55]
or the interaction between the detected time scales of the underlying temporal
network and ongoing dynamical processes. Our work presents a proof of concept
for a new methodological direction that will contribute to the better
characterisation of time varying complex structures.

## Acknowledgment

We acknowledge support from the Agence Nationale de la Recherche (ANR) project
DATAREDUX (ANR-19-CE46-0008). MK was supported by the CHIST-ERA project SAI:
FWF I 5205-N; the SoBigData++ H2020-871042; the EMOMAP CIVICA projects and the
National Laboratory for Health Security, Alfréd Rényi Institute,
RRF-2.3.1-21-2022-00006.

##  Appendix A Comparing temporal networks

An important step in our methodology is to quantify the similarity between
successive temporal sub-networks. We first map each temporal sub-network to a
static one, as described in the main text, and compare these static
representations. To this aim, we adapt a method proposed by Bagrow and Bollt
[41], which allows to compare static networks at multiple scales. The first
step of this method is to compute, for each static network, its “portrait” $B$
defined as

$B_{l,k}=\text{number of nodes which have $k$ nodes at distance $l$ \ .}$

The dissimilarity between two networks is then given by the Kullback-Leibler
divergence between their respective portraits.

In our case, the static networks that we need to compare are representations
of temporal networks, with either the Supra-Adjacency or the Event-Graph
method, noted $G_{*}^{m}$. Nodes and edges in these networks contain
information about nodes, interactions and times of the original temporal
network. To take this into account, we adapt and modify the definition of
network portrait, and define the tensor portrait of $G_{*}^{m}$ by relying on
$BD_{*}^{m}(j,k,\tau)$ which is the number of nodes of $G_{*}^{m}$ which can
reach, in two hops, $j$ nodes, $k$ events and $\tau$ timestamps of the
original temporal network. In other words, we consider for each node of the
static representation $G_{*}^{m}$ its ego-network at distance $2$, and count
the number of distinct nodes, timestamps and events of the original temporal
network $G_{T}^{m}$ involved. We then collect this information for all nodes
of $G_{*}^{m}$ and summarize the resulting histogram as the portrait
$BD_{*}^{m}$. We illustrate this method to compute the tensor portrait
$BD_{*}^{m}$ in Figure 6.

Figure 6: Sketch of the method to compute the tensor portraits $BD^{m}_{*}$ of
the temporal network $G^{m}_{T}$ displayed in panel a. The static SA and EG
representations $G^{m}_{SA}$ and $G^{m}_{EG}$ are shown respectively in panels
b and c. We first evaluate the number of nodes, events and timestamps from the
temporal network accessible within two hops from each node of the static
networks. We illustrate the computation for $n^{2}_{*}$ (purple highlight). We
then count the number of nodes of the static representation that can reach $j$
nodes, $k$ events and $\tau$ timestamps of the original temporal network to
compute the element $BD^{m}_{*}(j,k,\tau)$ of the tensor portrait.

We also note that the static representation of the temporal networks are
directed, with edge directions following the arrow of time. The ego-network of
a node of the static representation involves only future timestamps and
events. To take also into account how each node can receive information from
events in the past, we create for each $G_{*}^{m}$ its reversed version
$G_{*,R}^{m}$ by inverting the direction of each edge of the representation
and compute its portrait $BR_{*}^{m}$. We then obtain the final tensor
$B_{*}^{m}$ by summing $BD_{*}^{m}$ and $BR_{*}^{m}$.

Finally, we compute the dissimilarity between each pair of consecutive tensors
$B_{*}^{m}$ and $B_{*}^{m+1}$, as their Kullback-Leibler divergence (if the
two tensors $B_{*}^{m}$ and $B_{*}^{m+1}$ differ in size, we adjust the size
of the smaller one to the size of the biggest one by filling the missing
entries with zeros). The dissimilarity function is defined as:

$D_{*}(m)=KL(B_{*}^{m},B_{*}^{m+1})\text{\quad for}\,m\in\mathbb{N}$

Note that, in the event of an empty network, the Kullback-Leibler divergence
is not defined. We then assign one single event to the corresponding empty
temporal sub-network $G_{T}^{m}$.

##  Appendix B Sensitivity analysis: size and length of the temporal network,
sliding window parameters

To evaluate the reliability of our results, we perform a sensitivity analysis
on the parameters of the experiments _Change of activity_ and _Change of
grouping_. We change one parameter in both experiments while keeping the other
constant ($N=100$, $\epsilon=0.001$, $\eta=45$, $\mu$ oscillating between
$1.8$ and $2.8$ for the _Change of activity_ and $\mu=2.8$ for _Change of
grouping_ , $T_{a}=T_{g}=100$, $\mid T\mid$ is adjusted to have 12 periods,
$\Delta t_{w}=5$ and $t_{w}=2$).

When we vary the number of nodes of the networks (Figure 7), the original
period is almost always measured properly except when the number of nodes is
high. In that case, the measured period is $50$ (corresponding to a frequency
of $0.02$), which is half of the original period. In fact, when the networks
change from a high-activity state to a low-activity state, we observe a peak
in the dissimilarity function. This situation happens twice in a period: when
changing from low to high and from high to low activity. The measured period
is then the half period (Note that this happens at all sizes, and the half-
period is indeed always recovered as one of the harmonics, but it seems here
to become dominant at large sizes).

The same analysis has been realized by changing the length of the period
(Figure 8) and in every case, the original period is correctly measured: the
length of the period does not influence the observation. Instead, when we
change the number of periods observed (Figure 9), we observe that we need a
minimum of 2 periods to measure the original time scale.

We finally study the influence of the parameters of the sliding window $t_{w}$
and $\Delta t_{w}$ on the results. In Figure 10, we compute the Fourier
Transform of the AD network with the SA-method and the EG-method having
different parameters $t_{w}$ and $\Delta t_{w}$. The correct period ($100$) is
properly measured if $t_{w}$ and $\Delta t_{w}$ are not too large.

Figure 7: Fourier transforms of the temporal network from the _Change of
activity_ experiment (left column) and the _Change of grouping_ experiment
(right column) measured from the SA-method (yellow background) and the EG-
method (blue background). The number of nodes of the AD networks varies from
50 to 1000. The correct frequencies are indicated with vertical dashed lines.
Those original periods are well-measured in the majority of the cases.
However, when the number of nodes is too important, the method measures the
semi-period. Figure 8: Fourier transforms of the temporal network from the
_Change of activity_ experiment (left column) and the _Change of grouping_
experiment (right column) measured from the SA-method (yellow background) and
the EG-method (blue background). The period varies from $25$ to $300$. The
correct frequencies are indicated with vertical dashed lines and are here
always well recovered. Figure 9: Fourier transforms of the temporal network
from the _Change of activity_ experiment (left column) and the _Change of
grouping_ experiment (right column) measured from the SA-method (yellow
background) and the EG-method (blue background). The number of periods of the
AD networks observed during $T$ varies from 1 to 6. The correct frequencies
are indicated with vertical dashed lines. Those proper periods are well-
measured as long as the data set contains at least two periods. Figure 10:
Period measured through the SA-method (orange background) and the EG-method
(blue background) for the _Change of activity_ experiment (first column) and
the _Change of grouping_ experiment (second column). We change the parameters
of the sliding window: the x-axis presents different values of the stride
$t_{w}$ and the y-axis different values of time-window lengths ($\Delta
t_{w}$). The period of the initial networks is 100 and the results are
averaged over 10 realisations. The results are displayed as the average period
over the different realisations $\pm$ the standard deviation.

##  Appendix C Empirical data

We observe the changes of activity over time of the empirical networks for the
four data sets (Figure 11). The _US school_ presents periodic patterns,
varying from low contact periods when the students are in class to high
contact periods when there is a recreational time. The _US flight_ and
_Conference_ networks have circadian patterns as there are respectively less
flights and less contacts at night. Finally, the _Resistance game_ does not
present any periodic change in its activity as every player of the game is
looking at someone else at each time step.

Figure 11: Number of events as a function of time for the four data sets: the
_US school_ (panel a), the _US flight_ (panel b), the _Conference_ (panel c)
and the _Resistance game_ (panel d). The _US school_ network contains high
activity periods during recreational moments of the students’ day, while the
_US flight_ and the _Conference_ networks present circadian patterns. The
Resistance game network does not have particular periodic activity changes.

## References

  * [1] Petter Holme and Jari Saramäki.  Temporal networks.  Physics reports, 519(3):97–125, 2012.
  * [2] Petter Holme.  Modern temporal network theory: a colloquium.  The European Physical Journal B, 88:1–30, 2015.
  * [3] Naoki Masuda and Renaud Lambiotte.  A guide to temporal networks.  World Scientific, 2016.
  * [4] Alain Barrat and Ciro Cattuto.  Temporal networks of face-to-face human interactions.  Temporal networks, pages 191–216, 2013.
  * [5] Sune Lehmann.  Fundamental structures in temporal communication networks.  Temporal Network Theory, pages 25–48, 2019.
  * [6] Mohammed Saqr and Sonsoles López-Pernas.  The why, the what and the how to model a dynamic relational learning process with temporal networks.  In Proceedings of the NetSciLA22 workshop, 2022.
  * [7] Kristian Trøjelsgaard and Jens M Olesen.  Ecological networks in motion: Micro-and macroscopic variability across scales.  Functional Ecology, 30(12):1926–1935, 2016.
  * [8] Mohammad Mehdi Hosseinzadeh, Mario Cannataro, Pietro Hiram Guzzi, and Riccardo Dondi.  Temporal networks in biology and medicine: a survey on models, algorithms, and tools.  Network Modeling Analysis in Health Informatics and Bioinformatics, 12(1):10, 2022.
  * [9] Nam Huynh and Johan Barthelemy.  A comparative study of topological analysis and temporal network analysis of a public transport system.  International Journal of Transportation Science and Technology, 11(2):392–405, 2022.
  * [10] Mohamed Salama, Mohamed Ezzeldin, Wael El-Dakhakhni, and Michael Tait.  Temporal networks: A review and opportunities for infrastructure simulation.  Sustainable and resilient infrastructure, 7(1):40–55, 2022.
  * [11] A. Barrat, M. Barthélemy, and A. Vespignani.  Dynamical Processes on Complex Networks.  Cambridge University Press, 2008.
  * [12] Dan Braha and Yaneer Bar-Yam.  Time-dependent complex networks: Dynamic centrality, dynamic motifs, and cycles of social interactions.  In Adaptive networks: Theory, models and applications, pages 39–50. Springer, 2009.
  * [13] Raj Kumar Pan and Jari Saramäki.  Path lengths, correlations, and centrality in temporal networks.  Physical Review E, 84(1):016105, 2011.
  * [14] Aming Li, Sean P Cornelius, Y-Y Liu, Long Wang, and A-L Barabási.  The fundamental advantages of temporal networks.  Science, 358(6366):1042–1046, 2017.
  * [15] Dan Braha and Yaneer Bar-Yam.  From centrality to temporary fame: Dynamic centrality in complex networks.  Complexity, 12(2):59–63, 2006.
  * [16] Eduardo C Costa, Alex B Vieira, Klaus Wehmuth, Artur Ziviani, and Ana Paula Couto Da Silva.  Time centrality in dynamic complex networks.  Advances in Complex Systems, 18(07n08):1550023, 2015.
  * [17] Albert-Laszlo Barabasi.  The origin of bursts and heavy tails in human dynamics.  Nature, 435(7039):207–211, 2005.
  * [18] Márton Karsai, Kimmo Kaski, and János Kertész.  Correlated dynamics in egocentric communication networks.  Plos one, 7(7):e40612, 2012.
  * [19] Talayeh Aledavood, Sune Lehmann, and Jari Saramäki.  Digital daily cycles of individuals.  Frontiers in Physics, 3:73, 2015.
  * [20] Paolo Bajardi, Alain Barrat, Fabrizio Natale, Lara Savini, and Vittoria Colizza.  Dynamical patterns of cattle trade movements.  PloS one, 6(5):e19869, 2011.
  * [21] Lauri Kovanen, Márton Karsai, Kimmo Kaski, János Kertész, and Jari Saramäki.  Temporal motifs in time-dependent networks.  Journal of Statistical Mechanics: Theory and Experiment, 2011(11):P11005, 2011.
  * [22] Antonio Longa, Giulia Cencetti, Bruno Lepri, and Andrea Passerini.  An efficient procedure for mining egocentric temporal motifs.  Data Mining and Knowledge Discovery, 36(1):355–378, Jan 2022.
  * [23] Laetitia Gauvin, André Panisson, and Ciro Cattuto.  Detecting the community structure and activity patterns of temporal networks: a non-negative tensor factorization approach.  PloS one, 9(1):e86028, 2014.
  * [24] Peter Csermely, András London, Ling-Yun Wu, and Brian Uzzi.  Structure and dynamics of core/periphery networks.  Journal of Complex Networks, 1(2):93–123, 2013.
  * [25] Nicola Pedreschi, Christophe Bernard, Wesley Clawson, Pascale Quilichini, Alain Barrat, and Demian Battaglia.  Dynamic core-periphery structure of information sharing networks in entorhinal cortex and hippocampus.  Network Neuroscience, 4(3):946–975, 2020.
  * [26] Nicola Pedreschi, Demian Battaglia, and Alain Barrat.  The temporal rich club phenomenon.  Nature Physics, 18(8):931–938, 2022.
  * [27] Edoardo Galimberti, Alain Barrat, Francesco Bonchi, Ciro Cattuto, and Francesco Gullo.  Mining (maximal) span-cores from temporal networks.  In Proceedings of the 27th ACM international Conference on Information and Knowledge Management, pages 107–116, 2018.
  * [28] Jari Saramäki and Esteban Moro.  From seconds to months: an overview of multi-scale dynamics of mobile telephone calls.  The European Physical Journal B, 88:1–10, 2015.
  * [29] Valeria Gelardi, Joël Fagot, Alain Barrat, and Nicolas Claidière.  Detecting social (in) stability in primates from their temporal co-presence network.  Animal Behaviour, 157:239–254, 2019.
  * [30] Naoki Masuda and Petter Holme.  Detecting sequences of system states in temporal networks.  Scientific reports, 9(1):1–11, 2019.
  * [31] Julie Fournet and Alain Barrat.  Contact patterns among high school students.  PloS one, 9(9):e107878, 2014.
  * [32] Maxime Lucas, Arthur Morris, Alex Townsend-Teague, Laurent Tichit, Bianca Habermann, and Alain Barrat.  Inferring cell cycle phases from a partially temporal network of protein interactions.  Cell Reports Methods, 3(2), 2023.
  * [33] Juliette Stehlé, Nicolas Voirin, Alain Barrat, Ciro Cattuto, Lorenzo Isella, Jean-François Pinton, Marco Quaggiotto, Wouter Van den Broeck, Corinne Régis, Bruno Lina, et al.  High-resolution measurements of face-to-face contact patterns in a primary school.  PloS one, 6(8):e23176, 2011.
  * [34] Richard K Darst, Clara Granell, Alex Arenas, Sergio Gómez, Jari Saramäki, and Santo Fortunato.  Detection of timescales in evolving complex systems.  Scientific reports, 6(1):39713, 2016.
  * [35] Kashin Sugishita and Naoki Masuda.  Recurrence in the evolution of air transport networks.  Scientific reports, 11(1):1–15, 2021.
  * [36] Lucas Lacasa, Jorge P Rodriguez, and Victor M Eguiluz.  Correlations of network trajectories.  Physical Review Research, 4(4):L042008, 2022.
  * [37] Eugenio Valdano, Luca Ferreri, Chiara Poletto, and Vittoria Colizza.  Analytical computation of the epidemic threshold on temporal networks.  Physical Review X, 5(2):021005, 2015.
  * [38] Koya Sato, Mizuki Oka, Alain Barrat, and Ciro Cattuto.  Dyane: dynamics-aware node embedding for temporal networks.  arXiv preprint arXiv:1909.05976, 2019.
  * [39] Mikko Kivelä, Jordan Cambe, Jari Saramäki, and Márton Karsai.  Mapping temporal-network percolation to weighted, static event graphs.  Scientific reports, 8(1):1–9, 2018.
  * [40] Andrew Mellor.  Event graphs: Advances and applications of second-order time-unfolded temporal network models.  Advances in Complex Systems, 22(03):1950006, 2019.
  * [41] James P Bagrow and Erik M Bollt.  An information-theoretic, all-scales approach to comparing networks.  Applied Network Science, 4(1):1–15, 2019.
  * [42] Nicola Perra, Bruno Gonçalves, Romualdo Pastor-Satorras, and Alessandro Vespignani.  Activity driven modeling of time varying networks.  Scientific reports, 2(1):1–7, 2012.
  * [43] Rajmonda Sulo, Tanya Berger-Wolf, and Robert Grossman.  Meaningful selection of temporal resolution for dynamic networks.  In Proceedings of the Eighth Workshop on Mining and Learning with Graphs, pages 127–136, 2010.
  * [44] Gautier Krings, Márton Karsai, Sebastian Bernhardsson, Vincent D Blondel, and Jari Saramäki.  Effects of time window size and placement on the structure of an aggregated communication network.  EPJ Data Science, 1(1):1–16, 2012.
  * [45] Mikko Kivelä and Mason A Porter.  Estimating interevent time distributions from finite observation periods in communication networks.  Physical Review E, 92(5):052813, 2015.
  * [46] Damon JA Toth, Molly Leecaster, Warren BP Pettey, Adi V Gundlapalli, Hongjiang Gao, Jeanette J Rainey, Amra Uzicanin, and Matthew H Samore.  The role of heterogeneity in contact timing and duration in network models of influenza spread in schools.  Journal of The Royal Society Interface, 12(108):20150279, 2015.
  * [47] Ciro Cattuto, Wouter Van den Broeck, Alain Barrat, Vittoria Colizza, Jean-François Pinton, and Alessandro Vespignani.  Dynamics of person-to-person interactions from distributed rfid sensor networks.  PloS one, 5(7):e11596, 2010.
  * [48] Mathieu Génois, Maria Zens, Marcos Oliveira, Clemens M Lechner, Johann Schaible, and Markus Strohmaier.  Combining sensors and surveys to study social interactions: A case of four science conferences.  Personality Science, 4:1–24, 2023.
  * [49] Chongyang Bai, Srijan Kumar, Jure Leskovec, Miriam Metzger, Jay F Nunamaker Jr, and VS Subrahmanian.  Predicting the visual focus of attention in multi-person discussion videos.  In IJCAI, pages 4504–4510, 2019.
  * [50] Srijan Kumar, Chongyang Bai, VS Subrahmanian, and Jure Leskovec.  Deception detection in group video conversations using dynamic interaction networks.  In ICWSM, pages 339–350, 2021.
  * [51] Bureau of transportation statistics, bureau of transportation statistics website (2017).
  * [52] Laetitia Gauvin, Mathieu Génois, Márton Karsai, Mikko Kivelä, Taro Takaguchi, Eugenio Valdano, and Christian L Vestergaard.  Randomized reference models for temporal networks.  SIAM Review, 64(4):763–830, 2022.
  * [53] Mark Newman.  Networks.  Oxford university press, 2018.
  * [54] F. Battiston, G. Cencetti, I. Iacopini, V. Latora, M. Lucas, A. Patania, J.-G. Young, and G. Petri.  Networks beyond pairwise interactions: Structure and dynamics.  Phys. Rep., 874:1–92, 2020.
  * [55] F. Battiston, E. Amico, A. Barrat, G. Bianconi, G. Ferraz de Arruda, B. Franceschiello, I. Iacopini, S. Kéfi, V. Latora, Y. Moreno, M. Murray, T. Peixoto, F. Vaccarino, and G. Petri.  The physics of higher-order interactions in complex systems.  Nat. Phys., 17(10):1093–1098, 2021.