networksns.statistical_models.dar_tgrg

networksns.statistical_models.dar_tgrg(time_series, tol=0.01, maxit=100.0)

Estimate, by an expectation-maximization algorithm, the parameters of the Discrete Auto-Regressive Temporally Generalized Random Graph model (\(DAR\)-\(TGRG\)).

The \(DAR\)-\(TGRG\) model [1] 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, 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:
  • time_series (list) – List of symmetric adjacency matrices [\(A_1, \dots, A_T\)].

  • tol (float) – Relative error of the estimated parameters. Default: 1e-2.

  • maxit (integer) – Maximum number of iterations in the learning process. Default: 1e2.

Returns:

  • phi_0 (array) – Vector with the estimated values of the \({\varphi_0}_i\).

  • phi_1 (array) – Vector with the estimated values of \({\varphi_1}_i\),

  • sigma (array) – Vector with the estimated values of \(\sigma_i\),

  • theta_naive (array_like) – Matrix that in the entry \((i, t)\) has a naive estimation of the \(\theta_i^t\).

  • theta (array_like) – Matrix that in the entry \((i, t)\) has the estimated values of \(\theta_i^t\).

  • alpha (array_like) – Matrix with the estimated values of \(\alpha_{ij}\).

Examples

>>>  from networksns import statistical_models as sm
>>>  import numpy as np

Create temporal network

>>>    n = 60
>>>    T = 150
>>>    phi0 = np.ones(n) * 0.2
>>>    time_series = dar_tgrg_simulation(n, T, phi_0=phi0)

Estimate the \(DAR\)-\(TGRG\) model parameters

>>>    phi_0, phi_1, sigma, theta_naive, theta, alpha = sm.dar_tgrg(time_series)

References