Machine Learning Link Inference of Noisy Delay-coupled Networks with Opto-Electronic Experimental Tests

We devise a machine learning technique to solve the general problem of inferring network links that have time-delays. The goal is to do this purely from time-series data of the network nodal states. This task has applications in fields ranging from applied physics and engineering to neuroscience and biology. To achieve this, we first train a type of machine learning system known as reservoir computing to mimic the dynamics of the unknown network. We formulate and test a technique that uses the trained parameters of the reservoir system output layer to deduce an estimate of the unknown network structure. Our technique, by its nature, is non-invasive, but is motivated by the widely-used invasive network inference method whereby the responses to active perturbations applied to the network are observed and employed to infer network links (e.g., knocking down genes to infer gene regulatory networks). We test this technique on experimental and simulated data from delay-coupled opto-electronic oscillator networks. We show that the technique often yields very good results particularly if the system does not exhibit synchrony. We also find that the presence of dynamical noise can strikingly enhance the accuracy and ability of our technique, especially in networks that exhibit synchrony.


Introduction
Dynamically evolving complex networks are ubiquitous in natural and technological systems [1]. Examples include food webs [2], biochemical [3,4] and gene interaction [5,6] networks, neural networks [7], human interaction networks [8], and the internet, to mention a few. Inference of the structure of such networks from observation of their dynamics is a key issue with applications such as determination of the connectivity in nervous systems [9][10][11], mapping of interactions between genes [12] and proteins in biochemical networks [13], distinguishing relationships between species in ecological networks [14,15], understanding the causal dependencies between elements of the global climate [16], and charting of the invisible dark web of the internet [17]. In many of these problems, we can only passively observe time series data for the states of the network nodes and cannot actively perturb the systems in any way. Network inference for these cases has led to several different computational and statistical approaches, including Granger causality [18,19], transfer entropy [20], causation entropy [21], event timing analysis [22], Bayesian techniques [12,15,23,24], inversion of response functions [25,26], random forest methods [27], and feature ranking methods [28], among others.
In this work, we are interested in the common situation of dynamics that evolves through interactions mediated by the network links along which information transfer is subject to time delay and dynamical noise. We propose and test, both experimentally and computationally, a machine learning methodology to infer these time-delayed network interactions. In doing this, we use only the sampled time series data of the network nodal states. We find that our method is successful in both experimental and computational tests, for a wide variety of network topologies, and for networks with either identical or heterogeneous delay times along their links, provided the time series we use contains sufficient information for the networks to be inferred.
Applications of machine learning techniques for network inference have recently begun to be explored [27,[29][30][31][32]. However, all of these treat networks without link delay.
For example, Ref. [32] uses machine learning, but considers inference of generalized synchronization, rather than inference of links, between two systems. In particular, to our knowledge, there is no paper in which the common general situation considered in our paper is treated by machine learning, namely, link inference in delay-coupled networks with arbitrary topology and noise. Furthermore, a key feature of our work is that, in contrast with Refs. [27,[29][30][31][32], we present an experimental validation with known ground truth. Based on the surprising success of machine learning across a wide variety of data-based tasks [33,34], we believe machine learning is a particularly promising approach to the general network inference problem that we address.
Our approach is based on the demonstrated ability of machine learning for the prediction and analysis of dynamical time series data. In particular, we shall use a specific neural network architecture called Reservoir Computing (RC) [35,36], which has previously been used to analyze time series data from complex and chaotic systems for such tasks as forecasting spatiotemporally chaotic evolution [37][38][39][40], determination of Lyapunov exponents and replication of chaotic attractors [41], chaotic source separation [42,43], and inference of networks (without link time-delays) [29]. Reservoir computers have been implemented in a variety of platforms [35,44,45], e.g., in photonic [46][47][48], electronic and opto-electronic [49,50] systems. In our technique, we first use time series data from an unknown delay-coupled network to train an RC to predict the future evolution of the network. We then employ this trained network to predict how the effect of imagined applied perturbations would spread through the network, thus enabling us to deduce the network structure. This approach allows us to retain the non-invasive nature of computational tools like the transfer entropy, while also retaining the conceptual advantage of invasive methods [51][52][53].
We will test our network inference method on both simulated and experimental time series data from delay-coupled opto-electronic oscillator networks. An opto-electronic oscillator with time-delayed feedback is a dynamical system that can display a wide variety of complex behaviors, including periodic dynamics [54], breathers [55], and broadband chaos [56]. Opto-electronic oscillators have found applications in highly stable microwave generation for frequency references [54], neuromorphic computing [57,58], chaotic communications [59], and sensing [60]. The nonlinear dynamics of individual [61][62][63] and coupled opto-electronic oscillators [64][65][66][67]  For the present purpose, we assume that the state of the i-th node in the network is given by a time dependent vector X i [t] of dimension D s , with i = 1, 2, 3, ..., D n . We denote the components of this vector by X µ i with µ = 1, 2, 3, ..., D s . The coupled dynamics of the full system is governed by a general delay differential equation of the form Here

Time Series Prediction with a Reservoir Computer
In this work, our first step is to train an RC to predict the time evolution of the node states one delay time τ = k∆t into the future, following which we will use that training information to extract the network structure of the system. A schematic of our RC implementation ( [29,36,37]) is shown in This vector is fed into the reservoir via a D r × D X input-to-reservoir coupling matrix W in (Fig. 1). Furthermore, the reservoir nodes are coupled among themselves with a D r × D r adjacency matrix H. The time evolution of the reservoir node states R are given by the equation, which maps the reservoir state at time (n − 1)∆t to the reservoir state at the next time step, n∆t, where n is a positive integer, and σ is a sigmoidal activation function acting componentwise on its vector argument (which has the same dimension, D r , as R).
Keeping in mind the form of Eq. (1), our first step is to predict the future values of the sampled components of {X i [(n + k) ∆t]} in the concatenated form X [(n + k) ∆t] (Eq. (2)) from their current observed values X [n∆t] using the reservoir state vector R [n∆t].
In our case, this is done by using a suitable linear combination of the reservoir node states with a D X × D r reservoir-to-output coupling matrix W out ( Fig. 1) according to the equation, where the superscript P indicates that the vector is a prediction from the RC, as opposed to being sampled from the actual system.
where the last term (λ ||W out || 2 ) is a "ridge" regularization term [69] used to prevent overfitting to the training data and λ is typically a small number.
To completely specify the training procedure that we use, we now specify the structures of the different associated matrices.

Our Network Inference Procedure
We now describe how we use the training results of the previous subsection to obtain the network structure of the unknown system. We first briefly discuss how the form of This equation shows that, to lowest order, the effect of the small perturbation on component ν of the state of node j is propagated to the component µ of the state of node i with a delay of τ = k∆t provided that there is a corresponding network link between them, i.e., if ∂F µ i /∂X ν j = 0. In particular, propagation of a perturbation from component ν of the state of node j to component µ of the state of node i with a delay of k time steps implies that a directional network link, (j, ν) → (i, µ), exists between them.
While the above discussion is predicated on application of an active perturbation, we see that the result is essentially determined by the partial derivative ∂F µ i /∂X ν j . Thus we wish to determine whether this partial derivative is zero (corresponding to the absence of a link) or not (corresponding to the presence of a link). We attempt to do this by use of the trained RC (which, as we emphasize, was obtained solely from observations, i.e., non-invasively). Indeed, when Eq. (4) is approximately true for a well-trained RC with , we can use that equation to consider the RC-predicted dynamics as a proxy for the dynamics of the actual system. In that case, within this assumed RC proxy model, we can analytically assess the effects of small perturbations, and compare them to Eq. (6). To do so, we first combine Eqs. (3) and (4) for the RC, and assume the relation X P [(n + k) ∆t] = X [(n + k) ∆t] for the training data to obtain the equation, where the time points belong to the training time series. In order to evaluate the effect of a perturbation to one node on another, we desire to eliminate reservoir variables R from this equation. Naively, this could be done by solving Eq.
However, the number of components of R is large compared to the number of components of X , and so there are many solutions of Eq. (4) for R. As in our previous work [29], we hypothesize (and subsequently test) that, for our purpose, the Moore-Penrose pseudoinverse [73] (symbolically denoted byŴ −1 out ) provides a useful solution of the equation yielding a putative dynamical model for the system from which we will now study the effect of smal perturbations. Thus, an infinitesimal amount of change in the network node states at time step n∆t, written as δX [n∆t], propagates to a change at time (n + k)∆t as described by differentiating Eq. (8), where we have used Eq. (3), assumed that ∆t is sufficiently small that δX We now describe how we use our determination of M in Eq. (9) to recover the network structure. For this purpose, based on our knowledge of M i,j [n∆t], we are interested only in determining whether ∂F µ i /∂X ν j is zero (no link (j, ν) → (i, µ)) or not. In the true Jacobian, the absence of link would imply ∂F µ i /∂X ν j = 0 exactly. However, in our procedure, there are errors and thus, the elements of M [n∆t] are never zero. These errors are due to finite reservoir size, finite training data length, noise in the training data, and the Moore-Penrose inversion which, as we hypothesized, is useful but not exact.
Generally speaking, in past link inference methods, the common approach is to somehow obtain a time-independent, continuous-valued score S ij hopefully accurately reflecting the likelihood that node i is linked to j. Once the score is found, as is explained below, one can then choose an appropriate statistical technique for translating the score into a good binary choice of whether or not i → j corresponds to an actual link. In essence, the key goal of our paper is to use machine learning to obtain good scores, and for that purpose we will use our machine learning determination of M.
To form an appropriate score corresponding to each of the time-dependent elements M ij , we use S ij ≡ |M ij | t where t denotes time-averaging over a time sufficiently long that the scores S ij do not change appreciably upon, e.g., doubling the averaging time. In our tests (Sec. 4), the averaging time is 1000∆t. Here the absolute value of M ij is to be taken so that the positive and negative values do not cancel each other while doing the time averaging. If this assigned score S ij is above a threshold for a particular element M ij , we assume that there is a network link corresponding to that element, and if the score is less than a threshold, we assume that the corresponding network link is absent.
With the scores S ij defined and calculated, choosing the threshold is a well-known problem of binary categorization of a collection of continuous numerical scores. Since obtaining a useful score for the network link inference is the goal of our machine-learning-based methodology, we regard a detailed discussion of thresholding or other follow-up statistical analysis of the obtained scores to be beyond the scope of this work. We comment only that once the scores S ij are found, one can then choose an appropriate statistical technique for translating the score into a good binary choice. This choice will depend on circumstances that are specific to the situation at hand (e.g., the cost of false positive link choice versus the cost of a false negative link choice). This is a basic problem in statistics and addressed extensively in earlier works with methods such as Receiver Operating Characteristic curves [74,75], Precision-Recall curves [74,75], fitting to mixtures of statistical distributions [74], Bayesian techniques [74], etc. A recent paper [76] has proposed a binary classification technique specifically designed for network inference purposes.
To avoid the details of the statistical methodologies, we adopt a procedure which is simple but sufficient for the purpose of evaluating the goodness of the scores of candidate links resulting from our link inference method. Thus we shall henceforth assume that we know the total number of links (denoted by L) in the unknown network and shall designate the largest L scores S ij as corresponding to inferred network links, while those M ij with scores below the largest L scores will be inferred to not correspond to network links.
The performance of this link inference technique will be measured by the corresponding number of falsely inferred links ("false positives"). Since we assume that we know the total number of links, the number of falsely inferred links is also equal to the number of missed links ("false negatives"). As we will show below, this method, applied to our machine-learning-determined scores, can produce excellent results in link inference tasks over a wide range of coupling strengths, network topologies, and noise levels. While in practice, L may be unknown, and, depending on the situation, a user may wish to employ an appropriate statistical technique for making the above binary choice from our score, we claim that the results we obtained with L assumed known indicate the value of our technique for score determination, without having to introduce and discuss more involved methods and their appropriateness in different situations (e.g., precision-recall is more appropriate for sparse networks than Receiver Operating Characteristic [75] An opto-electronic oscillator essentially consists of a nonlinearity whose output is fed back into its input with some feedback time delay τ f . This feedback delay τ f is inherent to the oscillator, and without it, the system would have no dynamical behavior. A description of one of our opto-electronic oscillators follows: A fiber-coupled continuous-wave laser emits light of constant intensity. The light passes through an intensity modulator, which serves as the nonlinearity in the feedback loop and can be modeled by cos 2 (πv/2V π ) where v is the voltage applied to the modulator. For our modulators V π = 3.4V. The feedback optical signal is converted to an electrical signal by a photodiode, which is then delayed and filtered by a digital signal processing (DSP) board (Texas Instruments TMS320C6713). This signal is output by the DSP board, amplified, and fed back to drive the modulator. The normalized voltage x(t) ≡ πv(t)/2V π applied to the intensity modulator is measured and is our dynamical variable. If there were no DSP board, the delay would be controlled by the optical fiber length and the filtering would be done by the analog electronic components, such as the amplifier. The DSP board simply provides enhanced control over the delay and filter parameters.
In general, when one couples two oscillators together, a coupling delay will be induced by the finite propagation time of the signal. That coupling delay becomes important when it is not too much shorter than the fastest system time scale. This is the case for our network of coupled opto-electronic oscillators. In general, for a network of oscillators with L links, there will be L different coupling delays. We use the notation τ c ij to refer to the coupling delay in the link from node j to node i. In our experiments, we choose all the coupling delays to be identical, such that τ c ij = τ c (heterogeneous delays are considered in An illustration of a single networked opto-electronic oscillator is shown in Fig. 2. In order to couple the opto-electronic oscillator to other nodes in the network, a 1 × 4 fiber optic splitter is introduced after the intensity modulator. One of the optical outputs of the splitter is fed back into that node's DSP board, creating a self-feedback electrical signal.
The other three splitter outputs are sent to the other three nodes in the network. Incoming optical signals from the other nodes pass through variable optical attenuators, which control the link strengths, then are combined by a 3x1 fiber optic combiner. This combined optical signal is converted into a coupling electrical signal by a second photodiode. The amplifier gain is set such that each feedback loop has identical round-trip gain β = 3.8, phase bias φ 0 = π/4, and feedback time delay τ f = 1.4 ms such that a single uncoupled node behaves chaotically. The digital filter implemented by the DSP board is a two-pole Butterworth bandpass filter with cutoff frequencies ω H /2π = 100 Hz and ω L /2π = 2.5 kHz and a sampling rate of 24 kSamples/s. These parameters were chosen because the experimental system with these parameters has been well-characterized [65][66][67][68].
For each set of measurements, the nodes are initialized from noise from the electrical signal into the digital signal processing (DSP) board. Then feedback is turned on without coupling, and the opto-electronic oscillators are allowed to oscillate independently until transients die out. At the end of this period, the coupling to the other nodes is turned on and the voltage reading x(t) of each opto-electronic oscillator is recorded on an oscilloscope.

Mathematical Model and Numerical Simulations of the Opto-Electronic Network
The equations governing the dynamics of our network of opto-electronic oscillators are derived in Ref. [77] and are given by where Here T (corresponding to D s = 2 in Eq. (2)) is the state of the digital filter of node i (with i, j ∈ {1, 2, 3, 4}, corresponding to D n = 4). By virtue of the second component of G being zero, coupling between nodes occurs only between X 1 i and In our experiments, we choose all the feedback delays and coupling delays to be nominally equal (i.e., τ f = τ c ij = τ ). In this case, Eq. 10 describes a network with Laplacian coupling: In this case the nodes are coupled via the Laplacian connectivity matrix L ij , defined so Laplacian coupling tends to lead to global synchronization, which is a particularly challenging case for link inference, as we show in the following sections.
Since the coupling is between only the first components of the vectors X i , we have dropped the component indices in the Laplacian adjacency matrix in Eq. (10). Comparison with Eq. 1 shows that in our example,  Fig. 4, and is adapted from Ref. [65]. Figure 5 shows the synchronization behavior of these networks as a function of the coupling strength for fixed β = 3.8 and φ 0 = π/4. In Fig. 5, the color coded synchronization error for each of the 62 networks in Fig. 4 is shown as one of the 62 horizontal bars for each value of the coupling strength. Here, the convention we follow is that, for fixed number of links (L), moving upwards, the horizontal bars correspond to the networks listed in Fig. 4 left to right. The same convention is followed in Figs. 6, 7 and 10. The results in Fig. 5 were obtained from numerical simulations without noise (κ = 0). We see that for intermediate coupling strengths, the networks synchronize, but for small and large coupling strengths, the networks do not synchronize. The seemingly counterintuitive behavior that large coupling strengths lead to desynchronization has been studied for our network of opto-electronic oscillators [68] and is characteristic of delay coupled systems in general [80]. Furthermore, for coupling strengths in the range > 0.5, for a fixed value of coupling strength, sparser networks are seen to synchronize more readily than densely connected networks. This behavior is also studied and explained in earlier works [68,81].  Fig. 4 realized with opto-electronic oscillator nodes with different coupling strengths for random initial conditions.The color coded synchronization error for each of the 62 networks in Fig. 4 is shown as one of the 62 horizontal bars for each value of the coupling strength.
Here, the convention we follow is that, for fixed number of links (L), moving upwards, the horizontal bars correspond to the networks listed in Fig. 4 left to right. The same convention is followed in Figs. 6, 7 and 10.

Results of Link Inference Tests
In this section, we present tests of the efficacy of our machine learning technique. These include numerical simulation tests for simulations with homogeneous link delays (Sec.

Performance on Simulated Data -Homogeneous Delays
In this section, we test our methodology on simulated time series for our coupled optoelectronic oscillator networks where links have identical delays. We will use these simulation tests to study the effects of noise and coupling strength on the amount of synchrony in the system, and their effect on the performance of link inference tasks. In particular, in Sec. 3.2 we showed that our opto-electronic oscillator networks show synchronized dynamics for certain ranges of the coupling strength . As we will now show, our method works excellently when the system dynamics does not show pronounced global synchrony, while it does not work well when there is pronounced global synchrony. Furthermore, we will show that our technique gives excellent results when there is a small amount of dynamical noise present so that the global synchrony among the opto-electronic oscillators is appreciably broken.
In order to directly demonstrate the effect of loss of synchrony on link inference, we vary the noise level and coupling strength in the following two sets of examples. In the first synchronization error for simulated time series from different networks with progressively increasing noise. As described in the text, each horizontal cut of the plots represents a single trajectory of the system, starting from a random initial condition. The convention for sequence of the networks is the same as in Fig. 5. example set, the system starts with a random initial condition with no noise for 5 × 10 4 time steps (about 1470 delay times) and is allowed to settle down to an attractor. Then we continue the simulation, but with the noise strength κ set to 10 −6 for the next 5 × 10 4 steps, then with the noise strength set to κ = 10 −4 for the next 5 × 10 4 steps, and so on, keeping the coupling strength fixed at = 0.6 (Figs. 6(a) and 6(b)). As shown in Fig. 6(b), as the noise strength increases, it drives the system away from the attractor and disrupts its global synchrony, resulting in larger synchronization error, which allows better link inference performance, as shown in Fig. 6(a). In these figures, for each of the time series segments with a fixed noise strength, we use the first 3 × of the scores we typically get in our method. In Fig. 8(a), we have labeled individual scores into two types [those corresponding to actual network links (colored blue), and those corresponding to absence of links (colored red)] and plotted the scores with the respective synchronization errors in the network. We see that, in the cases with complete desynchronization, where we obtain perfect network inference with known L (as seen in Fig. 6(a)), it is also easy to predict a binary decision threshold on our scores (the top histogram, Fig. 8(b)). These scores separate into two distinct populations according to their magnitudes, with a gap in between them ( Fig. 8(b)), and the populations correspond to actual links or absence of links. In the cases for which Fig. 6a shows  Fig. 4) with = 0.6 and κ = 10 −3 , where, in determining the statistics, for each of the networks, we use a single random realization of the initial condition and reservoir couplings. In panel (a), for each individual directed node pair (i, j), i.e., each candidate link, a point is plotted in the sync-error/score plane with true links plotted in blue, and link absences denoted in red, with red overlaying blue. The two black horizontal lines divide the sync-error/score plane into three regions corresponding to networks that are highly desynchronized, moderately synchronized, and strongly synchronized. Panels two distinct histogram peaks (the middle histogram, Fig. 8(c)), so that one can expect good inference results in cases where L is not known by choosing a suitable threshold based on the shape of the histogram. However, when the histogram overlap is so great that two peaks are not discernible, we expect that the ability to infer links no longer exists (the bottom histogram, Fig. 8(d)). In Fig. 6a, this scenario corresponds to cases with a large number of false positives, even with a known L, because the network exhibits global synchrony.

Performance on Experimental Data
= 0.6 -0.9 To summarize our experimental results, consistent with the simulation results of Figs. 5 and 7, the time-series from the experimental opto-electronic oscillator networks (Fig. 9) were either globally well synchronized or else were strongly desynchronized, and, when strong desynchronization applied, our method correctly identified all of the links.

Performance on Simulated Data -Heterogeneous Delays
So far we have considered cases where the link time delays τ c ij in Eq.(1) are the same along all links (i.e.,τ c ij = τ ). We now present results on simulated data for which the link delays τ c ij are chosen randomly from a uniform distribution of mean τ 0 and width 2∆τ , where the mean link delay τ 0 is assumed known. We then apply our previously described method treating all links as if they had the same delay τ 0 , and assess the results as a function of the link delay heterogeneity, as characterized by the fractional spread 2∆τ /τ 0 of the link delays. We do this for all networks listed in Fig. 4. For purposes of discussion, we divide these networks into two categories: (1) networks for which we obtained perfect inference with homogeneous delays, and (2) networks for which synchronization hindered link inference performance with homogeneous delays (Fig. 6a). For a fixed mean delay time τ 0 (corresponding to k = 34 with τ 0 = k∆t), the results for different amounts of spread of the delay times ∆τ are plotted in Fig. 10. The results indicate that in case (1), we continue obtaining good results, with the average of maximum number of false positives around 1, if the heterogeneity of the spread in delays is not too large (Fig. 10a).
In case (2), we obtain better, and, in some cases perfect (i.e., zero false positives), results with moderate delay heterogeneity. This improvement can be attributed to a change in network dynamics: The heterogeneity of the link delays inhibits global synchronization, as is evident from the corresponding synchronization error plot of Fig. 10b Fig. 4, with = 0.6 and κ = 10 −6 , and different amounts of link delay heterogeneity, presented as the ratio of link delay variation range 2∆τ and mean link delay τ 0 . The results are based on simulated data with different network configurations, and different random link delays along the network links. In each case, the averaging is done over 100 different random realizations of reservoir connections, initial conditions and assignments of interaction delays to different links.

Discussion
In this work, we developed a reservoir-computer-based technique for the general problem of link inference of noisy delay-coupled networks from their nodal time series data and demonstrated the success of our method on simulated and experimental data from optoelectronic oscillator networks with identical and distributed link delay times. Our main findings are as follows: • Testing on experimental and simulated time-series datasets from networks, we found that, in the absence of dynamical noise, our method yields extremely good results, as long as there is no synchrony in the system.
• We found that dynamical noise and/or a moderate amount of link time delay heterogeneity can greatly enhance the performance of our method when synchrony is present provided that the noise amplitude or link time delay heterogeneity is large enough to perturb the synchrony.
• Since dynamical noise is ubiquitous in natural and experimental situations, we anticipate that this technique may be useful in network inference tasks relevant to fields like biochemistry, neuroscience, ecology, and economics.
Among the important issues for future investigation, our work in this paper could be extended to cases when the dynamics of the network nodal states are partially synchronized (e.g., cluster synchronization of nodes [87]) or display generalized synchronization [88][89][90][91].
Effects of network symmetries [87,92], non-uniform coupling [93], and non-identical nodes [94] -all of which can affect the synchrony of nodal states -would also be very interesting to study. Another important issue that awaits study is the effects of incomplete [95], or erroneous nodal state data [96,97] on link inference , e.g., a case of particular interest is that where measured nodal time series is only available from a subset of N < N of the N network nodes, and the value of N itself is unknown.

Acknowledgements
The authors would like to thank Thomas E. Murphy   series of the two nodes connected by that link. In particular, we show that the location of the peak of the cross-correlation between the two nodes provides a good estimate of the delay time. We also show that the cross-correlation cannot determine causality, because it cannot determine the direction of a given putative link, or if the link even exists at all.
Consider the network depicted in Fig. 11a, where each node is an opto-electronic oscillator as described in Sec. 3. The delay in each link is τ = 1.44ms. We define the cross-correlation between the sampled time series of two nodes i and j as First, we compute ρ 12 , the cross-correlation between node 1 and node 2, shown in Fig.   11b. A peak is located at -1.44ms. This corresponds to the delay in the link from node 1 to node 2. This suggests that the dynamics of node 2 lag behind the dynamics of node 1, as one might expect since the delayed link is from node 1 to node 2.
Next, we compute ρ 23 , the cross-correlation between node 2 and node 3, shown in Fig.   11c. The largest (negative, in this case) peak is located at 1.44ms, correctly identifying the absolute value of the delay time of the link from node 2 to node 3. However, in contrast to ρ 12 , the peak location in ρ 23 shows that node 3 leads node 2. There is no peak at a lag of -1.44ms. This shows that the cross-correlation can identify the delay time, but not the link direction.
We now consider ρ 24 . Nodes 2 and 4 have a bidirectional link; however, the crosscorrelation ρ 24 shown in Fig. 11d has a prominent peak at 1.44ms but not at -1.44ms.
There is no indication that the link is bidirectional.
Finally, we consider ρ 14 . There is no direct link between nodes 1 and 4. Still, the cross-correlation ρ 24 shown in Fig. 11e has peaks at both 1.44ms but at -1.44ms.
This example demonstrates that the cross-correlation can provide an accurate estimate of the duration of the delay in the coupling between two nodes, but that it does not provide sufficient information to determine the existence or directionality of a link. We find similar results in all the networks of opto-electronic oscillators we tested.
B Derivation of the discrete-time equation for simulating the opto-electronic system In this appendix, we derive the discrete-time equations implemented by the DSP board in our experimental setup and used in our simulations. These discrete-time equations are derived using standard techniques for approximating an analog filter as a digital filter and are essentially a trapezoid rule approximation to Eqs. 10 and 11.
The derivation here closely follows that presented in Ref. [77]. The missing details from Ref. [77] are filled in here, drawing from Ref. [98] for the details of the z-transform and bilinear transform.
The continuous-time filter equations that describe a two-pole bandpass filter are du(t) dt = Eu(t) − Fr(t) (B.1) Here, u(t) is a 2-vector that describes the state of the filter, r(t) is the filter input, and x(t) is the filter output. In the case of one of our opto-electronic oscillators r(t) = β cos 2 (x(t − τ ) + φ 0 ). In order to implement this filter digitally, one derives the digital Equation B.7 is the bilinear transform. This approximation is equivalent to applying the trapezoid rule to the continuous-time filter equations [98]. When Eq. B.7 is substituted into Eq. B.5, we obtain the transfer function for a discrete-time filter with similar characteristics to the desired analog filter: .
This change of variables is a nonlinear mapping, so frequency warping occurs. This effect is minimal when the frequencies are significantly less than the Nyquist frequency (in this case f L = 2.5kHz and the Nyquist frequency is 12kHz) and can be further mitigated by pre-warping the frequencies of the continuous-time filter by Ω = 2 T tan( ω 2 ), where Ω is the discrete-time frequency and ω is the continuous-time frequency [98]. Therefore, we find