{"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/exploiting-independent-instruments","title":"Exploiting Independent Instruments: Identification and Distribution Generalization","arxiv_id":"2202.01864","date":"2022-02-03","proceeding":null,"authors":["Sorawit Saengkyongam","Leonard Henckel","Niklas Pfister","Jonas Peters"],"abstract":"Instrumental variable models allow us to identify a causal function between covariates $X$ and a response $Y$, even in the presence of unobserved confounding. Most of the existing estimators assume that the error term in the response $Y$ and the hidden confounders are uncorrelated with the instruments $Z$. This is often motivated by a graphical separation, an argument that also justifies independence. Positing an independence restriction, however, leads to strictly stronger identifiability results. We connect to the existing literature in econometrics and provide a practical method called HSIC-X for exploiting independence that can be combined with any gradient-based learning procedure. We see that even in identifiable settings, taking into account higher moments may yield better finite sample results. Furthermore, we exploit the independence for distribution generalization. We prove that the proposed estimator is invariant to distributional shifts on the instruments and worst-case optimal whenever these shifts are sufficiently strong. These results hold even in the under-identified case where the instruments are not sufficiently rich to identify the causal function.","url_abs":"https://arxiv.org/abs/2202.01864v2","url_pdf":"https://arxiv.org/pdf/2202.01864v2.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":"exploiting-independent-instruments","repo_url":"https://github.com/sorawitj/hsic-x","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"econometrics","task_name":"Econometrics"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2202.01864","atlas_url":"https://app.syntology.ai/?focus=2202.01864","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.01864"}},"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/sorawitj/HSIC-X","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/simzim96/AnchorRegression","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sorawitj/hsic-x","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"ran":2,"ran_fixture":1,"ran_violates":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":5,"samples":[{"code_sha256_prefix":"8f248829afe8d32d","entry":"HSIC","repo":"sorawitj/hsic-x","repo_kind":"official","path":"models/hsicx.py","file_url":"https://github.com/sorawitj/hsic-x/blob/HEAD/models/hsicx.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8f248829afe8d32d"}},{"code_sha256_prefix":"aaa7433481615eb4","entry":"HSICXBase","repo":"sorawitj/hsic-x","repo_kind":"official","path":"models/hsicx.py","file_url":"https://github.com/sorawitj/hsic-x/blob/HEAD/models/hsicx.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":"aaa7433481615eb4"}},{"code_sha256_prefix":"7185d5233ffe8385","entry":"Kernels","repo":"sorawitj/hsic-x","repo_kind":"official","path":"models/hsicx.py","file_url":"https://github.com/sorawitj/hsic-x/blob/HEAD/models/hsicx.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":"7185d5233ffe8385"}},{"code_sha256_prefix":"b1d93b571231218a","entry":"generate_data","repo":"sorawitj/hsic-x","repo_kind":"official","path":"experiments/distribution_generalization.py","file_url":"https://github.com/sorawitj/hsic-x/blob/HEAD/experiments/distribution_generalization.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":"b1d93b571231218a"}},{"code_sha256_prefix":"7b5d23edea0e6753","entry":"to_torch","repo":"sorawitj/hsic-x","repo_kind":"official","path":"models/hsicx.py","file_url":"https://github.com/sorawitj/hsic-x/blob/HEAD/models/hsicx.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7b5d23edea0e6753"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}