{"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/causalegm-a-general-causal-inference","title":"CausalEGM: a general causal inference framework by encoding generative modeling","arxiv_id":"2212.05925","date":"2022-12-08","proceeding":null,"authors":["Qiao Liu","Zhongren Chen","Wing Hung Wong"],"abstract":"Although understanding and characterizing causal effects have become essential in observational studies, it is challenging when the confounders are high-dimensional. In this article, we develop a general framework $\\textit{CausalEGM}$ for estimating causal effects by encoding generative modeling, which can be applied in both binary and continuous treatment settings. Under the potential outcome framework with unconfoundedness, we establish a bidirectional transformation between the high-dimensional confounders space and a low-dimensional latent space where the density is known (e.g., multivariate normal distribution). Through this, CausalEGM simultaneously decouples the dependencies of confounders on both treatment and outcome and maps the confounders to the low-dimensional latent space. By conditioning on the low-dimensional latent features, CausalEGM can estimate the causal effect for each individual or the average causal effect within a population. Our theoretical analysis shows that the excess risk for CausalEGM can be bounded through empirical process theory. Under an assumption on encoder-decoder networks, the consistency of the estimate can be guaranteed. In a series of experiments, CausalEGM demonstrates superior performance over existing methods for both binary and continuous treatments. Specifically, we find CausalEGM to be substantially more powerful than competing methods in the presence of large sample sizes and high dimensional confounders. The software of CausalEGM is freely available at https://github.com/SUwonglab/CausalEGM.","url_abs":"https://arxiv.org/abs/2212.05925v4","url_pdf":"https://arxiv.org/pdf/2212.05925v4.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":"causalegm-a-general-causal-inference","repo_url":"https://github.com/suwonglab/causalegm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"causalegm-a-general-causal-inference","repo_url":"https://github.com/kimmo1019/Roundtrip","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"causal-inference","task_name":"Causal Inference"},{"task_slug":"decoder","task_name":"Decoder"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2212.05925","atlas_url":"https://app.syntology.ai/?focus=2212.05925","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.05925"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/suwonglab/causalegm","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kimmo1019/Roundtrip","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"listed":{"samples":6,"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":"eb0a7f92b2096c24","entry":"create_2d_grid_data","repo":"kimmo1019/Roundtrip","repo_kind":"listed","path":"evaluate.py","file_url":"https://github.com/kimmo1019/Roundtrip/blob/HEAD/evaluate.py","link_basis":"harvester_set","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":"eb0a7f92b2096c24"}},{"code_sha256_prefix":"8a2ffee524bf37bb","entry":"leaky_relu","repo":"kimmo1019/Roundtrip","repo_kind":"listed","path":"model.py","file_url":"https://github.com/kimmo1019/Roundtrip/blob/HEAD/model.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8a2ffee524bf37bb"}},{"code_sha256_prefix":"e62558ee5d05eeb1","entry":"parse_params","repo":"kimmo1019/Roundtrip","repo_kind":"listed","path":"evaluate.py","file_url":"https://github.com/kimmo1019/Roundtrip/blob/HEAD/evaluate.py","link_basis":"harvester_set","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":"e62558ee5d05eeb1"}},{"code_sha256_prefix":"ac51d1d3f02ebc00","entry":"precision_at_K","repo":"kimmo1019/Roundtrip","repo_kind":"listed","path":"evaluate.py","file_url":"https://github.com/kimmo1019/Roundtrip/blob/HEAD/evaluate.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac51d1d3f02ebc00"}},{"code_sha256_prefix":"b57d6aa19be1ae12","entry":"preprocess_images","repo":"kimmo1019/Roundtrip","repo_kind":"listed","path":"src/pyroundtrip/util.py","file_url":"https://github.com/kimmo1019/Roundtrip/blob/HEAD/src/pyroundtrip/util.py","link_basis":"harvester_set","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":"b57d6aa19be1ae12"}},{"code_sha256_prefix":"221fa11e0a18a7b3","entry":"Dataset_selector","repo":"kimmo1019/Roundtrip","repo_kind":"listed","path":"src/pyroundtrip/util.py","file_url":"https://github.com/kimmo1019/Roundtrip/blob/HEAD/src/pyroundtrip/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"221fa11e0a18a7b3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}