{"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/automatic-integration-for-spatiotemporal-1","title":"Automatic Integration for Spatiotemporal Neural Point Processes","arxiv_id":"2310.06179","date":"2023-10-09","proceeding":"NeurIPS 2023 11","authors":["ZiHao Zhou","Rose Yu"],"abstract":"Learning continuous-time point processes is essential to many discrete event forecasting tasks. However, integration poses a major challenge, particularly for spatiotemporal point processes (STPPs), as it involves calculating the likelihood through triple integrals over space and time. Existing methods for integrating STPP either assume a parametric form of the intensity function, which lacks flexibility; or approximating the intensity with Monte Carlo sampling, which introduces numerical errors. Recent work by Omi et al. [2019] proposes a dual network approach for efficient integration of flexible intensity function. However, their method only focuses on the 1D temporal point process. In this paper, we introduce a novel paradigm: AutoSTPP (Automatic Integration for Spatiotemporal Neural Point Processes) that extends the dual network approach to 3D STPP. While previous work provides a foundation, its direct extension overly restricts the intensity function and leads to computational challenges. In response, we introduce a decomposable parametrization for the integral network using ProdNet. This approach, leveraging the product of simplified univariate graphs, effectively sidesteps the computational complexities inherent in multivariate computational graphs. We prove the consistency of AutoSTPP and validate it on synthetic data and benchmark real-world datasets. AutoSTPP shows a significant advantage in recovering complex intensity functions from irregular spatiotemporal events, particularly when the intensity is sharply localized. Our code is open-source at https://github.com/Rose-STL-Lab/AutoSTPP.","url_abs":"https://arxiv.org/abs/2310.06179v2","url_pdf":"https://arxiv.org/pdf/2310.06179v2.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":"automatic-integration-for-spatiotemporal-1","repo_url":"https://github.com/rose-stl-lab/autostpp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"point-processes","task_name":"Point Processes"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.06179","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.06179"}},"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/rose-stl-lab/autostpp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":15,"ran":9,"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":"1576d890af67a16b","entry":"adapt","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1576d890af67a16b"}},{"code_sha256_prefix":"0a0cc4dfd9666a82","entry":"func_to_fit","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/AutoInt.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/AutoInt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0a0cc4dfd9666a82"}},{"code_sha256_prefix":"4273f12350cbac18","entry":"gt","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4273f12350cbac18"}},{"code_sha256_prefix":"30fbe30e23a189c0","entry":"lamb_func","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/AlternatingMLE.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/AlternatingMLE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30fbe30e23a189c0"}},{"code_sha256_prefix":"b88c69bbb1b274cf","entry":"lamb_func","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/CorrectingMLE.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/CorrectingMLE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b88c69bbb1b274cf"}},{"code_sha256_prefix":"9a92dd455b5e3682","entry":"load_class","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/tune.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/tune.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9a92dd455b5e3682"}},{"code_sha256_prefix":"9d4910533c76cd3b","entry":"nll","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/AlternatingMLE.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/AlternatingMLE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9d4910533c76cd3b"}},{"code_sha256_prefix":"a7e351cdbfa22627","entry":"plus","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/CorrectingMLE.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/CorrectingMLE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a7e351cdbfa22627"}},{"code_sha256_prefix":"5af8fa537914ff3d","entry":"relu","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/CorrectingMLE.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/CorrectingMLE.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5af8fa537914ff3d"}},{"code_sha256_prefix":"db4be29409244983","entry":"chebyCoef","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/integration/cheb.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/integration/cheb.py","link_basis":"first_harvest_node","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":"db4be29409244983"}},{"code_sha256_prefix":"7c7d498c7c56d63e","entry":"chebyInt","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/integration/cheb.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/integration/cheb.py","link_basis":"first_harvest_node","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":"7c7d498c7c56d63e"}},{"code_sha256_prefix":"b6d4bf78825731b8","entry":"cli_main","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/tune.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/tune.py","link_basis":"first_harvest_node","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":"b6d4bf78825731b8"}},{"code_sha256_prefix":"afcce0d877252976","entry":"f_approx","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/integration/cheb.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/integration/cheb.py","link_basis":"first_harvest_node","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":"afcce0d877252976"}},{"code_sha256_prefix":"006cc07a52cd3b95","entry":"get_device","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","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":"006cc07a52cd3b95"}},{"code_sha256_prefix":"2a2010f87eabbc94","entry":"train","repo":"rose-stl-lab/autostpp","repo_kind":"official","path":"src/demo/AutoInt.py","file_url":"https://github.com/rose-stl-lab/autostpp/blob/HEAD/src/demo/AutoInt.py","link_basis":"first_harvest_node","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":"2a2010f87eabbc94"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}