# backShift: Learning causal cyclic graphs from unknown shift interventions

arXiv: https://arxiv.org/abs/1506.02494 · HTML: https://mlsanity.com/paper/1506.02494/

## Key facts

- Cited by 37 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 8 Jun 2015.

## Built on by (most cited first, 30 of 37)

- [D'ya like DAGs? A Survey on Structure Learning and Causal Discovery](https://mlsanity.com/paper/2103.02582/) (2021)
- [Identifiability Guarantees for Causal Disentanglement from Soft Interventions](https://mlsanity.com/paper/2307.06250/) (2023)
- [A Survey on Causal Discovery: Theory and Practice](https://mlsanity.com/paper/2305.10032/) (2023)
- [Causal Structure Learning: a Combinatorial Perspective](https://mlsanity.com/paper/2206.01152/) (2022)
- [Causal Inference for Time series Analysis: Problems, Methods and Evaluation](https://mlsanity.com/paper/2102.05829/) (2021)
- [Active Learning for Optimal Intervention Design in Causal Models](https://mlsanity.com/paper/2209.04744/) (2022)
- [Causal Modeling with Stationary Diffusions](https://mlsanity.com/paper/2310.17405/) (2023)
- [Matching a Desired Causal State via Shift Interventions](https://mlsanity.com/paper/2107.01850/) (2021)
- [Amortized Active Causal Induction with Deep Reinforcement Learning](https://mlsanity.com/paper/2405.16718/) (2024)
- [When Selection Meets Intervention: Additional Complexities in Causal Discovery](https://mlsanity.com/paper/2503.07302/) (2025)
- [Obtaining Causal Information by Merging Datasets with MAXENT](https://mlsanity.com/paper/2107.07640/) (2021)
- [Local Causal Discovery with Linear non-Gaussian Cyclic Models](https://mlsanity.com/paper/2403.14843/) (2024)
- [Learning Relational Causal Models with Cycles through Relational Acyclification](https://mlsanity.com/paper/2208.12210/) (2022)
- [Disentangling Mixtures of Unknown Causal Interventions](https://mlsanity.com/paper/2210.03242/) (2022)
- [A Survey of Methods, Challenges and Perspectives in Causality](https://mlsanity.com/paper/2302.00293/) (2023)
- [Establishing Markov Equivalence in Cyclic Directed Graphs](https://mlsanity.com/paper/2309.03092/) (2023)
- [Variance Minimization in the Wasserstein Space for Invariant Causal Prediction](https://mlsanity.com/paper/2110.07064/) (2021)
- [Meaningful Causal Aggregation and Paradoxical Confounding](https://mlsanity.com/paper/2304.11625/) (2023)
- [Generative Intervention Models for Causal Perturbation Modeling](https://mlsanity.com/paper/2411.14003/) (2024)
- [Root Cause Analysis of Outliers in Unknown Cyclic Graphs](https://mlsanity.com/paper/2510.06995/) (2025)
- [Distributional Equivalence in Linear Non-Gaussian Latent-Variable Cyclic Causal Models: Characterization and Learning](https://mlsanity.com/paper/2603.04780/) (2026)
- [CausaLab: A Scalable Environment for Interactive Causal Discovery Toward AI Scientists](https://mlsanity.com/paper/2605.26029/) (2026)
- [Learning soft interventions in complex equilibrium systems](https://mlsanity.com/paper/2112.05729/) (2021)
- [Learning domain-specific causal discovery from time series](https://mlsanity.com/paper/2209.05598/) (2022)
- [Relational Causal Discovery with Latent Confounders](https://mlsanity.com/paper/2507.01700/) (2025)
- [Coarsening Linear Non-Gaussian Causal Models with Cycles](https://mlsanity.com/paper/2605.10163/) (2026)
- [Disentangling Observed Causal Effects from Latent Confounders using Method of Moments](https://mlsanity.com/paper/2101.06614/) (2021)
- [Comparative Study of Causal Discovery Methods for Cyclic Models with Hidden Confounders](https://mlsanity.com/paper/2401.13009/) (2024)
- [Beyond identifiability: Learning causal representations with few environments and finite samples](https://mlsanity.com/paper/2603.25796/) (2026)
- [Hypothesis testing on invariant subspaces of non-diagonalizable matrices with applications to network statistics](https://mlsanity.com/paper/2303.18233/) (2023)

## Abstract (arXiv)

We propose a simple method to learn linear causal cyclic models in the presence of latent variables. The method relies on equilibrium data of the model recorded under a specific kind of interventions ("shift interventions"). The location and strength of these interventions do not have to be known and can be estimated from the data. Our method, called backShift, only uses second moments of the data and performs simple joint matrix diagonalization, applied to differences between covariance matrices. We give a sufficient and necessary condition for identifiability of the system, which is fulfilled almost surely under some quite general assumptions if and only if there are at least three distinct experimental settings, one of which can be pure observational data. We demonstrate the performance on some simulated data and applications in flow cytometry and financial time series. The code is made available as R-package backShift.
