netneurotools.stats.network_covariance

netneurotools.stats.network_covariance(joint_pmat, D, calc_marginal=True)[source]

Calculate covariance of a joint probability matrix on a graph.

Warning

Test before use.

Parameters:
  • joint_pmat ((N, N) array_like) – Joint probability matrix. Please make sure that it is valid.

  • D ((N, N) array_like) – Distance matrix.

  • calc_marginal (bool, optional) – Whether to calculate marginal variance. It will be marginally faster if calc_marginal=False (returning marginal variances as 0). Default: True

Returns:

  • network_covariance (float) – Covariance of joint_pmat on D

  • var_p (float) – Marginal variance of joint_pmat on D. Will be 0 if calc_marginal=False

  • var_q (float) – Marginal variance of joint_pmat on D. Will be 0 if calc_marginal=False

Notes

The network variance is defined as

\[cov(P) = \frac{1}{2} \sum_{i, j} [p(i) q(j) - P(i,j)] d^2(i,j)\]

where \(P\) is the joint probability matrix, \(p\) and \(q\) are the marginal probability distributions of joint_pmat, and \(d(i,j)\) is the distance between node \(i\) and \(j\).

Check network_variance() for usage.

References