SAIL: A Learnable Generalisation of Spatial Autocorrelation over Graph-Structured Data
Organizations: Predictive Systems in Biomedicine (PRISM) Lab, Department of Computer Science, University of Warwick, Coventry CV4 7AL, United Kingdom
Abstract
In vision and scientific domains involving spatial data, a key question is whether node feature values vary independently across space or form coherent spatial structures. Classical spatial autocorrelation statistics such as Moran's and Geary's quantify this phenomenon but operate on a single scalar variable with fixed neighbourhood weights, limiting their use for high-dimensional graph-like data. We introduce SAIL (Spatial Autocorrelation Index Learner), a differentiable framework that generalises spatial autocorrelation into a learnable operator by jointly learning feature projections defining candidate scalar fields and inter-node neighbourhood affinities. SAIL produces interpretable local and global spatial coherence descriptors, enabling supervised prediction and unsupervised discovery of spatial autocorrelation modes and hotspots. We show that SAIL exactly recovers classical spatial statistics under appropriate parametrisations and, for tasks driven by latent spatial autocorrelation, can approximate the Bayes-optimal predictor with an inductive bias matched to such tasks. Experiments on synthetic data and large-scale biomedical graphs demonstrate statistical correctness and discovery of spatial coherence with applications across vision, geospatial analysis, and biomedicine. The code repository is available at: https://github.com/pkeller00/SAIL.
Figures & tables
| Region/DICE Score | SAIL | Univariate | Mean | MULTISPATI | Hotspot |
| Nucleolus | |||||
| Endosomes/Golgi 1 | |||||
| Cell periphery 1 | |||||
| Cell periphery 2 |
| Model | AUC (95% CI) | Mann–Whitney ( -value) |
| SAIL (Mode 18) | 0.86 (0.64–1.00) | 0.005 |
| Favourable Niches | 0.78 (0.55–0.95) | 0.021 |
| PD-L1+ (untreated slide) | 0.78 (0.49–1.00) | 0.072 |
| PD-L1+ (all slides) | 0.69 (0.42–0.92) | 0.19 |
| Metric | SAIL | Univariate | Mean | MULTISPATI | Hotspot |
| C-Index | |||||
| RMST (days) | |||||
| HR (95% CI) | (1.45–18.89) | (0.15–1.31) | (0.98–10.08) | (1.03–10.56) | (1.36–17.59) |
| Log-rank -value |
| Model | AUC | AP |
| All features ( ) | ||
| SAIL | ||
| MesoGraph | ||
| PINS | ||
| Max-MIL | ||
| Interpretable features only ( ) | ||
Appendix figures & tables29 assets
Supplementary material from the paper’s appendix.
Appendix
| Compartment | Mode | LISA cluster | Dice |
| Nucleolus | Low–Low | ||
| Cell periphery 2 | Low–Low | ||
| Endosomes/Golgi 1 | High–High | ||
| Cell periphery 1 | Low–Low | ||
| Nucleus | High–High | ||
| ER/mitochondria 1 | High–High |
| Compartment | SAIL | Univ. | Mean | MULTISPATI | Hotspot |
| Nucleolus | (DAPI) | ||||
| Cell periphery 2 | (CRT) | ||||
| Endosomes/Golgi 1 | (SARA) | ||||
| Cell periphery 1 | (CRT) | ||||
| Nucleus | (PCNA) | ||||
| ER/mitochondria 1 | (ABCD3) |
| Mode | Med. | Med. | AUC | ||
| 18 | 0.692 | 0.556 | 0.864 | 95 | 0.005 |
| 11 | 0.589 | 0.554 | 0.809 | 89 | 0.018 |
| 4 | 0.588 | 0.513 | 0.791 | 87 | 0.027 |
| 8 | 0.634 | 0.541 | 0.782 | 86 | 0.032 |
| 14 | 0.638 | 0.549 | 0.773 | 85 | 0.038 |
| 7 | 0.611 | 0.519 | 0.764 | 84 | 0.045 |
| Mode | C-Index | RMST | |
| 1 | 0.68 | 213 | |
| 2 | 0.66 | 213 | |
| 3 | 0.52 | 288 | |
| 4 | 0.72 | 502 | |
| 5 | 0.68 | 482 | |
| 6 | 0.51 | -153 |
| TCGA-BRCA | TCGA-CRC | |||||||
| Mode | C-Index | HR (95% CI) | RMST | C-Index | HR (95% CI) | RMST | ||
| 1 | 0.64 | 2.39 (1.28–4.46) | 386 | 0.59 | 1.45 (0.91–2.30) | 102 | ||
| 2 | 0.55 | 1.26 (0.69–2.28) | 195 | 0.60 | 1.56 (0.98–2.48) | 653 | ||
| 3 | 0.58 | 1.37 (0.76–2.47) | 159 | 0.54 | 1.14 (0.72–1.80) | 107 | ||
| 4 | 0.57 | 1.80 (0.98–3.28) | 302 | 0.56 | 1.55 (0.98–2.47) | 365 | ||
| 5 | 0.54 | 1.13 (0.62–2.07) | 104 | 0.55 | 1.74 (1.09–2.79) | 689 | ||
| Covariate | C-Index | Log-rank -value | HR (high vs low) | RMST (low–high, days) |
| Mean aggregate | 0.68 | 0.04 | 3.15 | 362 |
| CD68 | 0.61 | 0.05 | 3.00 | 643 |
| CD4 | 0.69 | 0.13 | 2.28 | 385 |
| Grade | 0.61 | 0.13 | 2.20 | 393 |
| E-cadherin | 0.59 | 0.14 | 2.22 | 440 |
| CD3e | 0.63 | 0.15 | 2.18 | 460 |
| Covariate | C-Index | Log-rank -value | HR (high vs low) | RMST (low–high, months) |
| Mean aggregate | 0.59 | 0.01 | 1.58 | 10.4 |
| Endothelial cell | 0.58 | 0.02 | 1.57 | 11.8 |
| Lymphocyte | 0.59 | 0.06 | 1.42 | 7.2 |
| Cancer epithelial cell | 0.57 | 0.06 | 1.42 | 9.2 |
| Fibroblast | 0.57 | 0.07 | 1.41 | 7.5 |
| Normal epithelial cell | 0.55 | 0.26 | 1.23 | 0.9 |
| Train step (ms) | Inference (ms) | Peak mem. (GB) | Max. | ||
| Linear | none | ||||
| Orthogonal | none | ||||
| Linear | shared-map | ||||
| Orthogonal | shared-map | ||||
| Linear | query–key | ||||
| Orthogonal | query–key |
| Category | Setting | Mean Dice |
| 0 | 0.42 | |
| 1 † | 0.44 | |
| 5 | 0.42 | |
| 10 | 0.36 | |
| 100 | 0.32 | |
| 0 | 0.44 |
| Category | Setting | AUC (95% CI) | -value |
| 0 | 0.84 (0.62–1.00) | 0.010 | |
| 1 † | 0.86 (0.64–1.00) | 0.005 | |
| 5 | 0.82 (0.60–0.98) | 0.015 | |
| 10 | 0.75 (0.49–0.95) | 0.062 | |
| 100 | 0.78 (0.55–0.96) | 0.032 | |
| 0 | 0.84 (0.63–0.99) | 0.010 |
| Category | Setting | C-Index | -value | RMST |
| 0 | 0.67 | 0.001 | 365 | |
| 1 † | 0.64 | 0.005 | 386 | |
| 5 | 0.60 | 0.046 | 243 | |
| 10 | 0.60 | 0.464 | 96 | |
| 100 | 0.60 | 0.123 | 188 | |
| 0 | 0.62 | 0.020 | 347 |
| Category | Setting | C-Index | -value | RMST |
| 0 | 0.61 | 0.015 | 474 | |
| 1 † | 0.60 | 0.057 | 653 | |
| 5 | 0.60 | 0.091 | 178 | |
| 10 | 0.57 | 0.320 | 112 | |
| 100 | 0.57 | 0.021 | 373 | |
| 0 | 0.60 | 0.002 | 807 |
| Model | #Params | Pearson | MSE |
| SAIL (dense) | |||
| GCN (X, FC) | |||
| GCN (X+coords, FC) | |||
| GAT (X, FC) | |||
| GAT (X+coords, FC) | |||
| MLP (X) |
| SAIL | GCN | GAT | MLP | |