{"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/doubly-robust-identification-of-treatment","title":"Doubly robust identification of treatment effects from multiple environments","arxiv_id":"2503.14459","date":"2025-03-18","proceeding":null,"authors":["Piersilvio De Bartolomeis","Julia Kostin","Javier Abad","Yixin Wang","Fanny Yang"],"abstract":"Practical and ethical constraints often require the use of observational data for causal inference, particularly in medicine and social sciences. Yet, observational datasets are prone to confounding, potentially compromising the validity of causal conclusions. While it is possible to correct for biases if the underlying causal graph is known, this is rarely a feasible ask in practical scenarios. A common strategy is to adjust for all available covariates, yet this approach can yield biased treatment effect estimates, especially when post-treatment or unobserved variables are present. We propose RAMEN, an algorithm that produces unbiased treatment effect estimates by leveraging the heterogeneity of multiple data sources without the need to know or learn the underlying causal graph. Notably, RAMEN achieves doubly robust identification: it can identify the treatment effect whenever the causal parents of the treatment or those of the outcome are observed, and the node whose parents are observed satisfies an invariance assumption. Empirical evaluations on synthetic and real-world datasets show that our approach outperforms existing methods.","url_abs":"https://arxiv.org/abs/2503.14459v1","url_pdf":"https://arxiv.org/pdf/2503.14459v1.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":"doubly-robust-identification-of-treatment","repo_url":"https://github.com/jaabmar/RAMEN","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"causal-inference","task_name":"Causal Inference"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2503.14459","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.14459"}},"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/jaabmar/RAMEN","reach":null}],"summary":{"ran":1,"ran_fixture":1,"ran_honours":2,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":5,"ran":5,"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":"fc03fd1ee638b0eb","entry":"Ramen","repo":"jaabmar/RAMEN","repo_kind":"official","path":"RAMEN/models/ramen.py","file_url":"https://github.com/jaabmar/RAMEN/blob/HEAD/RAMEN/models/ramen.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":"fc03fd1ee638b0eb"}},{"code_sha256_prefix":"22dfbca033058bee","entry":"compute_cross_statistic","repo":"jaabmar/RAMEN","repo_kind":"official","path":"RAMEN/models/ramen.py","file_url":"https://github.com/jaabmar/RAMEN/blob/HEAD/RAMEN/models/ramen.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"22dfbca033058bee"}},{"code_sha256_prefix":"646c931bac67bc22","entry":"construct_cross_kernel_matrix","repo":"jaabmar/RAMEN","repo_kind":"official","path":"RAMEN/models/ramen.py","file_url":"https://github.com/jaabmar/RAMEN/blob/HEAD/RAMEN/models/ramen.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"646c931bac67bc22"}},{"code_sha256_prefix":"1c4221b5f7ba7e83","entry":"gaussian_kernel","repo":"jaabmar/RAMEN","repo_kind":"official","path":"RAMEN/models/ramen.py","file_url":"https://github.com/jaabmar/RAMEN/blob/HEAD/RAMEN/models/ramen.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1c4221b5f7ba7e83"}},{"code_sha256_prefix":"3e997d59c0fc8553","entry":"generate_subsets","repo":"jaabmar/ramen","repo_kind":"official","path":"RAMEN/models/ramen.py","file_url":"https://github.com/jaabmar/ramen/blob/HEAD/RAMEN/models/ramen.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e997d59c0fc8553"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}