{"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/linear-causal-representation-learning-from","title":"Linear Causal Representation Learning from Unknown Multi-node Interventions","arxiv_id":"2406.05937","date":"2024-06-09","proceeding":null,"authors":["Burak Varici","Emre Acartürk","Karthikeyan Shanmugam","Ali Tajer"],"abstract":"Despite the multifaceted recent advances in interventional causal representation learning (CRL), they primarily focus on the stylized assumption of single-node interventions. This assumption is not valid in a wide range of applications, and generally, the subset of nodes intervened in an interventional environment is fully unknown. This paper focuses on interventional CRL under unknown multi-node (UMN) interventional environments and establishes the first identifiability results for general latent causal models (parametric or nonparametric) under stochastic interventions (soft or hard) and linear transformation from the latent to observed space. Specifically, it is established that given sufficiently diverse interventional environments, (i) identifiability up to ancestors is possible using only soft interventions, and (ii) perfect identifiability is possible using hard interventions. Remarkably, these guarantees match the best-known results for more restrictive single-node interventions. Furthermore, CRL algorithms are also provided that achieve the identifiability guarantees. A central step in designing these algorithms is establishing the relationships between UMN interventional CRL and score functions associated with the statistical models of different interventional environments. Establishing these relationships also serves as constructive proof of the identifiability guarantees.","url_abs":"https://arxiv.org/abs/2406.05937v2","url_pdf":"https://arxiv.org/pdf/2406.05937v2.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":"linear-causal-representation-learning-from","repo_url":"https://github.com/acarturk-e/umni-crl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":null,"task_name":"valid"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.05937","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.05937"}},"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/acarturk-e/umni-crl","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":5,"ran_violates":1},"by_repo_kind":{"official":{"samples":6,"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":0,"samples":[{"code_sha256_prefix":"3f5ee2f42ba4ec90","entry":"divide_by_gcd_matrix","repo":"acarturk-e/umni-crl","repo_kind":"official","path":"utils/umn.py","file_url":"https://github.com/acarturk-e/umni-crl/blob/HEAD/utils/umn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3f5ee2f42ba4ec90"}},{"code_sha256_prefix":"94a96424f29272d7","entry":"find_all_top_order","repo":"acarturk-e/umni-crl","repo_kind":"official","path":"utils/dag.py","file_url":"https://github.com/acarturk-e/umni-crl/blob/HEAD/utils/dag.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"94a96424f29272d7"}},{"code_sha256_prefix":"7c81b7fcf97d3dac","entry":"generate_alternating_range","repo":"acarturk-e/umni-crl","repo_kind":"official","path":"utils/umn.py","file_url":"https://github.com/acarturk-e/umni-crl/blob/HEAD/utils/umn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7c81b7fcf97d3dac"}},{"code_sha256_prefix":"4ef279a94a85bf35","entry":"setminus","repo":"acarturk-e/umni-crl","repo_kind":"official","path":"umni_crl.py","file_url":"https://github.com/acarturk-e/umni-crl/blob/HEAD/umni_crl.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4ef279a94a85bf35"}},{"code_sha256_prefix":"b8ef02a58fe7442d","entry":"topological_order","repo":"acarturk-e/umni-crl","repo_kind":"official","path":"utils/dag.py","file_url":"https://github.com/acarturk-e/umni-crl/blob/HEAD/utils/dag.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b8ef02a58fe7442d"}},{"code_sha256_prefix":"dc7472de529afba3","entry":"transitive_closure","repo":"acarturk-e/umni-crl","repo_kind":"official","path":"utils/dag.py","file_url":"https://github.com/acarturk-e/umni-crl/blob/HEAD/utils/dag.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dc7472de529afba3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}