Reciprocity, community detection, and link prediction in dynamic networks

Many complex systems change their structure over time, in these cases dynamic networks can provide a richer representation of such phenomena. As a consequence, many inference methods have been generalized to the dynamic case with the aim to model dynamic interactions. Particular interest has been devoted to extend the stochastic block model and its variant, to capture community structure as the network changes in time. While these models assume that edge formation depends only on the community memberships, recent work for static networks show the importance to include additional parameters capturing structural properties, as reciprocity for instance. Remarkably, these models are capable of generating more realistic network representations than those that only consider community membership. To this aim, we present a probabilistic generative model with hidden variables that integrates reciprocity and communities as structural information of networks that evolve in time. The model assumes a fundamental order in observing reciprocal data, that is an edge is observed, conditional on its reciprocated edge in the past. We deploy a Markovian approach to construct the network's transition matrix between time steps and parameters' inference is performed with an Expectation-Maximization algorithm that leads to high computational efficiency because it exploits the sparsity of the dataset. We test the performance of the model on synthetic dynamical networks, as well as on real networks of citations and email datasets. We show that our model captures the reciprocity of real networks better than standard models with only community structure, while performing well at link prediction tasks.


I. Introduction
Many real networks are dynamical, i.e., the pattern of interactions between their nodes vary over time, e.g., network of exchanged emails in a company.The abundance of such datasets and the development of optimal numerical methods have led to a growing number of studies in this field [1][2][3][4].In addition, interactions between nodes can be reciprocated, e.g., the people whom one retweets and the number of times she retweets them vary over time; so do the papers that researchers cite in their manuscripts and papers that cite one's scientific output.This latter issue has received little attention in previous studies.
Among the main approaches to study these systems, latent variable models assume that the existence of an edge between any pair of nodes is independent of other nodes, and is conditional on some latent variables which incorporate the hidden structure of the network.These techniques mainly focus on community membership as the main relevant latent variable, e.g., in the case of citations, the people who cite each other's works, inadvertently form a community.The stochastic block model (SBM) [5][6][7] and its variants provide flexible network generative models [8,9].In this framework, nodes are initially partitioned into communities, then edges are created between nodes, based on their community membership.There are several variants of dynamical equivalents of stochastic block model (DSBM) [10][11][12][13][14] which capture transition of community membership over time, reflect-ing the evolution of edge formation.Peixoto and Rosvall [15], and Matias et al. [16] develop a non-parametric temporal stochastic block model.Gauvin et al. [17] consider non-negative tensor factorization, where communities are static but the affinity matrix changes over time.Bovet et al. [18] use flow of random walkers co-evolving in the dynamic network to define communities.Various methods have been used to address whether the community membership or connectivity parameters could change over time, see [19] for a review.For instance, one could assume that communities are fixed in time but the connectivity parameters across groups changes, as in [11,17], or that communities change in time [10,[20][21][22].
In Zhang et al. [12], the authors extend some of the popular methods of modeling network structure, e.g., SBM, to represent dynamic networks.The main idea behind their Markovian approach is to find transition rates of appearance and disappearance of edges over time.Based on these rates, they were able to calculate the average probability of edges over all time steps, hence, they estimate a steady state probability distribution for each network model, depending on its structural parameters.Although the approach followed in [12] is efficient and analytically grounded, it was developed for models that incorporate communities as the only latent variable.
Nevertheless, in directed real-world networks, community membership may not be the only factor influencing network structure.Reciprocity, i.e., the tendency of a pair of nodes to form edges on both directions, has been subject of many studies [23][24][25] as a crucial factor to determine the structure of networks, in particular in social networks.Bartolucci et al. [26] assume local conditional independence between pairs of edges, i.e., dyads, and extend the SBM to account for the reciprocal patterns in directed dynamical networks.Furthermore, they estab-lished various specifications of the proposed model corresponding to different reciprocal assumptions.
Recently, a generative model (CRep) has been introduced that, in addition to community membership, includes reciprocity as latent variable that dictates formation of edges between the nodes [25].In other words, the appearance of a directed edge from node i to j not only depends on the community that the nodes belong to, but also is affected by the existence of the edge from j to i.In the case of citation network, it is more likely for an author to cite those other who already cited her, implying overlapping research areas.
In this work, following the approach in [12], we extend CRep and propose a continuous-time Markov process model for dynamic networks (DynCRep).Observing the system at discrete points in time, at each time step the transition rates of appearance and disappearance of a directed edge between two nodes depends on the current community membership of the nodes, as well as on the existence of a reciprocated edge between them.
We validate the applicability of the proposed model and its inference approach by performing experiments on real and synthetic networks for community detection and link prediction.We apply the model to synthetic datasets and observe that DynCRep shows a reasonable performance in terms of link prediction.Moreover, we test the model performance on real-world datasets in the domain of social and online communication to reproduce reciprocity, with promising results.

II. Model
In our model, the temporally evolving network is captured in snapshots taken at fixed intervals, from t = 0 to T + 1. A(t) represents the dynamic adjacency matrix of the network, where a non-zero value of A ij (t) represents a weighted edge from i to node j at time t, and A ij (t) = 0 denotes no interaction.We assume that the total number of nodes is fixed over time, i.e., new nodes do not enter into the network, and nodes do not leave it; instead, existing edges can appear and disappear.We focus on directed, and weighted networks.
A matrix w(t) of dimensions K × K determines the evolving structure of the K communities over time and we refer to w(t) as the affinity matrix.Different assumptions about w(t) result in communities with different structures.For instance, in the case of diagonal entries being greater than off-diagonal ones, communities are assortative -that is, individuals are more inclined towards intra-community interactions than inter-community interactions.The K-dimensional vectors u i (t) and v i (t) denote the out-going and in-coming communities at time step t, respectively.
Here, we keep the community membership constant over time; hence, we drop the notion of time dependency.We develop the model in two different varieties: 1) the affinity matrix varies over time (w-DYN), i.e., the connec-tivity pattern between communities changes over time, for instance, a group of nodes which form a community at time step t could be peripheral nodes at another time step [11], and 2) the affinity matrix also remains static (w-STATIC).
Following the continuous-time Markov process approach in [12], we assume that networks evolve on the real-valued times; hence, the appearance and disappearance of the edges are continuous parameters.However, we observe the network at discrete time steps.At each time step, a Poisson distribution governs the existence of edges between nodes such that an edge between two nodes is formed at a rate λij (t).This rate depends on both the community that nodes belong to, and the existence of the reciprocated tie at the previous time step: where η as a hyperparameter regulates the reciprocity effects, similarly as in [25].The difference between Eq. 1 and the edge probability in [25] is that the dependency on the reciprocated tie is on the previous time step, while standard CRep considers only the same time t, being an approach valid for static networks.Furthermore, an edge could disappear with rate µ.

A. Dynamic CRep
The aim of this study is to infer the latent parameters of the model, namely, Θ ≡ {u, v, w, η, µ}, given the adjacency matrix observed at each time step.To this end, we perform this inference task by maximizing the log-likelihood.Given Θ, all the pairs of nodes are conditionally independent; as a result, the joint-probability of the node-pairs could be approximated by a factorized form.Here, we develop a Markov process, according to which, at every time step, the probability of edges depends only on the previous time step: We further assume that at the initial time step the probability A ij (0) of an edge between two nodes follows a Poisson distribution with mean λij = λ ij (0), i.e., there is no reciprocated edge in the past: At each time-step, edges appear with rate λij (t), and disappear with rate µ.We follow an approach similar to that of Zhang et al. [12] and calculate the probability of the existence of edges by solving a master equation.Defining p k ij (t) as the probability of having k edges, i.e., an edge with the weight equal to k, between nodes i, j at time t, this quantity satisfies the following master equation: To solve this equation, we use a generating function approach [27], by defining g(z, t) = ∞ k=0 p k (t)z k .The solution for the generating function, could be expanded in terms of z to give us p t ij (more details in Sec.S1).There are four possible transitions from time t − 1 to t: 1) there is no edge neither at time t − 1, nor at t; 2) the appearance of an edge from nonedge, 3) disappearance of an existing edge, and 4) an existing edge remains; with the following probabilities, respectively, where β = 1 − e −µ .This leads to the following timedependent, log-likelihood: Algorithm 1 DynCRep (w-DYN): EM algorithm.

Update parameters Θ (M-step):
i) for each node i and community k update memberships: ii) for each pair (k, q) update affinity matrix: We add parameters' regularization by assuming Gamma-distributed priors for the membership vectors: where a ≥ 1, to ensure the maximization of the loglikelihood (the second derivative must be negative), similarly for the v ik .This adds new terms to the loglikelihood: In the experiments below we set the values of the hyperpriors to enforce sparsity, i.e., a = 1.5, b = 10.
Maximizing L(T, Θ) requires taking the derivative of Eq. ( 9) w.r.t. each parameter individually and setting them to zero.Because the summations in the logarithm render the calculations difficult, we employ a variational approximation using Jensen's inequality.Inference is then performed using the Expectation-Maximization algorithm (EM); details are provided in Sec.S1 A. Hitherto, we have included all the dependencies on the reciprocated edge A ji (t − 1) by considering the previous time step t − 1.However, the model still applies if we incorporate the reciprocated edge at the same time step, i.e., considering A ji (t).This choice may depend on the application itself based on the expectations and insight of the practitioner from the reciprocity effects.Alternatively, one can choose between these two options with model-selection criteria.In our experiments on real data we deployed them both, and presented the version that performs best in cross-validation tasks (Sec.S5 A).
We continue with two specifications of the model with different assumptions on the temporal evolution of the affinity matrix.In the first approach, w-DYN, the affinity matrix is treated as a time-dependent variable; while the community membership vectors, u i , v i , are kept static over time.Notice that a similar scenario could be obtained by fixing w and changing u i , v i in time [11], our model can be easily adapted to accommodate this alternative interpretation.Our model assumes fixed number of communities K.As we consider a mixed-membership model, we have the flexibility of allowing nodes to belong to various communities and with various intensities, thus allowing to capture the likelihood of the data well by effectively changing how an entry u ik or v ik impacts the magnitude of λ ij (t) via w(t) in the w-DYN scenario, while keeping K constant.
In the second scenario, w-STATIC, the affinity matrix is kept static as well.The purpose of considering these scenarios is to make the model flexible in dealing with various community structures (see Secs.S2 to S4 for more details on each scenarios).Notice that in the case of w-STATIC, although all the latent variables are fixed in time, the network can still evolve, as edges appear and disappear based on the parameters β and µ.This is also the case for the Markov model (without reciprocity) in [12].
For instance, the EM algorithm for w-STATIC yields: where we defined The parameter β has no closed-form update: but this equation can be solved numerically using rootfinding methods.The algorithm proceeds by randomly initializing the parameters u, v, w, η, β; then we estimate the variational distributions ρ (1) , ρ (2) , and φ, using Eq. ( 14) to ( 16) (E-step), while keeping the parameters fixed.In the next step (M-step), we update the parameters, while keeping ρ (1) , ρ (2) and φ fixed.This procedure is repeated until the convergence of the likelihood in Eq. ( 9).An overview of the algorithm is described in Algorithm 1.

III. Applications
A. Synthetic networks: AUC Having explained the nots and bolts of our model, we now turn to its application on dynamic network data.
We start by considering synthetic networks generated by Sec.II A with known community structure and reciprocity.We assess the ability of the model in predicting the network at future time steps using past observations.We look in particular at the impact of reciprocity in determining edges, by generating networks with varying η ∈ {0.05, 0.2, 0.5}, while keeping the other parameters fixed.For the tests reported here we use N = 500, initial average degree k = 5, and β = 0.2.We generate K = 3 hard communities of equal size with assortative structure.Having fixed the parameters, we generate 20 samples of networks for each of the three values of η.
For each network we generate an initial state followed by up to T = 6 further snapshots.The initial state is generated using only the community structure (no reciprocity) using Eq.(3).The successive snapshots are generated according to the instructions of Sec.II A. In this study, to test the ability of our model in capturing the dynamical features, we generate the first three time snapshots (T = 1, 2, 3) with an assortative community structure and the rest of the snapshots (T = 4, 5, 6) with For each time step t ∈ [1, T ], we hide the individual snapshot A(t) and fit the data using the previous snapshots A(0), . . ., A(t − 1).We test whether a model that accounts for reciprocity is able to successfully predict the network's evolution.Success is measured using the area under the curve (AUC), i.e., the probability that a randomly selected edge has higher expected value than a randomly selected non-existing edge.A value of 1 means perfect reconstruction, while 0.5 is pure random chance.The expected value of an edge is computed using: Notice that while the expected value at time t uses explicitly only the network at the previous time step, all the parameters are inferred using the whole network history, i.e., the model is trained with {A(0), . . ., A(t − 1)}.
We compare with a model that does not account for reciprocity, i.e., our model with η = 0 (DynCRep0) [25].
Figure 1 shows the results of these tests.As we can see, the ability to predict future edges is greater for a model that accounts for reciprocity, and the performance gap increases for higher values of η.This gap is partially offset by increasing the number of snapshots, as both the models have access to more information to make their estimates.Remarkably, DynCRep has stronger performance also in the low-reciprocity regime, η = 0.05.This cannot be clearly seen by looking at Fig. 1, as the mean AUC of the two models are within the error bars due to random fluctuations of the network structure across samples.Instead, the stronger performance of DynCRep in the low-reciprocity regime is revealed by looking at the percentage of samples where DynCRep has higher AUC than DynCRep0, on a trial-by-trial case (see Table I for details).While w-STATIC, the static version of the algorithm, performs slightly better than its non-reciprocated version, with larger performance gap at later times, w-DYN, the algorithm with timevarying affinity matrix, outperforms its non-reciprocated equivalent at all time steps.
Although both variants of the algorithm give better performance than their non-reciprocated version, it could be seen from Fig. 1 that w-DYN is more robust in link prediction tasks as η increases, and as the planted evolving structure of the affinity matrix changes from assortative to disassortative over time (T = 4, 5, 6).To evaluate the capability of our proposed model in retrieving network features, we apply the model to real world datasets.In this case, we first apply the inference algorithm to each time snapshot of the dynamic real dataset and learn the network's latent variables, i.e., Θ.Then, we use these latent variables as the input for the generative model, Sec.III, to generate dynamic synthetic networks similar to the fitted real datasets.Thus, we can compare dynamic synthetic networks, here 5 samples, and the original network.In this paper, we study the performance of our model in reproducing reciprocity as a significant structural parameter of the network.We implement our algorithm on two social and communication datasets, namely, Email Eu core network [28] and Statistics Citation Networks [29] (see Sec. S6 B for details on data pre-processing).

EU email network
Email-Eu-core network (EU) is constructed from internal emails exchanged between members of a large European research institution.At each time step, there is a directed edge from i to j, if i sent an email to j. Reciprocity may play a role in that receiving incoming emails may, or not, trigger a response email, similarly to other types of social communication [30].The recorded dataset spans over a period of 803 days.However, we studied the dynamics of the dataset by dividing it in both daily and monthly durations.In the first case, we divide the edges in daily intervals (EU-daily); then select the snapshots from 5 consecutive days, randomly.In the latter case, the intervals are monthly; we select the snapshots from the first recorded year (EU-monthly).
Figure 2 shows the performance of w-DYN and w-STATIC versions of DynCRep in reproducing the reciprocity of the EU-daily network.As expected in email networks, the reciprocity is high in this case; hence, w-DYN and w-STATIC perform similarly in reproducing reciprocity.It is noticeable that the ability of reproducing reciprocity may change depending on how the network is built.For instance, if we consider the monthly time steps, EU-monthly network, we observe a different performance, see appendix S6 B.
Figure 3 indicates the captured AUCs, measuring performance in link prediction tasks.The AUC is calculated as described in Sec.III A. We can notice the improvement over the time snapshots, and DynCRep tends to perform slightly better.Therefore by having access to the history of the dataset and accounting for reciprocity we can achieve better results in predicting future connections.
It is worth mentioning that we performed the experiments for different values of the number of communities; however, the results do not show high sensitivity to this parameter.Therefore, we fixed K = 4 for the EU network, equivalent to the number of departments in the corresponding institute.

Statistics Citation dataset
The second example of an empirical dataset is the Citation networks for statisticians, which is based on the research papers published in four of the top journals in statistics from 2003 to the first half of 2012.We construct a network by selecting a sample of the data from 2003 to 2007 and dividing it into annual intervals.This way we will have a network of citations over 4 years, where nodes are authors and an edge from nodes i to j at time step T represents that i cites j's papers in that year.In this system, we may expect that reciprocity plays a role in that receiving a citation may trigger a citation back.
Despite the fact that the reciprocity in this dataset is much lower than EU-daily dataset, Fig. 4 shows that we are able to capture it competitively.In addition, although the two versions outperform each others at different time steps, they still behave similarly in reproducing the reciprocity.Moreover, in both empirical datasets, the best performance is obtained for the case that reciprocated edges presented at the same time step were used in the model.
As it could be seen from Fig. 5, AUC values are always higher for DynCRep, showing that accounting for reciprocity improves link prediction tasks also for this dataset.It should be noted that, at each time step T we calculate AUC by having access to the edges up to time T − 1, then predicting edges at time T .Hence, the AUC cannot be calculated for the first time step.In this case we fix K = 3, the minimum number of communities with the highest performance, i.e., we perform 5-fold cross validation [25] to calculate the value of AUC, then we choose K as the number of communities with the highest value for AUC.

IV. Conclusion
In this work, we study reciprocity in dynamic networks.In reality, many datasets, e.g., networks of friendship, of gene expression patterns or communication networks, FIG.2: Reproducing the reciprocity of EU-daily network.Sampled networks were generated based on the inferred parameters fitted to the EU-daily network [28].The networks are generated as explained in Sec.III, with N and average degree k as of the real datasets; K = 4.The markers and the error bars are the means and standard deviations over 5 samples of synthetic networks, respectively.FIG.3: Predicting future evolution in the EU-daily dataset.AUC results for EU-daily dataset for 5 consecutive days, selected randomly.The number of community is fixed to K = 4.The error bars are smaller than marker size.describe interactions that evolve over time, thus making them unsuitable objects of analysis for aggregate methods.In addition, the interactions in these networks might not simply change over time, but their evolution could also be affected by their past reciprocated interactions; generally, such reciprocal interactions have received little attention as additional drivers of this dynamics.
To remedy this problem, we combine insights from previous works to incorporate reciprocity into a generative model approach with latent community structure.Specifically , we extend the assumptions formulated in [25] to situations where networks change in time.For this, we consider a Markovian transition matrix which governs the evolution of the parameters over time snapshots.Being a generative model, our approach can be used to build dynamic synthetic networks, with desired reciprocity and community structure.Its algorithmic implementation is based on an efficient EM algorithm, which can be applied to large systems.As we assume a chronological order in observing the reciprocated edges, we can estimate the joint probability distribution as a factorized distribution of time steps.
We consider two varieties of our model.In one case, community membership vectors remain static over time and only the affinity matrix contains temporal information.In the other case, the affinity matrix is treated as a static parameter, similarly as the community memberships; in both cases, reciprocity parameter and the rate of edge removal are kept static.These two scenarios enable us to thoroughly analyze the model and its performance in networks with different interaction patterns.For instance, in the case of a non-homogeneous community structure over time, the first version would be a more suitable approach, since it could capture the evolving community structures.
There are a number of directions in which this model could be extended.To capture more realistic properties of the real world datasets, we can generalize the model to the case of multilayered networks, where nodes can have more than one type of interaction.For instance, in a social network, an individual can have connections based on friendship, as well as her business affiliations.
In addition, considering a node related reciprocity parameter instead of a global reciprocity parameter could improve the applicability of the model.We have focused here on the case where edges change in time, but one can envisage situations where nodes appear and disappear as well.This would also be a natural model extension.Finally, we considered here reciprocity as main network structural property, but similar investigations can be performed for other properties involving more that one pair of nodes, as triadic closure or transitivity.

Supporting Information (SI) S1. Master Equation
To solve the master equation in Eq. 4, we multiply both sides by z k and sum over k; then defining the generating function g(z, t) By replacing time dependent λij (t) in Eq.S1, by its expected value, we reach the following relation for g(z, t), where f (x) is any once-differentiable function of its argument satisfying f (0) = 1 [12].We can assume that at t = 0 there was no edges between two specific nodes, hence by setting t = 0 in Eq.S2, we find f (x) = e − x µ λij .We assume the mean as λij µ = λ ij + η A ji .Therefore, at t = 1, To simplify notations and the code implementation, we define: With these, the log-likelihood becomes: and we assume that A ji (−1) = 0.Because of the summation over variables in the logarithm, in eq. 9, maximization is not achievable; hence, we apply Jensen's inequality, log x ≥ log x, which provides us a lower bound for log-likelihood to maximize.
The equality will be satisfied when, ρ As a result, the log-likelihood could be written in terms of these probability distributions, To deal with the summation in the log, we again apply Jensen's Inequality, The equality will be established when, It leads to the log-likelihood as a function of the probability distributions, Assuming static u, v, w, η and defining Âij β which is also considered a static parameter will be achieved by applying root-finding methods on the following equation, with variational distributions: ) which are time dependent through adjacency matrix.

S3. Only w dynamical (w-DYN)
Assuming w(t) changing in time while the others remain constant, we have: For dynamic β, we have this equation, i,j where Θ 1 (t), the step function, is 0 for t < 1, and 1 for t ≥ 1.

S5. Performance in synthetic networks
A. Link-prediction Figure S1 compares the ability of DynCRep and CRep in the link prediction task.In addition, we tested the model against DynCRep0 to evaluate the effect of reciprocity.The AUC for the DynCRep algorithm is obtained as explained in Sec.III A. For the comparison, we apply CRep algorithm on each time snapshot of the dynamic network, independent from other snapshots.Therefore, we perform edge prediction using 5-fold cross-validation.To this end, at each realization, we divide the dataset, i.e., the entries A ij (t) of the adjacency matrix, into five equal groups selected at random.We use four of these groups as a training set, to infer the parameters Θ.We then use the 5th group as a test set, evaluate the score for each A ij (t) in this set, and calculate the AUC value.By varying which group we use as the test set, we get 5 trials per realization.The final AUC is the average over these.
As we can see, w-DYN version of DynCRep, by achieving higher values for AUC, outperforms other approaches in predicting edges.However, when reciprocity effect is higher in dataset (η = 0.5), CRep could not be suitable model to predict links as it does not deploy the chronological information of the reciprocated edges.
It is worth mentioning that we also tested the ability of DynCRep to recover model parameters η and β.The algorithm shows good results in recovering the value of β.However, the model underestimates the value of η for the initial time steps.But the results improve as we observe more time steps (results not shown).We apply our approach to two different types of networks: online communication, and citation networks.A brief overview of features of the studied datasets is presented in the Table S1.For the datasets in which the interaction between nodes occur at intervals of varying lengths, we split them in time snapshots with equal and suitable time intervals.We applied a pre-processing treatment on time snapshots of datasets: i) self-loops are removed; ii) only nodes that have at least one out-going and one in-coming edge are kept; iii) we used only the giant connected components.In the case of citation network (here: SCC2016 ), it requires an additional pre-process of extracting a network of author-author from a network of paper-citation; hence an edge means that an author cites another author.Table S2 shows the example of a comparison between the ground truth values of η and β, applied to generate synthetic datasets, and the inferred values of the corresponding parameters by DynCRep.This shows how inference of the two parameters improves as the number of network snapshots increases, with β having values close to the ground truth already for two snapshots.

FIG. 1 :
FIG. 1: Predicting future evolution.We report the AUC values on held-out experiments where we train the model on A(0), . . ., A(T − 1) and predict the network A(T ).Higher values means better prediction.Networks are generated as explained in Sec.III, with N = 500, average degree k = 5, β = 0.2, K = 3.The three plots are results for η ∈ {0.05, 0.2, 0.5}.The Markers and the error bars are the means and standard deviations over 20 network samples, respectively.a) w-DYN; b) w-STATIC.

FIG. 4 :FIG. 5 :
FIG. 4: Reproducing the reciprocity of the Statistics citation dataset.Sampled networks were generated based on the inferred parameters of the Statistics Citation dataset [29].The networks are generated as explained in Sec.III, with N and average degree k as of the real datasets; K = 3. Markers and bars are the means and standard deviations over 5 generated synthetic networks, respectively.The network is based on annual citations during four years, from 2010 to 2013.

S2.
Static parameters (w-STATIC) FIG. S1: Predicting future evolution.Comparison of the AUC value obtained by DynCRep and the AUC from CRep applied on each time snapshot.a) DynCRep with time-varying affinity matrix.b) DynCRep with static community membership parameters.In the case of CRep, AUC was calculated with 5-fold cross-validation.Networks are generated as explained in Sec.III, with N = 500, average degree k = 5, β = 0.2, K = 3.The three plots are results for η ∈ {0.05, 0.2, 0.5}.Markers and bars are the means and standard deviations over 20 network samples, respectively.

S6.
Performance in real networksA.Real data: dataset description

B.
FIG. S2:Reproducing the reciprocity of EU-monthly network.Sampled networks were generated based on the inferred parameters fitted on the EU-monthly network network[28].Networks are generated as explained in Sec.III, with N and average degree k as of the real datasets; K = 4. Markers and bars are the means and standard deviations over 5 samples of synthetic networks, respectively.

TABLE I :
Edge prediction in synthetic networks.The stronger performance of DynCRep in the low-reciprocity regime, η = 0.05, is revealed by looking at the percentage of samples where DynCRep has higher AUC than DynCRep0, on a trial-by-trial case, over 20 trials.