networksns.statistical_models.dar_tgrg_simulation¶
- networksns.statistical_models.dar_tgrg_simulation(n, T, theta_0=None, phi_0=None, phi_1=None, sigma=None, alpha=None)¶
Simulate a temporal network following the Discrete Auto-Regressive Temporally Generalized Random Graph model (\(DAR\)-\(TGRG\)).
The \(DAR\)-\(TGRG\) model can be interpreted as a mixture of \(DAR\) and \(TGRG\) models where the persistence pattern associated with the copying mechanism of the \(DAR\) model coexists with the node fitnesses evolving in time according to the \(TGRG\) model.
In the \(DAR\)-\(TGRG\) model [1] with temporal network described by a time series of adjacency matrices \(\{A_{ij}^t\}_{i,j=1,\ldots, n}^{t=1,\ldots,s}\), each node is characterized by a latent variable \(\theta_i^t\), namely the fitness of the node, which evolves in time by following a covariance stationary autoregressive process \(AR(1)\):
\(\phantom{aaaaaaaaaaaaaaaaaaa}\theta_i^t = \varphi_{0,i} + \varphi_{1,i} \theta_i^{t-1} + \epsilon_i^t,\)
with \(\varphi_{0,i}\in \mathbb{R}\), \(|\varphi_{1,i}|<1\), and i.i.d. normal innovations \(\epsilon_i^t\sim \mathcal{N}(0, \sigma_i^2)\).
Then, the observation equation for the network snapshot at time \(t\) is given by \(\binom{N}{2}\) independent Bernoulli trials whose conditional probability is:
\(\phantom{aaaaaaaa}\mathbb{P}(A^t| \Theta^t, A^{t-1}, \mathbf{\alpha}) = \prod_{i<j}\left( \alpha_{ij}\mathbb{I}_{A^t_{ij}A^{t-1}_{ij}} + (1-\alpha_{ij}) \frac{e^{A^t_{ij}(\theta_i^t + \theta_j^t)}}{1 + e^{\theta_i^t + \theta_j^t}}\right),\)
where \(\Theta^t \equiv \{\theta_i^t\}_{i = 1, \dots, n}\) and \(\alpha \equiv \{\alpha_{ij}\}_{i,j = 1, \dots, n}\) with \(0<\alpha_{ij}<1\).
- Parameters:
n (integer) – Number of nodes in the graph.
T (integer) – Number of time snapshots.
theta_0 (array) – Vector with the values of \(\theta_i^0\). If it is set to ‘None’ the null vector is used. Default: ‘None’.
phi_0 (array) – Vector with the values of \({\varphi_0}_i\). If it is set to ‘None’ the vector of all 0.3 is used. Default: ‘None’.
phi_1 (array) – Vector with the values of \({\varphi_1}_i\). If it is set to ‘None’ the vector of all 0.5 is used. Default: ‘None’.
sigma (array) – Vector with the values of \({\sigma}_i\). If it is set to ‘None’ the vector of all 0.3 is used. Default: ‘None’.
alpha (array_like) – Matrix that in the entry \((i, j)\) has the value \(\alpha_{ij}\). If it is set to ‘None’ the matrix has 0.3 constant entries. Default ‘None’.
- Returns:
simulation: (list) Temporal network generated according to a \(DAR-TGRG\) model.
Examples
>>> from networksns import statistical_models as sm >>> import numpy as np
Define input parameters
>>> n = 50 >>> T = 100
Simulate the temporal network
>>> time_series = sm.dar_tgrg_simulation(n, T)
References