AnchorGK

October 13, 2025 ยท View on GitHub

Hi, Welcome to the official repository of the AnchorGK paper:
"Anchor-based Incremental and Stratified Graph Learning Framework for Inductive Spatio-Temporal Kriging".

Comparison

Please note that OK, IDW and GHM are statistical approaches.
Among DL-based approaches, KCN, SSIN, INCREASE, STGNP and KITS exhibit limitations in effectively handling incomplete features across stations, accommodating spatially sparse observations, and operating in multivariate contexts.

The detailed comparisons can be found on:

๐Ÿ” Comparison of Spatial-Temporal Kriging and Graph-based Models

ModelStrata
Aware
InductiveIncrementalSparseIncompleteMulti-
variate
Effi-
ciency
StrengthsLimitations
OK
(Ordinary Kriging)
โœ—โœ—โœ—โœ—โœ—โœ—MedClassic baselineNot scalable; ignores heterogeneity
IDW
(Inverse Distance Weighting)
โœ—โœ—โœ—โœ—โœ—โœ—HighSimple; no trainingIgnores spatial correlation
GHM
(Generalised Heterogeneity Model)
โœ”โœ—โœ—โœ”โœ—โœ—MedStratified spatial modellingNon-inductive; fixed graph
KCNโœ—โœ—โœ—โœ—โœ—โœ—MedCNN-based spatial learningPoor on missing & multi-variate data
IGNNKโœ—โœ”โœ—โœ—โœ—โœ—HighInductive kriging via GNNNo strata; no missing data support
INCREASEโœ—โœ”โœ—โœ—โœ—โœ—MedGood generalisationNo sparse or multivariate input support
STGNPโœ—โœ”โœ—โœ—โœ—โœ”MedMultivariate TS modellingPoor handling of missing features
KITSโœ—โœ”โœ”โœ”โœ—โœ—LowHandles sparsity; incrementalBiased by pseudo-nodes
SSINโœ—โœ”โœ—โœ—โœ—โœ—MedLightweight spatial methodNo support for missing or multivariate
AnchorGK
(Proposed)
โœ”โœ”โœ”โœ”โœ”โœ”HighFull support for sparse,
incomplete, multivariate data
Scaling to larger graphs TBD

We also provide the comparison in the following figure:

Comparison.png

Introduction

AnchorGK is the advanced successor to KITS and SSIN in inductive spatio-temporal kriging. While these methods either depend on dense node-wise correlations or process features separately, they fail to effectively capture region-level structures and cross-feature dependencies in scenarios with spatial sparsity and incomplete features.

To overcome these limitations, AnchorGK introduces an incremental stratified spatial correlation component to model broad region-level spatial semantics and a dual-view graph learning layer to integrate cross-feature and cross-strata information. This design allows the framework to exploit diverse spatial and feature patterns, thereby achieving more accurate and robust inference in sparsely observed regions.

arch.png

To estimate Y\mathcal{Y}, AnchorGK employs two novel components: (1) Stratified Spatial Correlation Component (SSCC), which establishes the fine-grained estimation of spatial correlations between known locations and unknown locations; and (2) Dual-view Graph Learning Layer (GLL), which integrates the information from relevant features and locations for spatio-temporal kriging. Overall, AnchorGK outperforms all baseline models in terms of both RMSE and MAE across all datasets with statistical significance based on the post-hoc Nemenyi test.

Main results.png

The ablation study across three datasets has been conducted to show the effectiveness of Stratified Spatial Correlation Component (SSCC) and Graph learning Layer (GLL) in AnchorGK.

Ablation study.png

AnchorGK also enhance the kriging performance compared to the SOTA methods in the visualization of kriging performance.

Visualization.png

Also, the efficiency can be obtained by AnchorGK from the less training time giving the usage of subgraphs.

Time.png

Getting Started

Example

We use AnchorGK.ipynb to help better understand the architecture. We include the visualization of Stratified Spatial Correlation Component (SSCC) and Graph Learning Layer (GLL) component.

Environment Requirements

To get started, ensure you have Conda installed on your system and follow these steps to set up the environment:

conda create -n AnchorGK python=3.8
conda activate AnchorGK
pip install -r requirements.txt

Data Preparation

All the datasets needed for AnchorGK can be obtained from the [Google Drive] that introduced in previous works such as DAMR and FFA. Create a separate folder named ./dataset and place all the CSV files in this directory. Note: Place the CSV files or .npy file directly into this directory, such as "./dataset/ETTh1.csv"

Training Scripts

The training scripts for replicating the AnchorGK results are available at:

python main.py \
  --dataset UScoast \
  --file_path "data/UScoast_processed/UScoast_processed.npy" \
  --lat_file_path "data/UScoast_processed/Station_info_processed.csv" \
  --K 5 --num-subdivisions 5 --king-select 5 \
  --weight-scalar 0.2 --seed 42 \
  --out-dir outputs/UScoast_run1

Reproduction of the Main Results

You can reproduce the main results of AnchorGK with the following code.

conda create -n AnchorGK python=3.8
conda activate AnchorGK
pip install -r requirements.txt
sh ./scripts/run_anchor_gk.sh