netneurotools.spatial.local_gearys_c

netneurotools.spatial.local_gearys_c(annot, weight, use_sampvar=True)[source]

Calculate local Geary’s C for spatial autocorrelation.

Parameters:
  • annot (array-like, shape (n,)) – Array of annotations to calculate Geary’s C for.

  • weight (array-like, shape (n, n)) – Spatial weight matrix. Note that we do not explicitly check for symmetry in the weight matrix, nor zero-diagonal elements.

  • use_sampvar (bool, optional) – Whether to use sample variance (n - 1) in calculation. Default: True.

Returns:

local_gearys_c – Local Geary’s C values for the given annotations and weight matrix.

Return type:

array, shape (n,)

Notes

Local Geary’s C is calculated as:

\[C_i = \frac{w_{ij} (x_i - x_j)^2}{\sum_{j=1}^n w_{ij} (x_i - x_j)^2}\]

where \(n\) is the number of observations, \(w_{ij}\) is the spatial weight between observations \(i\) and \(j\), \(x_i\) is the annotation for observation \(i\), and \(\bar{x}\) is the mean annotation value.

The value can be tested using the R pacakge spdep:

x <- rnorm(100)
m <- matrix(runif(100*100), nrow=100)
localC(v, mat2listw(m))