Causal Component Analysis

Liang Wendong, Armin Kekić, Julius von Kügelgen, Simon Buchholz, Michel Besserve +2 more
5/26/2023
stat.MLcs.AIcs.LG

No official code found. Best implementation: akekic/causal-component-analysis (26 stars, MIT, last commit 2023-12-06).

Abstract

Independent Component Analysis (ICA) aims to recover independent latent variables from observed mixtures thereof. Causal Representation Learning (CRL) aims instead to infer causally related (thus often statistically dependent) latent variables, together with the unknown graph encoding their causal relationships. We introduce an intermediate problem termed Causal Component Analysis (CauCA). CauCA can be viewed as a generalization of ICA, modelling the causal dependence among the latent components, and as a special case of CRL. In contrast to CRL, it presupposes knowledge of the causal graph, focusing solely on learning the unmixing function and the causal mechanisms. Any impossibility results regarding the recovery of the ground truth in CauCA also apply for CRL, while possibility results may serve as a stepping stone for extensions to CRL. We characterize CauCA identifiability from multiple datasets generated through different types of interventions on the latent causal variables. As a corollary, this interventional perspective also leads to new identifiability results for nonlinear ICA -- a special case of CauCA with an empty graph -- requiring strictly fewer datasets than previous results. We introduce a likelihood-based approach using normalizing flows to estimate both the unmixing function and the causal mechanisms, and demonstrate its effectiveness through extensive synthetic experiments in the CauCA and ICA setting.

View on arXivView PDF

Code Implementations(1)

MIT
264PythonOct 25, 20232 years agoMIT

Similar Papers

Cite this paper

@article{wendong2023causal,
  title  = {Causal Component Analysis},
  author = {Liang Wendong and Armin Kekić and Julius von Kügelgen and Simon Buchholz and Michel Besserve and Luigi Gresele and Bernhard Schölkopf},
  year   = {2023},
  eprint = {2305.17225},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.17225v3},
  journal = {NEURIPS 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.17225.svg)](https://codeofpaper.com/paper/2305.17225)

Discussion