{"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/causal-modeling-with-stationary-diffusions","title":"Causal Modeling with Stationary Diffusions","arxiv_id":"2310.17405","date":"2023-10-26","proceeding":null,"authors":["Lars Lorch","Andreas Krause","Bernhard Schölkopf"],"abstract":"We develop a novel approach towards causal inference. Rather than structural equations over a causal graph, we learn stochastic differential equations (SDEs) whose stationary densities model a system's behavior under interventions. These stationary diffusion models do not require the formalism of causal graphs, let alone the common assumption of acyclicity. We show that in several cases, they generalize to unseen interventions on their variables, often better than classical approaches. Our inference method is based on a new theoretical result that expresses a stationarity condition on the diffusion's generator in a reproducing kernel Hilbert space. The resulting kernel deviation from stationarity (KDS) is an objective function of independent interest.","url_abs":"https://arxiv.org/abs/2310.17405v2","url_pdf":"https://arxiv.org/pdf/2310.17405v2.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":"causal-modeling-with-stationary-diffusions","repo_url":"https://github.com/larslorch/stadion","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"causal-inference","task_name":"Causal Inference"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.17405","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.17405"}},"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/larslorch/stadion","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":"196fb2ff8720a4ef","entry":"retrieve_ave","repo":"larslorch/stadion","repo_kind":"official","path":"stadion/utils.py","file_url":"https://github.com/larslorch/stadion/blob/HEAD/stadion/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":"196fb2ff8720a4ef"}},{"code_sha256_prefix":"b04888b64909a56d","entry":"structured_py_function","repo":"larslorch/stadion","repo_kind":"official","path":"stadion/data.py","file_url":"https://github.com/larslorch/stadion/blob/HEAD/stadion/data.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":"b04888b64909a56d"}},{"code_sha256_prefix":"6cfb97c1fd0bf59d","entry":"to_diag","repo":"larslorch/stadion","repo_kind":"official","path":"stadion/utils.py","file_url":"https://github.com/larslorch/stadion/blob/HEAD/stadion/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":"6cfb97c1fd0bf59d"}},{"code_sha256_prefix":"27a3aa38c1ef4526","entry":"update_ave","repo":"larslorch/stadion","repo_kind":"official","path":"stadion/utils.py","file_url":"https://github.com/larslorch/stadion/blob/HEAD/stadion/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":"27a3aa38c1ef4526"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}