{"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/sparse-graph-learning-for-spatiotemporal-time","title":"Sparse Graph Learning from Spatiotemporal Time Series","arxiv_id":"2205.13492","date":"2022-05-26","proceeding":"NeurIPS 2023 11","authors":["Andrea Cini","Daniele Zambon","Cesare Alippi"],"abstract":"Outstanding achievements of graph neural networks for spatiotemporal time series analysis show that relational constraints introduce an effective inductive bias into neural forecasting architectures. Often, however, the relational information characterizing the underlying data-generating process is unavailable and the practitioner is left with the problem of inferring from data which relational graph to use in the subsequent processing stages. We propose novel, principled - yet practical - probabilistic score-based methods that learn the relational dependencies as distributions over graphs while maximizing end-to-end the performance at task. The proposed graph learning framework is based on consolidated variance reduction techniques for Monte Carlo score-based gradient estimation, is theoretically grounded, and, as we show, effective in practice. In this paper, we focus on the time series forecasting problem and show that, by tailoring the gradient estimators to the graph learning problem, we are able to achieve state-of-the-art performance while controlling the sparsity of the learned graph and the computational scalability. We empirically assess the effectiveness of the proposed method on synthetic and real-world benchmarks, showing that the proposed solution can be used as a stand-alone graph identification procedure as well as a graph learning component of an end-to-end forecasting architecture.","url_abs":"https://arxiv.org/abs/2205.13492v3","url_pdf":"https://arxiv.org/pdf/2205.13492v3.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":"sparse-graph-learning-for-spatiotemporal-time","repo_url":"https://github.com/andreacini/sparse-graph-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"inductive-bias","task_name":"Inductive Bias"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"},{"task_slug":"time-series-forecasting","task_name":"Time Series Forecasting"},{"task_slug":"time-series-prediction","task_name":"Time Series Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.13492","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.13492"}},"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/andreacini/sparse-graph-learning","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"1a9f9810e1989fa1","entry":"adjs_to_fc_edge_index","repo":"andreacini/sparse-graph-learning","repo_kind":"official","path":"lib/utils/utils.py","file_url":"https://github.com/andreacini/sparse-graph-learning/blob/HEAD/lib/utils/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a9f9810e1989fa1"}},{"code_sha256_prefix":"f0506440595596b4","entry":"all_perms","repo":"andreacini/sparse-graph-learning","repo_kind":"official","path":"lib/utils/distributions.py","file_url":"https://github.com/andreacini/sparse-graph-learning/blob/HEAD/lib/utils/distributions.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0506440595596b4"}},{"code_sha256_prefix":"9a3765f777c39e29","entry":"gumbel_log_survival","repo":"andreacini/sparse-graph-learning","repo_kind":"official","path":"lib/utils/distributions.py","file_url":"https://github.com/andreacini/sparse-graph-learning/blob/HEAD/lib/utils/distributions.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9a3765f777c39e29"}},{"code_sha256_prefix":"4b6920b87353639b","entry":"log1mexp","repo":"andreacini/sparse-graph-learning","repo_kind":"official","path":"lib/utils/distributions.py","file_url":"https://github.com/andreacini/sparse-graph-learning/blob/HEAD/lib/utils/distributions.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4b6920b87353639b"}},{"code_sha256_prefix":"a9f2bd7eebe763b0","entry":"soft_clip","repo":"andreacini/sparse-graph-learning","repo_kind":"official","path":"lib/utils/utils.py","file_url":"https://github.com/andreacini/sparse-graph-learning/blob/HEAD/lib/utils/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a9f2bd7eebe763b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}