GETS: Ensemble Temperature Scaling for Calibration in Graph Neural Networks
Dingyi Zhuang, Chonghe Jiang, Yunhan Zheng, Shenhao Wang, Jinhua Zhao
TL;DR
This work tackles the challenge of miscalibrated probabilities in graph neural networks by introducing GETS, a Graph Ensemble Temperature Scaling framework that blends input and model ensembles within a Graph MoE to achieve node-wise calibration. GETS jointly leverages multiple information sources—logits, node features, and degree information—through specialized calibration experts and a sparse gating mechanism that selects the most relevant experts per node. Empirically, GETS reduces the expected calibration error by about $25\%$ across 10 GNN benchmark datasets and demonstrates scalability, outperforming state-of-the-art methods such as CaGCN, GATS, and ETS, with some exceptions on certain datasets. The approach also provides insights into expert selection, input ablations, and potential fairness benefits across degree groups, highlighting practical impact for reliable uncertainty estimates in graph-based predictions.
Abstract
Graph Neural Networks deliver strong classification results but often suffer from poor calibration performance, leading to overconfidence or underconfidence. This is particularly problematic in high stakes applications where accurate uncertainty estimates are essential. Existing post hoc methods, such as temperature scaling, fail to effectively utilize graph structures, while current GNN calibration methods often overlook the potential of leveraging diverse input information and model ensembles jointly. In the paper, we propose Graph Ensemble Temperature Scaling, a novel calibration framework that combines input and model ensemble strategies within a Graph Mixture of Experts archi SOTA calibration techniques, reducing expected calibration error by 25 percent across 10 GNN benchmark datasets. Additionally, GETS is computationally efficient, scalable, and capable of selecting effective input combinations for improved calibration performance. The implementation is available via Github.
