{"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/efficient-adjustment-for-complex-covariates","title":"Efficient adjustment for complex covariates: Gaining efficiency with DOPE","arxiv_id":"2402.12980","date":"2024-02-20","proceeding":null,"authors":["Alexander Mangulad Christgau","Niels Richard Hansen"],"abstract":"Covariate adjustment is a ubiquitous method used to estimate the average treatment effect (ATE) from observational data. Assuming a known graphical structure of the data generating model, recent results give graphical criteria for optimal adjustment, which enables efficient estimation of the ATE. However, graphical approaches are challenging for high-dimensional and complex data, and it is not straightforward to specify a meaningful graphical model of non-Euclidean data such as texts. We propose an general framework that accommodates adjustment for any subset of information expressed by the covariates. We generalize prior works and leverage these results to identify the optimal covariate information for efficient adjustment. This information is minimally sufficient for prediction of the outcome conditionally on treatment. Based on our theoretical results, we propose the Debiased Outcome-adapted Propensity Estimator (DOPE) for efficient estimation of the ATE, and we provide asymptotic results for the DOPE under general conditions. Compared to the augmented inverse propensity weighted (AIPW) estimator, the DOPE can retain its efficiency even when the covariates are highly predictive of treatment. We illustrate this with a single-index model, and with an implementation of the DOPE based on neural networks, we demonstrate its performance on simulated and real data. Our results show that the DOPE provides an efficient and robust methodology for ATE estimation in various observational settings.","url_abs":"https://arxiv.org/abs/2402.12980v1","url_pdf":"https://arxiv.org/pdf/2402.12980v1.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":"efficient-adjustment-for-complex-covariates","repo_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.12980","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.12980"}},"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/alexanderchristgau/outcomeadaptedadjustment","reach":{"status":"ok"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":9,"samples":[{"code_sha256_prefix":"117d0d7d70b19d92","entry":"average_over_settings","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"plot_utils.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/plot_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"117d0d7d70b19d92"}},{"code_sha256_prefix":"5e9141b5960666c9","entry":"compute_ATE","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"samplescheme.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/samplescheme.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5e9141b5960666c9"}},{"code_sha256_prefix":"e430bc3e621fb709","entry":"compute_IM","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"samplescheme.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/samplescheme.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e430bc3e621fb709"}},{"code_sha256_prefix":"95a71573f9696801","entry":"compute_wald","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"plot_utils.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/plot_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"95a71573f9696801"}},{"code_sha256_prefix":"9ffb5736a7b8605a","entry":"create_classifier","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"estimators.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/estimators.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9ffb5736a7b8605a"}},{"code_sha256_prefix":"aa9cf4b099a2568a","entry":"create_regressor","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"estimators.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/estimators.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aa9cf4b099a2568a"}},{"code_sha256_prefix":"6b9982acee7befb9","entry":"sample_idx","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"samplescheme.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/samplescheme.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6b9982acee7befb9"}},{"code_sha256_prefix":"0a73fd074470cf8d","entry":"to_long_format","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"plot_utils.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/plot_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0a73fd074470cf8d"}},{"code_sha256_prefix":"a716f7a1e1c48f8f","entry":"unadjusted","repo":"alexanderchristgau/outcomeadaptedadjustment","repo_kind":"official","path":"estimators.py","file_url":"https://github.com/alexanderchristgau/outcomeadaptedadjustment/blob/HEAD/estimators.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a716f7a1e1c48f8f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}