{"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/marrying-causal-representation-learning-with","title":"Marrying Causal Representation Learning with Dynamical Systems for Science","arxiv_id":"2405.13888","date":"2024-05-22","proceeding":null,"authors":["Dingling Yao","Caroline Muller","Francesco Locatello"],"abstract":"Causal representation learning promises to extend causal models to hidden causal variables from raw entangled measurements. However, most progress has focused on proving identifiability results in different settings, and we are not aware of any successful real-world application. At the same time, the field of dynamical systems benefited from deep learning and scaled to countless applications but does not allow parameter identification. In this paper, we draw a clear connection between the two and their key assumptions, allowing us to apply identifiable methods developed in causal representation learning to dynamical systems. At the same time, we can leverage scalable differentiable solvers developed for differential equations to build models that are both identifiable and practical. Overall, we learn explicitly controllable models that isolate the trajectory-specific parameters for further downstream tasks such as out-of-distribution classification or treatment effect estimation. We experiment with a wind simulator with partially known factors of variation. We also apply the resulting model to real-world climate data and successfully answer downstream causal questions in line with existing literature on climate change.","url_abs":"https://arxiv.org/abs/2405.13888v3","url_pdf":"https://arxiv.org/pdf/2405.13888v3.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":"marrying-causal-representation-learning-with","repo_url":"https://github.com/causallearningai/crl-dynamical-systems","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"aware","method_name":"AWARE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.13888","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.13888"}},"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":"deterministic:regex_extraction","url":"https://github.com/CausalLearningAI/crl-dynamical-systems","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/causallearningai/crl-dynamical-systems","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"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":"94be9d287d02d429","entry":"dct","repo":"CausalLearningAI/crl-dynamical-systems","repo_kind":"official","path":"marrying/src/utils/dct.py","file_url":"https://github.com/CausalLearningAI/crl-dynamical-systems/blob/HEAD/marrying/src/utils/dct.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":"94be9d287d02d429"}},{"code_sha256_prefix":"bc8799f7ea929072","entry":"evaluate_prediction","repo":"CausalLearningAI/crl-dynamical-systems","repo_kind":"official","path":"marrying/src/metrics/identifiability.py","file_url":"https://github.com/CausalLearningAI/crl-dynamical-systems/blob/HEAD/marrying/src/metrics/identifiability.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":"bc8799f7ea929072"}},{"code_sha256_prefix":"3b453ed72ac4623c","entry":"dct1","repo":"CausalLearningAI/crl-dynamical-systems","repo_kind":"official","path":"marrying/src/utils/dct.py","file_url":"https://github.com/CausalLearningAI/crl-dynamical-systems/blob/HEAD/marrying/src/utils/dct.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":"3b453ed72ac4623c"}},{"code_sha256_prefix":"fe57d6739f07a6af","entry":"idct1","repo":"CausalLearningAI/crl-dynamical-systems","repo_kind":"official","path":"marrying/src/utils/dct.py","file_url":"https://github.com/CausalLearningAI/crl-dynamical-systems/blob/HEAD/marrying/src/utils/dct.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":"fe57d6739f07a6af"}},{"code_sha256_prefix":"c777641e597bbeab","entry":"infonce_base_loss","repo":"CausalLearningAI/crl-dynamical-systems","repo_kind":"official","path":"marrying/src/utils/losses.py","file_url":"https://github.com/CausalLearningAI/crl-dynamical-systems/blob/HEAD/marrying/src/utils/losses.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":"c777641e597bbeab"}},{"code_sha256_prefix":"9d41b2149e408698","entry":"infonce_loss","repo":"CausalLearningAI/crl-dynamical-systems","repo_kind":"official","path":"marrying/src/utils/losses.py","file_url":"https://github.com/CausalLearningAI/crl-dynamical-systems/blob/HEAD/marrying/src/utils/losses.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":"9d41b2149e408698"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}