{"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/scalable-intervention-target-estimation-in","title":"Scalable Intervention Target Estimation in Linear Models","arxiv_id":"2111.07512","date":"2021-11-15","proceeding":"NeurIPS 2021 12","authors":["Burak Varici","Karthikeyan Shanmugam","Prasanna Sattigeri","Ali Tajer"],"abstract":"This paper considers the problem of estimating the unknown intervention targets in a causal directed acyclic graph from observational and interventional data. The focus is on soft interventions in linear structural equation models (SEMs). Current approaches to causal structure learning either work with known intervention targets or use hypothesis testing to discover the unknown intervention targets even for linear SEMs. This severely limits their scalability and sample complexity. This paper proposes a scalable and efficient algorithm that consistently identifies all intervention targets. The pivotal idea is to estimate the intervention sites from the difference between the precision matrices associated with the observational and interventional datasets. It involves repeatedly estimating such sites in different subsets of variables. The proposed algorithm can be used to also update a given observational Markov equivalence class into the interventional Markov equivalence class. Consistency, Markov equivalency, and sample complexity are established analytically. Finally, simulation results on both real and synthetic data demonstrate the gains of the proposed approach for scalable causal structure recovery. Implementation of the algorithm and the code to reproduce the simulation results are available at \\url{https://github.com/bvarici/intervention-estimation}.","url_abs":"https://arxiv.org/abs/2111.07512v1","url_pdf":"https://arxiv.org/pdf/2111.07512v1.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":"scalable-intervention-target-estimation-in","repo_url":"https://github.com/bvarici/intervention-estimation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2111.07512","atlas_url":"https://app.syntology.ai/?focus=2111.07512","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.07512"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/bvarici/intervention-estimation","reach":null}],"summary":{"ran_draft_wrong":2,"ran_fixture":3,"ran_violates":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"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":8,"samples":[{"code_sha256_prefix":"e81844232c2b0519","entry":"Delta_Theta_func","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e81844232c2b0519"}},{"code_sha256_prefix":"484939064a643ab2","entry":"build_descendants_sample","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"484939064a643ab2"}},{"code_sha256_prefix":"cfd1c964869d908a","entry":"compute_objective","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cfd1c964869d908a"}},{"code_sha256_prefix":"593c6cae7dcb62e2","entry":"diff_marginal_noise_sample_direct","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"593c6cae7dcb62e2"}},{"code_sha256_prefix":"7c10073b573a05d9","entry":"post_parent_sample","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7c10073b573a05d9"}},{"code_sha256_prefix":"3355d464d5d1d00a","entry":"prune_sample","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3355d464d5d1d00a"}},{"code_sha256_prefix":"4bb241595e7055f8","entry":"soft_thresholding","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4bb241595e7055f8"}},{"code_sha256_prefix":"5d240725615d38c5","entry":"algorithm_sample","repo":"bvarici/intervention-estimation","repo_kind":"official","path":"functions.py","file_url":"https://github.com/bvarici/intervention-estimation/blob/HEAD/functions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d240725615d38c5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}