{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/sauc-sparsity-aware-uncertainty-calibration","title":"SAUC: Sparsity-Aware Uncertainty Calibration for Spatiotemporal Prediction with Graph Neural Networks","arxiv_id":"2409.08766","date":"2024-09-13","proceeding":null,"authors":["Dingyi Zhuang","Yuheng Bu","Guang Wang","Shenhao Wang","Jinhua Zhao"],"abstract":"Quantifying uncertainty is crucial for robust and reliable predictions. However, existing spatiotemporal deep learning mostly focuses on deterministic prediction, overlooking the inherent uncertainty in such prediction. Particularly, highly-granular spatiotemporal datasets are often sparse, posing extra challenges in prediction and uncertainty quantification. To address these issues, this paper introduces a novel post-hoc Sparsity-awar Uncertainty Calibration (SAUC) framework, which calibrates uncertainty in both zero and non-zero values. To develop SAUC, we firstly modify the state-of-the-art deterministic spatiotemporal Graph Neural Networks (ST-GNNs) to probabilistic ones in the pre-calibration phase. Then we calibrate the probabilistic ST-GNNs for zero and non-zero values using quantile approaches.Through extensive experiments, we demonstrate that SAUC can effectively fit the variance of sparse data and generalize across two real-world spatiotemporal datasets at various granularities. Specifically, our empirical experiments show a 20\\% reduction in calibration errors in zero entries on the sparse traffic accident and urban crime prediction. Overall, this work demonstrates the theoretical and empirical values of the SAUC framework, thus bridging a significant gap between uncertainty quantification and spatiotemporal prediction.","url_abs":"https://arxiv.org/abs/2409.08766v1","url_pdf":"https://arxiv.org/pdf/2409.08766v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"sauc-sparsity-aware-uncertainty-calibration","repo_url":"https://github.com/AnonymousSAUC/SAUC","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"crime-prediction","task_name":"Crime Prediction"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"uncertainty-quantification","task_name":"Uncertainty Quantification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2409.08766","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.08766"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AnonymousSAUC/SAUC","reach":{"status":"ok"}}],"summary":{"ran":3,"ran_violates":2,"ran_draft_wrong":1,"unverified":5},"by_repo_kind":{"official":{"samples":11,"ran":6,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":11,"samples":[{"code_sha256_prefix":"96a81bc63aa914b9","entry":"accuracy_numerical","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"utils.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"96a81bc63aa914b9"}},{"code_sha256_prefix":"cd46e2daab25968b","entry":"accuracy_softmax","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"utils.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cd46e2daab25968b"}},{"code_sha256_prefix":"901bedf723a6f00d","entry":"asym_adj","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/GWN/util.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/GWN/util.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"901bedf723a6f00d"}},{"code_sha256_prefix":"e7b2e6a60daa42ca","entry":"calculate_normalized_laplacian","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/GWN/util.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/GWN/util.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e7b2e6a60daa42ca"}},{"code_sha256_prefix":"5386770c61c86483","entry":"masked_mse","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"utils.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5386770c61c86483"}},{"code_sha256_prefix":"9a7928795f74526c","entry":"sym_adj","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/GWN/util.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/GWN/util.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9a7928795f74526c"}},{"code_sha256_prefix":"a9a2b2572f105cf8","entry":"calibrate_model","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"sauc.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/sauc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a9a2b2572f105cf8"}},{"code_sha256_prefix":"2635b8fbfe12d9ff","entry":"generate_graph_seq2seq_io_data","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/GWN/generate_training_data.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/GWN/generate_training_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2635b8fbfe12d9ff"}},{"code_sha256_prefix":"1bdadc43945d3430","entry":"load_crash_data","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/STGCN/utils.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/STGCN/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bdadc43945d3430"}},{"code_sha256_prefix":"be13982b384bdef3","entry":"load_crime_data","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/STGCN/utils.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/STGCN/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"be13982b384bdef3"}},{"code_sha256_prefix":"e5732012d322d739","entry":"load_demand_data","repo":"AnonymousSAUC/SAUC","repo_kind":"official","path":"models/STGCN/utils.py","file_url":"https://github.com/AnonymousSAUC/SAUC/blob/HEAD/models/STGCN/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e5732012d322d739"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}