{"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/a-sparsity-principle-for-partially-observable","title":"A Sparsity Principle for Partially Observable Causal Representation Learning","arxiv_id":"2403.08335","date":"2024-03-13","proceeding":null,"authors":["Danru Xu","Dingling Yao","Sébastien Lachapelle","Perouz Taslakian","Julius von Kügelgen","Francesco Locatello","Sara Magliacane"],"abstract":"Causal representation learning aims at identifying high-level causal variables from perceptual data. Most methods assume that all latent causal variables are captured in the high-dimensional observations. We instead consider a partially observed setting, in which each measurement only provides information about a subset of the underlying causal state. Prior work has studied this setting with multiple domains or views, each depending on a fixed subset of latents. Here, we focus on learning from unpaired observations from a dataset with an instance-dependent partial observability pattern. Our main contribution is to establish two identifiability results for this setting: one for linear mixing functions without parametric assumptions on the underlying causal model, and one for piecewise linear mixing functions with Gaussian latent causal variables. Based on these insights, we propose two methods for estimating the underlying causal variables by enforcing sparsity in the inferred representation. Experiments on different simulated datasets and established benchmarks highlight the effectiveness of our approach in recovering the ground-truth latents.","url_abs":"https://arxiv.org/abs/2403.08335v2","url_pdf":"https://arxiv.org/pdf/2403.08335v2.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":"a-sparsity-principle-for-partially-observable","repo_url":"https://github.com/danrux/sparsity-crl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.08335","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.08335"}},"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/danrux/sparsity-crl","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"unverified":1},"by_repo_kind":{"official":{"samples":7,"ran":6,"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":"4d9302e9e1606114","entry":"MCC","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Ball/evaluation.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Ball/evaluation.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":"4d9302e9e1606114"}},{"code_sha256_prefix":"89b190475337fca6","entry":"MCC","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Causal3DIdent/evaluation.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Causal3DIdent/evaluation.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":"89b190475337fca6"}},{"code_sha256_prefix":"02cc40a0bed356c0","entry":"construct_invertible_mlp","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Numerical/invertible_network_utils.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Numerical/invertible_network_utils.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":"02cc40a0bed356c0"}},{"code_sha256_prefix":"c2621183d830d73f","entry":"get_decoder","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Numerical/invertible_network_utils.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Numerical/invertible_network_utils.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":"c2621183d830d73f"}},{"code_sha256_prefix":"0ce92aeb68c01b29","entry":"get_mlp","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Ball/encoders_image.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Ball/encoders_image.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":"0ce92aeb68c01b29"}},{"code_sha256_prefix":"280f233fe90c2460","entry":"reg_scheduler","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Causal3DIdent/main_3dident.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Causal3DIdent/main_3dident.py","link_basis":"first_harvest_node","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":"280f233fe90c2460"}},{"code_sha256_prefix":"6d0e79fdb10ec36d","entry":"reorder","repo":"danrux/sparsity-crl","repo_kind":"official","path":"Ball/evaluation.py","file_url":"https://github.com/danrux/sparsity-crl/blob/HEAD/Ball/evaluation.py","link_basis":"first_harvest_node","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":"6d0e79fdb10ec36d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}