{"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/invariant-models-for-causal-transfer-learning","title":"Invariant Models for Causal Transfer Learning","arxiv_id":"1507.05333","date":"2015-07-19","proceeding":null,"authors":["Mateo Rojas-Carulla","Bernhard Schölkopf","Richard Turner","Jonas Peters"],"abstract":"Methods of transfer learning try to combine knowledge from several related\ntasks (or domains) to improve performance on a test task. Inspired by causal\nmethodology, we relax the usual covariate shift assumption and assume that it\nholds true for a subset of predictor variables: the conditional distribution of\nthe target variable given this subset of predictors is invariant over all\ntasks. We show how this assumption can be motivated from ideas in the field of\ncausality. We focus on the problem of Domain Generalization, in which no\nexamples from the test task are observed. We prove that in an adversarial\nsetting using this subset for prediction is optimal in Domain Generalization;\nwe further provide examples, in which the tasks are sufficiently diverse and\nthe estimator therefore outperforms pooling the data, even on average. If\nexamples from the test task are available, we also provide a method to transfer\nknowledge from the training tasks and exploit all available features for\nprediction. However, we provide no guarantees for this method. We introduce a\npractical method which allows for automatic inference of the above subset and\nprovide corresponding code. We present results on synthetic data sets and a\ngene deletion data set.","url_abs":"http://arxiv.org/abs/1507.05333v4","url_pdf":"http://arxiv.org/pdf/1507.05333v4.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":"invariant-models-for-causal-transfer-learning","repo_url":"https://github.com/mrojascarulla/causal_transfer_learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"tasks":[{"task_slug":"domain-generalization","task_name":"Domain Generalization"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1507.05333","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1507.05333"}},"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/mrojascarulla/causal_transfer_learning","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"ran":0,"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":"8bbf168e221a76ce","entry":"e_step","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/fiml.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/fiml.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8bbf168e221a76ce"}},{"code_sha256_prefix":"d4e73aa9e9c57cb9","entry":"fiml","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/fiml.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/fiml.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"d4e73aa9e9c57cb9"}},{"code_sha256_prefix":"67eb7cc91edcbeac","entry":"gen_gauss","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/data.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"67eb7cc91edcbeac"}},{"code_sha256_prefix":"62b9f74e4c789a05","entry":"lasso_alpha_search_synt","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/utils.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"62b9f74e4c789a05"}},{"code_sha256_prefix":"1c399c604c58deaa","entry":"linear","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/data.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"1c399c604c58deaa"}},{"code_sha256_prefix":"f7ae7be6a4cbf2c7","entry":"mDA","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/mSDA.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/mSDA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f7ae7be6a4cbf2c7"}},{"code_sha256_prefix":"919abc05c283859b","entry":"mSDA","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/mSDA.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/mSDA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"919abc05c283859b"}},{"code_sha256_prefix":"a2297c2abae471d1","entry":"mSDA_features","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/mSDA.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/mSDA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a2297c2abae471d1"}},{"code_sha256_prefix":"473d2801c6c54c6c","entry":"m_step","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/fiml.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/fiml.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"473d2801c6c54c6c"}},{"code_sha256_prefix":"12c198326df3b153","entry":"np_getDistances","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/utils.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"12c198326df3b153"}},{"code_sha256_prefix":"9a4a5ad0cdbe551f","entry":"split_train_valid","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/utils.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9a4a5ad0cdbe551f"}},{"code_sha256_prefix":"b1e26fe487284e3b","entry":"zero","repo":"mrojascarulla/causal_transfer_learning","repo_kind":"official","path":"code/data.py","file_url":"https://github.com/mrojascarulla/causal_transfer_learning/blob/HEAD/code/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b1e26fe487284e3b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}