High-recall causal discovery for autocorrelated time series with latent confounders

Andreas Gerhardus, Jakob Runge

Introduction

Observational causal discovery [Spirtes et al., 2000, Peters et al., 2017] from time series is a challenge of high relevance to many fields of science and engineering if experimental interventions are infeasible, expensive, or unethical. Causal knowledge of direct and indirect effects, interaction pathways, and time lags can help to understand and model physical systems and to predict the effect of interventions [Pearl, 2000]. Causal graphs can also guide interpretable variable selection for prediction and classification tasks. Causal discovery from time series faces major challenges [Runge et al., 2019a] such as unobserved confounders, high-dimensionality, and nonlinear dependencies, to name a few. Few frameworks can deal with these challenges and we here focus on constraint-based methods pioneered in the seminal works of Spirtes, Glymour, and Zhang [Spirtes et al., 2000, Zhang, 2008]. We demonstrate that existing latent causal discovery methods strongly suffer from low recall in the time series case where identifying lagged and contemporaneous causal links is the goal and autocorrelation is an added, ubiquitous challenge. Our main theoretical contributions lie in identifying low effect size as a major reason why current methods fail and in introducing a novel sound, complete, and order-independent causal discovery algorithm that yields strong gains in recall for autocorrelated continuous data. Our practical contributions lie in extensive numerical experiments that can serve as a future benchmark and in open-source Python implementations of our and major previous time series causal discovery algorithms. The paper is structured as follows: After briefly introducing the problem and existing methods in Sec. 2, we describe our method and theoretical results in Sec. 3. Section 4 provides numerical experiments followed by a discussion of strengths and weaknesses as well as an outlook in Sec. 6. The paper is accompanied by Supplementary Material (SM).

Time series causal discovery in the presence of latent confounders

We assume the reader is familiar with the Fast Causal Inference (FCI) algorithm [Spirtes et al., 1995, Spirtes et al., 2000, Zhang, 2008] and related graphical terminology, see Secs. S1 and S2 of the SM for a brief overview. Importantly, the MAGs (maximal ancestral graphs) considered in this paper can contain directed (→{\rightarrow}) and bidirected (↔{\leftrightarrow}) edges (interchangeably also called links). The associated PAGs (partial ancestral graphs) may additionally have edges of the type ∘ ⁣→{\circ\!{\rightarrow}} and ∘ ⁣\-− ⁣∘{\circ\!{\--}\!\circ}.

2 Existing methods

The tsFCI algorithm [Entner and Hoyer, 2010] adapts the constraint-based FCI algorithm to time series. It uses time order and stationarity to restrict conditioning sets and to apply additional edge orientations. SVAR-FCI [Malinsky and Spirtes, 2018] uses stationarity to also infer additional edge removals. There are no assumptions on the functional relationships or on the structure of confounding. Granger causality [Granger, 1969] is another common framework for inferring the causal structure of time series. It cannot deal with contemporaneous links (known as instantaneous effects in this context) and may draw wrong conclusions in the presence of latent confounders, see e.g. [Peters et al., 2017] for an overview. The ANLTSM method [Chu and Glymour, 2008] restricts contemporaneous interactions to be linear, and latent confounders to be linear and contemporaneous. TS-LiNGAM [Hyvärinen et al., 2008] is based on LiNGAM [Shimizu et al., 2006] that is rooted in the structural causal model framework [Peters et al., 2017, Spirtes and Zhang, 2016]. It allows for contemporaneous effects, assumes linear interactions with additive non-Gaussian noise, and might fail in the presence of confounding. The TiMINo [Peters et al., 2013] method restricts interactions to an identifiable function class or requires an acyclic summary graph. Yet another approach are Bayesian score-based or hybrid methods [Chickering, 2002, Tsamardinos et al., 2006]. These often become computationally infeasible in the presence of unobserved variables, see [Jabbari et al., 2017] for a discussion, or make restrictive assumptions about functional dependencies or variable types.

In this paper we follow the constraint-based approach that allows for general functional relationships (both for lagged and contemporaneous interactions), general types of variables (discrete and continuous, univariate and multivariate), and that makes no assumption on the structure of confounding. The price of this generality is that we will not be able to distinguish all members of a Markov equivalence class (although time order and stationarity allow to exclude some members of the equivalence class). Due to its additional use of stationarity we choose SVAR-FCI rather than tsFCI as a baseline and implement the method, restricted to no selection variables, in Python. As a second baseline we implement SVAR-RFCI, which is a time series adaption of RFCI along the lines of SVAR-FCI (also restricted to no selection variables). The RFCI algorithm [Colombo et al., 2012] is a modification of FCI that does not execute FCI’s potentially time consuming second edge removal phase.

3 On maximum time lag, stationarity, soundness, and completeness

In time series causal discovery the assumption of stationarity and the length of the chosen time lag window t−τmax⁡≤t′≤tt-\tau_{\max}\leq t^{\prime}\leq t play an important role. In the causally sufficient case (X=V)\mathbf{X}=\mathbf{V}) the causal graph stays the same for all τmax⁡≥pts\tau_{\max}\geq p_{ts}. Not so in the latent case: Let M(G)τmax⁡\mathcal{M}(\mathcal{G})^{\tau_{\max}} be the MAG obtained by marginalizing over all unobserved variables and also all generally observed variables at times t′<t−τmax⁡t^{\prime}<t-\tau_{\max}. Then, increasing the considered time lag window by increasing τmax⁡\tau_{\max} may result in the removal of edges that are fully contained in the original window, even in the case of perfect statistical decisions. In other words, M(G)τmax⁡,1\mathcal{M}(\mathcal{G})^{\tau_{\max,1}} with τmax⁡,1<τmax⁡,2\tau_{\max,1}<\tau_{\max,2} need not be a subgraph of M(G)τmax⁡,2\mathcal{M}(\mathcal{G})^{\tau_{\max,2}}. Hence, τmax⁡\tau_{\max} may be regarded more as an analysis choice than as a tunable parameter. For the same reason stationarity also affects the definition of MAGs and PAGs that are being estimated. For example, SVAR-FCI uses stationarity to also remove edges whose separating set extends beyond the chosen time lag window. It does, therefore, in general not determine a PAG of M(G)τmax⁡\mathcal{M}(\mathcal{G})^{\tau_{\max}}. To formalize this let i)i) M(G)statAτmax⁡\mathcal{M}(\mathcal{G})_{statA}^{\tau_{\max}} be the MAG obtained from M(G)τmax⁡\mathcal{M}(\mathcal{G})^{\tau_{\max}} by enforcing repeating adjacencies, let ii)ii) P(G)statAτmax⁡\mathcal{P}(\mathcal{G})_{statA}^{\tau_{\max}} be the maximally informative PAG for the Markov equivalence class of M(G)statAτmax⁡\mathcal{M}(\mathcal{G})_{statA}^{\tau_{\max}}, which can be obtained from running the FCI orientation rules on M(G)statAτmax⁡\mathcal{M}(\mathcal{G})_{statA}^{\tau_{\max}}, and let iii)iii) P(G)statAOτmax⁡\mathcal{P}(\mathcal{G})_{statAO}^{\tau_{\max}} be the PAG obtained when additionally enforcing time order and repeating orientations at each step of applying the orientation rules. Note that P(G)statAOτmax⁡\mathcal{P}(\mathcal{G})_{statAO}^{\tau_{\max}} may have fewer circle marks, i.e., may be more informative than P(G)statAτmax⁡\mathcal{P}(\mathcal{G})_{statA}^{\tau_{\max}}. Our aim is to estimate P(G)statAOτmax⁡\mathcal{P}(\mathcal{G})_{statAO}^{\tau_{\max}}. We say an algorithm is sound if it returns a PAG for M(G)statAτmax⁡\mathcal{M}(\mathcal{G})_{statA}^{\tau_{\max}}, and complete if it returns P(G)statAOτmax⁡\mathcal{P}(\mathcal{G})_{statAO}^{\tau_{\max}}. Below we write M(G)=M(G)statAτmax⁡\mathcal{M}(\mathcal{G})=\mathcal{M}(\mathcal{G})_{statA}^{\tau_{\max}} and P(G)=P(G)statAOτmax⁡\mathcal{P}(\mathcal{G})=\mathcal{P}(\mathcal{G})_{statAO}^{\tau_{\max}} for simplicity.

4 Motivational example

We illustrate the challenge posed by unobserved variables with the example of Fig. 1. SVAR-FCI with the partial correlation (ParCorr) CI test correctly identifies the auto-links but misses the true lagged link Yt−1→ZtY_{t-1}{\rightarrow}Z_{t} and returns a false link Yt−2→ZtY_{t-2}{\rightarrow}Z_{t} instead. In most realizations the algorithm fails to detect the contemporaneous adjacency Xt↔YtX_{t}{\leftrightarrow}Y_{t} and, if detected, fails to orient it as bidirected. The reason are wrong CI tests in its edge removal and orientation phases. When it iterates through conditioning sets of cardinality p=0p=0 in the edge removal phase, the correlation ρ(Xt;Yt)\rho(X_{t};Y_{t}) is non-significant in many realizations since the high autocorrelation of both XX and YY increases their variance and decreases their signal-to-noise ratio (the common signal due to the latent confounder). Further, for p=1p=1 also the lagged correlation ρ(Yt−1;Zt∣Yt−2)\rho(Y_{t-1};Z_{t}|Y_{t-2}) often is non-significant and the true link Yt−1→ZtY_{t-1}{\rightarrow}Z_{t} gets removed. Here conditioning away the autocorrelation of Yt−1Y_{t-1} decreases the signal while the noise level in ZtZ_{t} is still high due to ZZ’s autocorrelation. This false negative has implications for further CI tests since Yt−1Y_{t-1} won’t be used in subsequent conditioning sets: The path Yt−2→Yt−1→ZtY_{t-2}{\rightarrow}Y_{t-1}{\rightarrow}Z_{t} can then not be blocked anymore and the false positive Yt−2→ZtY_{t-2}{\rightarrow}Z_{t} remains even after the next removal phase. In the orientation phase of SVAR-FCI rule R1\mathcal{R}1 yields tails for all auto-links. Even if the link Xt∘ ⁣\-− ⁣∘YtX_{t}{\circ\!{\--}\!\circ}Y_{t} is detected, it is in most cases not oriented correctly. The reason again lies in wrong CI tests: In principle the collider rule R0\mathcal{R}0 should identify Xt↔YtX_{t}{\leftrightarrow}Y_{t} since the middle node of the triple Xt−1∘ ⁣→Xt∘ ⁣\-− ⁣∘YtX_{t-1}{\circ\!{\rightarrow}}X_{t}{\circ\!{\--}\!\circ}Y_{t} does not lie in the separating set of Xt−1X_{t-1} and YtY_{t} (and similarly for XX and YY swapped). In practice R0\mathcal{R}0 is implemented with the majority rule [Colombo and Maathuis, 2014] to avoid order-dependence, which involves further CI test given subsets of the adjacencies of Xt−1X_{t-1} and YtY_{t}. SVAR-FCI here finds independence given Yt−1Y_{t-1} (correct) but also given XtX_{t} (wrong, due to autocorrelation). Since the middle node XtX_{t} is in exactly half of the separating sets, the triple is marked as ambiguous and left unoriented. The same applies when XX and YY are swapped.

Autocorrelation is only one manifestation of a more general problem we observe here: Low signal-to-noise ratio due to an ‘unfortunate’ choice of conditioning sets that leads to low effect size (here partial correlation) and, hence, low statistical power of CI tests. Wrong CI tests then lead to missing links, and these in turn to false positives and wrong orientations. In the following we analyze effect size more theoretically and suggest a general idea to overcome this issue.

Latent PCMCI

The detection power of a true link Xt−τi∗ ⁣→XtjX^{i}_{t-\tau}{\ast\!{\rightarrow}}X^{j}_{t}, where below we write A=Xt−τiA=X^{i}_{t-\tau} and B=XtjB=X^{j}_{t} to emphasize that the discussion also applies to the non-time series case, quantifies the probability of the link not being erroneously removed due to a wrong CI test. It depends on i)i) the sample size (usually fixed), ii)ii) the CI tests’ significance level α\alpha (fixed by the researcher as the desired false positives level), iii)iii) the CI tests’ estimation dimensions (kept at a minimum by SVAR-FCI’s design to preferentially test small conditioning sets), and iv)iv) the effect size. We here define effect size as the minimum of the CI test statistic values I(A;B∣S)I(A;B|\mathcal{S}) taken over all conditioning sets S\mathcal{S} that are being tested (for fixed AA and BB). As observed in the motivating example, this minimum can become very small and hence lead to low detection power. The central idea of our proposed method Latent PCMCI (LPCMCI) is to increase effect size by a)a) restricting the conditioning sets S\mathcal{S} that need to be tested in order to remove all wrong links, and by b)b) extending those sets S\mathcal{S} that do need to be tested with so called default conditions Sdef\mathcal{S}_{def} that increase the CI test statistic values and at the same time do not induce spurious dependencies. Regarding a)a), Lemma S5 proves that it is sufficient to only consider conditioning sets that consist of ancestors of AA or BB only. Regarding b)b), and well-fitting with a)a), Lemma S4 proves that no spurious dependencies are introduced if Sdef\mathcal{S}_{def} consist of ancestors of AA or BB only. Further, the following theorem shows that taking Sdef\mathcal{S}_{def} as the union of the parents of AA and BB (without AA and BB themselves) improves the effect size of LPCMCI over that of SVAR-FCI. This generalizes the momentary conditional independence (MCI) idea that underlies the PCMCI and PCMCI+ algorithms [Runge et al., 2019b, Runge, 2020] to causal discovery with latent confounders. We state the theorem in an information theoretic framework, where II denotes (conditional) mutual information and I(A;B;C∣D)≡I(A;B∣D)−I(A;B∣C∪D)\mathcal{I}(A;B;C|D)\equiv I(A;B|D)-I(A;B|C\cup D) the interaction information.

Let A∗ ⁣→BA{\ast\!{\rightarrow}}B (with A=Xt−τiA=X^{i}_{t-\tau} and B=XtjB=X^{j}_{t}) be a link (→{\rightarrow} or ↔{\leftrightarrow}) in M(G)\mathcal{M}(\mathcal{G}). Consider the default conditions Sdef=pa({A,B},M(G))∖{A,B}\mathcal{S}_{def}=pa(\{A,B\},\mathcal{M}(\mathcal{G}))\setminus\{A,B\} and denote X∗=X∖Sdef\mathbf{X}^{*}=\mathbf{X}\setminus\mathcal{S}_{def}. Let S=arg⁡min⁡S⊆X∗∖{A,B}I(A;B∣S∪Sdef)\mathbf{S}=\arg\min_{\mathcal{S}\subseteq\mathbf{X}^{*}\setminus\{A,B\}}I(A;B|\mathcal{S}\cup\mathcal{S}_{def}) be the set of sets that define LPCMCI’s effect size. If i)i) there is S∗∈S\mathcal{S}^{*}\in\mathbf{S} with S∗⊆adj(A,M(G))∖Sdef\mathcal{S}^{*}\subseteq adj(A,\mathcal{M}(\mathcal{G}))\setminus\mathcal{S}_{def} or S∗⊆adj(B,M(G))∖Sdef\mathcal{S}^{*}\subseteq adj(B,\mathcal{M}(\mathcal{G}))\setminus\mathcal{S}_{def} and ii)ii) there is a proper subset Q⊂Sdef\mathcal{Q}\subset\mathcal{S}_{def} such that I(A;B;Sdef∖Q∣S∗∪Q)<0\mathcal{I}(A;B;\mathcal{S}_{def}\setminus\mathcal{Q}|\mathcal{S}^{*}\cup\mathcal{Q})<0, then

If the assumptions are not fulfilled, then (trivially) "≥\geq" holds in eq. (2).

The second assumption only requires that any subset Sdef∖Q\mathcal{S}_{def}\setminus{Q} of the parents contains information that increases the information between AA and BB. A sufficient condition for this is detailed in Corollary S1.

These considerations lead to two design principles behind LPCMCI: First, when testing for conditional independence of AA and BB, discard conditioning sets that contain known non-ancestors of AA and BB. Second, use known parents of AA and BB as default conditions. Unless the higher effect size is overly counteracted by the increased estimation dimension (due to conditioning sets of higher cardinality), this leads to higher detection power and hence higher recall of true links. While we do not claim that our choice of default conditions as further detailed in Sec. 3.4 is optimal, our numerical experiments in Sec. 4 and the SM indicate strong increases in recall for the case of continuous variables with autocorrelation. In [Runge et al., 2019b, Runge, 2020] it is discussed that, in addition to higher effect size, conditioning on the parents of both AA and BB also leads to better calibrated tests which in turn avoids inflated false positives. Another benefit is that fewer conditioning sets need to be tested, which is also the motivation for a default conditioning on known parents in [Lee and Honavar, 2020].

The above design principles are only useful if some (non-)ancestorships are known before all CI test have been completed. LPCMCI achieves this by entangling the edge removal and edge orientation phases, i.e., by learning ancestral relations before having removed all wrong links. For this purpose we below develop novel orientation rules. These are not necessary in the causally sufficienct setting considered by PCMCI+ [Runge, 2020] because there the default conditions need not be limited to ancestors of AA or BB (although PCMCI+ tries to keep the number of default conditions low). While not considered here, background knowledge about (non-)ancestorships can easily be incorporated.

2 Introducing middle marks and LPCMCI-PAGs

To facilitate early orientation of edges we give an unambiguous causal interpretation to the graph at every step of the algorithm. This is achieved by augmenting edges with middle marks. Using generic variable names AA, BB, and CC indicates that the discussion also applies to the non-time series case.

Middle marks are denoted above the link symbol and can be ‘?’, ‘L’, ‘R’, ‘!’, or ‘’ (empty). The ‘L’ (‘R’) on A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B (A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B) asserts that if A<BA<B (B<AB<A) then B∉an(A,G)B\notin an(A,\mathcal{G}) or there is no S⊆pa(A,M(G))\mathcal{S}\subseteq pa(A,\mathcal{M}(\mathcal{G})) that m-separates AA and BB in M(G)\mathcal{M}(\mathcal{G}). Here << is any total order on the set of variables. Its choice is arbitrary and does not influence the causal information content, the sole purpose being to disambiguate A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B from A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B. Moreover, ‘∗\ast’ is a wildcard that may stand for all three edge marks (tail, head, circle) that appear in PAGs. Further, the ‘!’ on A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B asserts that both A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B and A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B are true, and the empty middle mark on A∗ ⁣\-− ⁣∗BA{\ast\!{\--}\!\ast}B says that A∈adj(B,M(G))A\in adj(B,\mathcal{M}(\mathcal{G})). Lastly, the ‘?’ on A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗?BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle?}}}}}B doesn’t promise anything. Non-circle edge marks (here potentially hidden by the ‘∗\ast’ symbol) still convey their standard meaning of ancestorship and non-ancestorship, and the absence of an edge between AA and BB still asserts that A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})). We call a PAG C(G)\mathcal{C}(\mathcal{G}) whose edges are extended with middle marks a LPCMCI-PAG for M(G)\mathcal{M}(\mathcal{G}), see Sec. S3 in the SM for a more formal definition. The ‘∗\ast’ symbol is also used as a wildcard for the five middle marks.

Note that we are not changing the quantity we are trying to estimate, this is still the PAG P(G)\mathcal{P}(\mathcal{G}) as explained in Sec. 2.3. The notion of LPCMCI-PAGs is used in intermediate steps of LPCMCI and has two advantages. First, A∗ ⁣\-− ⁣∗BA{\ast\!{\--}\!\ast}B is reserved for A∈adj(B,M(G))A\in adj(B,\mathcal{M}(\mathcal{G})) and thus has an unambiguous meaning at every point of the algorithm, unlike for (SVAR-)FCI and (SVAR-)RFCI. In fact, even if LPCMCI is interrupted at any arbitrary point it still yields a graph with unambiguous and sound causal interpretation. Second, middle marks carry fine-grained causal information that allows to determine definite adjacencies early on:

In LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}) one may replace 1.) A\ensurestackMath\stackon[−0pt]→!BA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle!}}}}}B by A→BA{\rightarrow}B, 2.) A\ensurestackMath\stackon[−0pt]→LBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle L}}}}}B for A>BA>B by A→BA{\rightarrow}B, and 3.) A\ensurestackMath\stackon[−0pt]→RBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle R}}}}}B for A<BA<B by A→BA{\rightarrow}B.

When LPCMCI has converged all middle marks are empty and hence C(G)\mathcal{C}(\mathcal{G}) is a PAG. We choose a total order consistent with time order, namely Xt−τi<XtjX^{i}_{t-\tau}<X^{j}_{t} iff τ>0\tau>0 or τ=0\tau=0 and i<ji<j. Lagged links can then be initialized with edges \ensurestackMath\stackon[−1pt]∘ ⁣→L{\mathbin{\ensurestackMath{\stackon[-1pt]{{\circ\!{\rightarrow}}}{{\scriptscriptstyle L}}}}} (contemporaneous links as \ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣∘?{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\circ}}{{\scriptscriptstyle?}}}}}).

3 Orientations rules for LPCMCI-PAGs

We now discuss rules for edge orientation in LPCMCI-PAGs. For this we need a definition:

In MAG M(G)\mathcal{M}(\mathcal{G}) let AA and BB be m-separated by S\mathcal{S}. The set S\mathcal{S} is a weakly minimal separating set of AA and BB if i)i) it decomposes as S=S1∪˙ S2\mathcal{S}=\mathcal{S}_{1}\dot{\cup}\,\mathcal{S}_{2} with S1⊆an({A,B},M(G))\mathcal{S}_{1}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G})) such that ii)ii) if S′=S1∪˙ S2′\mathcal{S}^{\prime}=\mathcal{S}_{1}\dot{\cup}\,\mathcal{S}_{2}^{\prime} with S2′⊆S2\mathcal{S}_{2}^{\prime}\subseteq\mathcal{S}_{2} m-separates AA and BB then S2′=S2\mathcal{S}_{2}^{\prime}=\mathcal{S}_{2}. The pair (S1,S2)(\mathcal{S}_{1},\mathcal{S}_{2}) is called a weakly minimal decomposition of S\mathcal{S}.

This generalizes the notion of minimal separating sets, for which additionally S1=∅\mathcal{S}_{1}=\emptyset. Since LPCMCI is designed to extend conditioning sets by known ancestors, the separating sets it finds are in general not minimal. However, they are still weakly minimal. The following Lemma, a generalization of the unshielded triple rule [Colombo et al., 2012], is central to orientations in LPCMCI-PAGs:

Let A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗B\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}C be an unshielded triple in LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}) and SAC\mathcal{S}_{AC} the separating set of AA and CC. 1.) If i)i) B∈SACB\in\mathcal{S}_{AC} and ii)ii) SAC\mathcal{S}_{AC} is weakly minimal, then B∈an({A,C},G)B\in an(\{A,C\},\mathcal{G}). 2.) Let TAB⊆an({A,B},M(G))\mathcal{T}_{AB}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G})) and TCB⊆an({C,B},M(G))\mathcal{T}_{CB}\subseteq an(\{C,B\},\mathcal{M}(\mathcal{G})) be arbitrary. If i)i) B∉SACB\notin\mathcal{S}_{AC}, ii)ii) AA and BB are not m-separated by SAC∪TAB∖{A,B}\mathcal{S}_{AC}\cup\mathcal{T}_{AB}\setminus\{A,B\}, iii)iii) CC and BB are not m-separated by SAC∪TCB∖{C,B}\mathcal{S}_{AC}\cup\mathcal{T}_{CB}\setminus\{C,B\}, then B∉an({A,C},G)B\notin an(\{A,C\},\mathcal{G}). The conditioning sets in ii)ii) and iii)iii) may be intersected with the past and present of the later variable.

Part 2.) of this Lemma generalizes the FCI collider rule R0\mathcal{R}0 to rule R0′\mathcal{R}0^{\prime} (of which there are several variations when restricting to particular middle marks), and part 1.) generalizes R1\mathcal{R}1 to R1′\mathcal{R}1^{\prime}. Rules R2\mathcal{R}2 and R8\mathcal{R}8 generalize trivially to triangles in C(G)\mathcal{C}(\mathcal{G}) with arbitrary middle marks, giving rise to R2′\mathcal{R}2^{\prime} and R8′\mathcal{R}8^{\prime}. Rules R3\mathcal{R}3, R9\mathcal{R}9 and R10\mathcal{R}10 are generalized to R3′\mathcal{R}3^{\prime}, R9′\mathcal{R}9^{\prime} and R10′\mathcal{R}10^{\prime} by adding the requirement that the middle variables of certain unshielded colliders are in the separating set of the two outer variables, and that these separating sets are weakly minimal. Since there are no selection variables, rules R5\mathcal{R}5, R6\mathcal{R}6 and R7\mathcal{R}7 are not applicable. Rule R4′\mathcal{R}4^{\prime} generalizes the discriminating path rule [Colombo et al., 2012] of RFCI. These rules are complemented by the replacements specified in Lemma 1 and a rule for updating middle marks. Precise formulations of all rules are given in Sec. S4 of the SM.

We stress that these rules are applicable at every point of the algorithm and that they may be executed in any order. This is different from the (SVAR-)FCI orientation phase which requires that prior to orientation a PAG has been found. Also (SVAR-)RFCI orients links only once an RFCI-PAG has been determined, and both (SVAR-)FCI and (SVAR-)RFCI require that all colliders are oriented before applying their other orientation rules.

The relevance of the novel orientation rules bears on them allowing to determine ancestorships and non-ancestorships already after only few CI tests have been performed. This is utilized in LPCMCI by entangling the edge removal and edge orientation phases, which then allows to implement the idea of the PCMCI and PCMCI+ algorithms [Runge et al., 2019b, Runge, 2020] to increase the effect sizes of CI tests (and hence the recall of the algorithm, see Theorem 1 and the subsequent discussion) by conditioning on known parents also in the causally insufficient case considered here (where latent confounders are allowed). The aspect of determining ancestorships with only few CI tests is similar in spirit to an approach taken in the recent work [Mastakouri et al., 2020], which considers the narrower but important task of causal feature selection in time series with latent confounders: The SyPI algorithm introduced there does not aim at finding the full PAG P(G)\mathcal{P}(\mathcal{G}) but rather at finding ancestors of given target variables. Under several assumptions on the connectivity pattern of the time series graph G\mathcal{G} the work [Mastakouri et al., 2020] presents conditions that are sufficient for a given variable (the potential cause) to be an ancestor of another given variable (the potential effect). For certain types of ancestors, namely for parents that belong to a time series which in the summary graph is not confounded with the time series of the target variable, these conditions are even necessary. These findings allow SyPI to determine (some) ancestorships with only two CI tests per pair of potential cause and potential effect. It would be interesting to investigate whether the problem of causal feature selection as framed in [Mastakouri et al., 2020] can benefit from some of the ideas presented here, for example from the novel orientation rules (which do not require restrictions on the connectivity pattern of G\mathcal{G}) or the idea to increase the effect sizes of CI tests by conditioning on known parents. Similarly, it would be interesting to explore whether the ideas behind SyPI can be utilized to further improve the statistical performance of algorithms that approach the more general task of finding the full PAG.

4 The LPCMCI algorithm

LPCMCI is a constraint-based causal discovery algorithm that utilizes the findings of Sec. 3.1 to increase the effect size of CI tests. High-level pseudocode is given in Algorithm 1. After initializing C(G)\mathcal{C}(\mathcal{G}) as a complete graph, the algorithm enters its preliminary phase in lines 2 to 4. This involves calls to Algorithm S2 (pseudocode in Sec. S5 of the SM), which removes many (but in general not all) false links and, while doing so, repeatedly applies the orientation rules introduced in the previous section. These rules identify a subset of the (non-)ancestorships in G\mathcal{G} and accordingly mark them by heads or tails on edges in C(G)\mathcal{C}(\mathcal{G}). This information is then used as prescribed by the two design principles of LPCMCI that were explained in Sec. 3.1: The non-ancestorships further constrain the conditioning sets S\mathcal{S} of subsequent CI tests, the ancestorships are used to extend these sets to S∪Sdef\mathcal{S}\cup\mathcal{S}_{def} where Sdef=pa({Xt−τi,Xtj},C(G))\mathcal{S}_{def}=pa(\{X^{i}_{t-\tau},X^{j}_{t}\},\mathcal{C}(\mathcal{G})) are the by then known parents of those variables whose independence is being tested. All parentships marked in C(G)\mathcal{C}(\mathcal{G}) after line 3 are remembered and carried over to an elsewise re-initialized C(G)\mathcal{C}(\mathcal{G}) before the next application of Alg. S2. Conditioning sets can then be extended with known parents already from the beginning. The purpose of this iterative process is to determine an accurate subset of the parentships in G\mathcal{G}. These are then passed on to the final phase in lines 5 - 6, which starts with one final application of Alg. S2. At this point there may still be false links because Alg. S2 may fail to remove a false link between variables Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} if neither of the two is an ancestor of the other. This is the purpose of Algorithm S3 (pseudocode in Sec. S5 of the SM) that is called in line 6, which thus plays a similar role as the second removal phase in (SVAR-)FCI. Algorithm S3 repeatedly applies orientation rules and uses identified (non-)ancestorships in the same way as Alg. S2. As stated in the following theorems, LPCMCI will then have found the PAG P(G)\mathcal{P}(\mathcal{G}). Moreover, its output does not depend on the order of the NN time series variables XjX^{j}. The number kk of iterations in the preliminary phase is a hyperparameter and we write LPCMCI(k=k0k=k_{0}) when specifying k=k0k=k_{0}. Stationarity is enforced at every step of the algorithm, i.e., whenever an edge is removed or oriented all equivalent time shifted edges (called ‘homologous’ in [Entner and Hoyer, 2010]) are removed too and oriented in the same way.

Assume that there is a process as in eq. (1) without causal cycles, which generates a distribution PP that is faithful to its time series graph G\mathcal{G}. Further assume that there are no selection variables, and that we are given perfect statistical decisions about CI of observed variables in PP. Then LPCMCI is sound and complete, i.e., it returns the PAG P(G)\mathcal{P}(\mathcal{G}).

The output of LPCMCI does not depend on the order of the NN time series variables XjX^{j} (the jj-indices may be permuted).

5 Back to the motivational example in Fig. 1

The first iteration (l=0l=0) of LPCMCI also misses the links Yt−1→ZtY_{t-1}{\rightarrow}Z_{t} and finds Xt∗ ⁣\-− ⁣∗YtX_{t}{\ast\!{\--}\!\ast}Y_{t} in only few realizations (we here suppress middle marks for simpler notation), but orientations are already improved as compared to SVAR-FCI. Rule R1′\mathcal{R}1^{\prime} applied after p=1p=1 orients the auto-links Xt−1→XtX_{t-1}{\rightarrow}X_{t} and Yt−1→YtY_{t-1}{\rightarrow}Y_{t}. This leads to the parents sets pa(Xt,C(G))={Xt−1}pa(X_{t},\mathcal{C}(\mathcal{G}))=\{X_{t-1}\} and pa(Yt,C(G))={Yt−1}pa(Y_{t},\mathcal{C}(\mathcal{G}))=\{Y_{t-1}\}, which are then used as default conditions in subsequent CI tests. This is relevant for orientation rule R0′\mathcal{R}0^{\prime} that tests whether the middle node of the unshielded triple Xt−1∘ ⁣→Xt∘ ⁣\-− ⁣∘YtX_{t-1}{\circ\!{\rightarrow}}X_{t}{\circ\!{\--}\!\circ}Y_{t} does not lie in the separating set of Xt−1X_{t-1} and YtY_{t}. Due to the extra conditions the relevant partial correlation ρ(Xt−1;Yt∣Xt,Xt−2,Yt−1)\rho(X_{t-1};Y_{t}|X_{t},X_{t-2},Y_{t-1}) now correctly turns out significant. This identifies XtX_{t} as collider and (since the same applies with XX and YY swapped) the bidirected edge Xt↔YtX_{t}{\leftrightarrow}Y_{t} is correctly found. The next iteration (l=1l=1) then uses the parents obtained in the l=0l=0 iteration, here the autodependencies plus the (false) link Yt−2→ZtY_{t-2}{\rightarrow}Z_{t}, as default conditions already from the beginning for p=0p=0. While the correlation ρ(Xt;Yt)\rho(X_{t};Y_{t}) used by SVAR-FCI is often non-significant, the partial correlation ρ(Xt;Yt∣Xt−1,Yt−1)\rho(X_{t};Y_{t}|X_{t-1},Y_{t-1}) is significant since the autocorrelation noise was removed and effect size increased (indicated as link color in Fig. 1) in accord with Theorem 1. Also the lagged link is correctly detected because ρ(Yt−1;Zt∣Yt−2,Zt−1)\rho(Y_{t-1};Z_{t}|Y_{t-2},Z_{t-1}) is larger than ρ(Yt−1;Zt∣Yt−2)\rho(Y_{t-1};Z_{t}|Y_{t-2}). The false link Yt−2→ZtY_{t-2}{\rightarrow}Z_{t} is now removed since the separating node Yt−1Y_{t-1} was retained. This wrong parentship is then also not used for default conditioning anymore. Orientations of bidirected links are facilitated as before and Yt−1→ZtY_{t-1}{\rightarrow}Z_{t} is oriented by rule R1′\mathcal{R}1^{\prime}.

Numerical experiments

We here compare LPCMCI to the SVAR-FCI and SVAR-RFCI baselines with CI tests based on linear partial correlation (ParCorr), for an overview of further experiments presented in the SM see the end of this section. To limit runtime we constrain the cardinality of conditioning sets to 33 in the second removal phase of SVAR-FCI and in Alg. S3 of LPCMCI (excluding the default conditions Sdef\mathcal{S}_{def}, i.e., ∣S∣≤3|\mathcal{S}|\leq 3 but ∣S∪Sdef∣>3|\mathcal{S}\cup\mathcal{S}_{def}|>3 is allowed). We generate datasets with this variant of the SCM in eq. (1):

In Fig. 2A we show LPCMCI for k=0,…,4k=0,\ldots,4 against increasing autocorrelation aa. Note that a=0a=0 implies a different true PAG than a>0a>0. The largest gain, both in recall and precision, comes already from k=0k=0 to k=1k=1. For higher kk LPCMCI maintains false positive control and orientation precision, and improves recall before converging at k=4k=4. The gain in recall is largely attributable to improved effect size. On the downside, larger kk increase cardinality (estimation dimension) and runtime. However, the runtime increase is only marginal because later ll-steps converge faster and the implementation caches CI test results. Fig. 2B shows a comparison of LPCMCI with SVAR-FCI and SVAR-RFCI against autocorrelation, depicting LPCMCI for k=0k=0 and k=4k=4. Already LPCMCI(k=0k=0) has higher adjacency and orientation recall than SVAR-FCI and SVAR-RFCI for increasing autocorrelation while they are on par for a=0a=0. This comes at the price of precision, especially lagged orientation precision. LPCMCI(k=4k=4) has more than 0.4 higher contemporaneous orientation recall and still 0.1 higher lagged orientation recall than SVAR-FCI and SVAR-RFCI. Lagged precision is higher for high autocorrelation and contemporaneous precision is slightly lower. LPCMCI(k=4k=4) maintains high recall for increasing autocorrelation a≥0.5a\geq 0.5 while SVAR-FCI and SVAR-RFCI’s recall sharply drops. These results can be explained by improved effect size while the increased cardinality (≈5\approx 5) of separating sets is still moderate compared to the sample size T=500T=500. LPCMCI(k=0k=0) has similar low runtime as SVAR-RFCI, for LPCMCI(k=4k=4) it is comparable to that of SVAR-FCI. In Fig. 2C we show results for different numbers of variables NN. As expected, all methods have decreasing adjacency and orientation recall for higher NN, but LPCMCI starts at a much higher level. For N=3N=3 both SVAR-FCI and SVAR-RFCI cannot control false positives for lagged links while for larger NN false positives become controlled. The reason is the interplay of ill-calibrated CI tests for smaller NN due to autocorrelation (inflating false positives) with sequential testing for larger NN (reducing false positives), as has been discussed in [Runge et al., 2019b, Runge, 2020] for the similar PC algorithm [Spirtes and Glymour, 1991]. LPCMCI better controls false positives here, its decreasing recall can be explained by decreasing effect size and increasing cardinality. Runtime becomes slightly larger than that of SVAR-FCI for larger NN. Fig. 2D shows results for different maximum time lags τmax⁡\tau_{\max}. Note that these imply different true PAGs, especially since further lagged links appear for larger τmax⁡\tau_{\max}. All methods show a decrease in lagged recall and precision, whereas contemporaneous recall and precision stay almost constant. For SVAR-FCI there is an explosion of runtime for higher τmax⁡\tau_{\max} due to excessive searches of separating sets in its second removal phase. In LPCMCI this is partially overcome since the sets that need to be searched through are more restricted.

In Sec. S9 in the SM we present further numerical experiments. This includes more combinations of model parameters N, a, λ, TN,\,a,\,\lambda,\,T, nonlinear models together with the nonparametric GPDC CI test [Runge et al., 2019b], and a comparison to a residualization approach. In these cases the results are largely comparable to those above regarding relative performances. For non-time series models we find that, although all findings of Secs. 3.1 through 3.4 still apply, LPCMCI(kk) is on par with the baselines for k=0k=0 while it shows inflated false positives for k=4k=4. Similarly, for models of discrete variables together with a GG-test of conditional independence LPCMCI(kk) performs comparable to the baselines for k=0k=0 and gets worse with increasing kk. A more detailed analysis of LPCMCI’s performance in these two cases, non-time series and discrete models, is subject to future research.

Application to real data

We here discuss an application of LPCMCI to average daily discharges of rivers in the upper Danube basin, measurements of which are made available by the Bavarian Environmental Agency at https://www.gkd.bayern.de. We consider measurements from the Iller at Kempten (XX), the Danube at Dillingen (YY), and the Isar at Lenggries (ZZ). While the Iller discharges into the Danube upstream of Dillingen with the water from Kempten reaching Dillingen within about a day, the Isar reaches the Danube downstream of Dillingen. We thus expect a contemporaneous link Xt→YtX_{t}{\rightarrow}Y_{t} and no direct causal relationships between the pairs X,ZX,Z and Y,ZY,Z. Since all variables may be confounded by rainfall or other weather conditions, this choice allows to test the ability of detecting and distinguishing directed and bidirected links. To keep the sample size comparable with those in the simulation studies we restrict to the records of the past three years (2017-2019). We set τmax⁡=2\tau_{\max}=2 and apply LPCMCI(kk) for k=0,…,4k=0,\ldots,4 and α=0.01\alpha=0.01 with ParCorr CI tests. Restricting the discussion to contemporaneous links, LPCMCI correctly finds Xt→YtX_{t}{\rightarrow}Y_{t} for k=1,…,4k=1,\ldots,4 and for k=0k=0 wrongly finds Xt↔YtX_{t}{\leftrightarrow}Y_{t}. For all kk it infers the bidirected link Xt↔ZtX_{t}{\leftrightarrow}Z_{t}, which is plausible due to confounding by weather. For k=3,4k=3,4 LPCMCI wrongly finds the directed link Zt→YtZ_{t}{\rightarrow}Y_{t}, which should either be absent or bidirected. The results are similar for α=0.05\alpha=0.05, with the difference that LPCMCI then always correctly finds Xt→YtX_{t}{\rightarrow}Y_{t} but wrongly infers Zt→YtZ_{t}{\rightarrow}Y_{t} also for k=1,2k=1,2. In comparison, SVAR-FCI with ParCorr CI tests finds the contemporaneous adjacencies Yt∘ ⁣\-− ⁣∘Xt∘ ⁣\-− ⁣∘ZtY_{t}{\circ\!{\--}\!\circ}X_{t}{\circ\!{\--}\!\circ}Z_{t} for α=0.01,0.03,0.05,0.08,0.1,0.3,0.5\alpha=0.01,0.03,0.05,0.08,0.1,0.3,0.5 and Yt← ⁣∘Xt∘ ⁣\-− ⁣∘ZtY_{t}{{\leftarrow}\!\circ}X_{t}{\circ\!{\--}\!\circ}Z_{t} for α=0.8\alpha=0.8. The estimated PAGs are shown in Sec. S10 of the SM.

We note that since the discharge values show extreme events caused by heavy rainfall, the assumption of stationarity is expected to be violated. For other analyses of the dataset of average daily discharges see [Asadi et al., 2015, Engelke and Hitz, 2020, Mhalla et al., 2020, Gnecco et al., 2020]. More detailed applications to and analyses of LPCMCI on real data are subject to future research.

Discussion and future work

Major strengths of LPCMCI lie in its significantly improved recall as compared to the SVAR-FCI and SVAR-RFCI baselines for autocorrelated continuous variables, which grows with autocorrelation and is particularly strong for contemporaneous links. At the same time LPCMCI (for k>0k>0) has better calibrated CI test leading to better false positive control than the baselines. We cannot prove false positive control, but are not aware of any such proof for other constraint-based algorithms in the challenging latent, nonlinear, autocorrelated setting considered here. A general weakness, which also applies to (SVAR-)FCI and (SVAR-)RFCI, is the faithfulness assumption. If violated in practice this may lead to wrong conclusions. We did not attempt to only assume the weaker form of adjacency-faithfulness [Ramsey et al., 2006], which to our knowledge is however generally an open problem in the causally insufficient case. Moreover, like all constraint-based methods, our method cannot distinguish all members of Markov equivalence classes like methods based on the SCM framework such as e.g. TS-LiNGAM [Hyvärinen et al., 2008] and TiMINo [Peters et al., 2013] do. These, however, restrict the type of dependencies. Concluding, this paper shows how causal discovery in autocorrelated time series benefits from increasing the effect size of CI tests by including causal parents in conditioning sets. The LPCMCI algorithm introduced here implements this idea by entangling the removal and orientation of edges. As demonstrated in extensive simulation studies, LPCMCI achieves much higher recall than the SVAR-FCI and SVAR-RFCI baselines for autocorrelated continuous variables. We further presented novel orientation rules and an extension of graphical terminology by the notions of middle marks and weakly minimal separating sets. Code for all studied methods is provided as part of the tigramite Python package at https://github.com/jakobrunge/tigramite. In future work one may relax assumptions of LPCMCI to allow for selection bias and non-stationarity. Background knowledge about (non-)ancestorships may be included without any conceptual modification. Since the presented orientation rules are applicable at any point and thus able to determine (non-)ancestorships already after having performed only few CI tests, the rules may also be useful for causal feature selection in the presence of hidden confounders, a task that for time series has recently been considered in [Mastakouri et al., 2020]. Lastly, it would be interesting to combine the ideas presented here with ideas from the structural causal model framework.

Broader Impact

Observational causal discovery is especially important for the analysis of systems where experimental manipulation is impossible due to ethical reasons, e.g., in climate research or neuroscience. Our work focuses on the challenging time series case that is of particular relevance in these fields. Understanding causal climate mechanisms from large observational satellite datasets helps climate researchers in understanding and modeling climate change as a main challenge of humanity. Since all code will be published open-source, our methods can be used by anyone. Causal discovery is a rather fundamental topic and we deem the potential for misuse as low.

Acknowledgments and Disclosure of Funding

We thank the anonymous referees for considered and helpful comments that helped to improve the paper. Thanks also goes to Christoph Käding for proof-reading.

DKRZ (Deutsches Klimarechenzentrum) provided computational resources (grant no. 1083).

References

Supplementary material

In this supplementary material we present a brief overview of the FCI algorithm and related graphical terminology as well as details, proofs, further simulation studies, and figures for illustrating the application to the real data example that have been omitted from the main text for reasons of space.

We always assume that there are no selection variables. When saying that S\mathcal{S} is a separating set of AA and BB the exclusions A∉SA\notin\mathcal{S} and B∉SB\notin\mathcal{S} are implicit. The term subset without the attribute proper refers to both proper subsets and the original set itself, although in formulas we make this explicit by using the symbol ⊆\subseteq instead of ⊂\subset. We switch between using variable names such as Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} that make the time structure explicit, and generic names such as AA and BB that do not make this explicit (using generic names does, however, not imply that there is no time structure). The precise configurations of numerical experiments are given in the respective panel label and figure caption.

S1 Relevant graphical terminology and notation

The structural causal model (SCM) in eq. (1) can be graphically represented by its time series graph (also known as full time graph) G\mathcal{G} [Spirtes et al., 2000, Pearl, 2000, Peters et al., 2017]. This graph contains a node for each variable in the SCM (we use the words node and variable interchangeably in this context) and an edge (link, words again used interchangeably) Xt−τi→XtjX^{i}_{t-\tau}{\rightarrow}X^{j}_{t} if and only if Xt−τi∈pa(Xtj)X^{i}_{t-\tau}\in pa(X^{j}_{t}). It can be understood as a directed acyclic graph (DAG) with infinite extension and repeating structure along the time axis. The parents pa(Xtj,G)=pa(Xtj)pa(X^{j}_{t},\mathcal{G})=pa(X^{j}_{t}) of XtjX^{j}_{t} are the set of nodes Xt−τiX^{i}_{t-\tau} with Xt−τi→XtjX^{i}_{t-\tau}{\rightarrow}X^{j}_{t} in G\mathcal{G}, the ancestors an(Xtj,G)an(X^{j}_{t},\mathcal{G}) are the set of nodes connected to XtjX^{j}_{t} by a directed path in G\mathcal{G} together with XtjX^{j}_{t} itself (so every node is an ancestor of itself), and the adjacencies adj(Xtj,G)adj(X^{j}_{t},\mathcal{G}) the set of nodes connected to XtjX^{j}_{t} by any edge in G\mathcal{G}. Parents are a special case of ancestors. We call XtjX^{j}_{t} a descendant of Xt−τiX^{i}_{t-\tau} if Xt−τiX^{i}_{t-\tau} is an ancestor of XtjX^{j}_{t} (this implies that every node is a descendant of itself). A link between Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} is lagged if τ>0\tau>0, contemporaneous if τ=0\tau=0, for i=ji=j we speak of an autodependency link, and for i≠ji\neq j of a cross link.

In the presence of unobserved variables so called maximal ancestral graphs (MAGs) [Richardson and Spirtes, 2002] provide an appropriate graphical language for representing causal relationships. Since in this paper we assume the absence of selection variables, the relevant MAGs M\mathcal{M} contain two types of edges: directed ‘→{\rightarrow}’ and bidirected ‘↔{\leftrightarrow}’. These edges are interpreted as composite objects constituted by the symbols at their ends (edge marks), which can be an (arrow-)head (‘>’ or ‘<’) or a tail (‘-’). These edge marks carry a causal meaning: Tails convey ancestorships in G\mathcal{G}, i.e., Xt−τi→XtjX^{i}_{t-\tau}{\rightarrow}X^{j}_{t} in M\mathcal{M} asserts that Xt−τi∈an(Xtj,G)X^{i}_{t-\tau}\in an(X^{j}_{t},\mathcal{G}); heads convey non-ancestorships in G\mathcal{G}, i.e., Xt−τi→XtjX^{i}_{t-\tau}{\rightarrow}X^{j}_{t} and Xt−τi↔XtjX^{i}_{t-\tau}{\leftrightarrow}X^{j}_{t} in M\mathcal{M} say that Xtj∉an(Xt−τi,G)X^{j}_{t}\notin an(X^{i}_{t-\tau},\mathcal{G}). As an immediate consequence of time order there cannot be a link Xt−τi←XtjX^{i}_{t-\tau}{\leftarrow}X^{j}_{t} for τ>0\tau>0 (an effect cannot precede its cause). Parents, ancestors and adjacencies are defined in the same way as for DAGs, and the spouses sp(Xtj,M)sp(X^{j}_{t},\mathcal{M}) of XtjX^{j}_{t} are the set of nodes Xt−τiX^{i}_{t-\tau} with Xt−τi↔XtjX^{i}_{t-\tau}{\leftrightarrow}X^{j}_{t} in M\mathcal{M}. Two variables are connected by an edge in M\mathcal{M} if and only if they cannot be d-separated by a subset of observed variables in G\mathcal{G}, and d-separation in G\mathcal{G} restricted to observed variables is equivalent to m-separation in M\mathcal{M} [Pearl, 1988, Verma and Pearl, 1990, Richardson and Spirtes, 2002]. The parents (ancestors, adjacencies, spouses) of a set of variables are defined as the union of parents (ancestors, adjacencies, spouses) of the individual variables. Example: pa({A,B},⋅)=pa(A,⋅)∪pa(B,⋅)pa(\{A,B\},\cdot)=pa(A,\cdot)\cup pa(B,\cdot).

The Markov equivalence class of a MAG is the set of all MAGs that yield the exact same set of m-separations [Zhang, 2008]. These are graphically represented by partial ancestral graphs (PAGs), in which the set of allowed edge marks is extended by the circle mark ‘∘\circ’ [Zhang, 2008]. Such a graph is said to be a PAG for MAG M\mathcal{M} if i)i) it has the same nodes and adjacencies as M\mathcal{M} and if ii)ii) all its non-circle edge marks are shared by all members in the Markov equivalence class of M\mathcal{M}. It is further said to be maximally informative if for all its circle marks there is some member of the equivalence class in which there is a tail instead and some other member in which there is a head instead. The wildcard symbol ‘∗\ast’ may stand for all three possible edge marks (head, tail, circle). This is a notational device only, there are no ‘∗\ast’ marks in PAGs.

S2 Some background on FCI

The Fast Causal Inference (FCI) algorithm is an algorithm for constraint-based causal discovery in the presence of unobserved variables [Spirtes et al., 1995, Spirtes et al., 2000, Zhang, 2008]. It allows for both latent confounders and selection variables, although in this paper we assume the absence of selection variables. Under the assumptions of faithfulness [Spirtes et al., 2000], acyclicity, and the existence of an underlying SCM the algorithm determines the maximally informative PAG from perfect statistical decisions of conditional independencies in the distribution PP generated by the SCM. The algorithm is based on the following fact:

Let AA and BB be two nodes such that A∉adj(B,M)A\notin adj(B,\mathcal{M}) and B∉an(A,M)B\notin an(A,\mathcal{M}), then they are m-separated by some subset of D-Sep(B,A,M)\text{D-Sep}(B,A,\mathcal{M}). Here:

Node V∈MV\in\mathcal{M} is in D-Sep(B,A,M)\text{D-Sep}(B,A,\mathcal{M}) if and only if i)i) it is not BB and ii)ii) there is a path pVp_{V} between BB and VV such that iia)iia) all nodes on pVp_{V} are in an({A,B},M)an(\{A,B\},\mathcal{M}) and iib)iib) all non end-point nodes on pVp_{V} are colliders on pVp_{V}.

A node BB is a collider on a path pp if the two edges on pp involving BB both have a head at BB, as e.g. in A∗ ⁣→B← ⁣∗CA{\ast\!{\rightarrow}}B{{\leftarrow}\!\ast}C, otherwise it is a non-collider. Together with acyclicity Proposition S1 guarantees that non-adjacent variables AA and BB are m-separated by a subset of D-Sep(B,A,M)\text{D-Sep}(B,A,\mathcal{M}) or a subset of D-Sep(A,B,M)\text{D-Sep}(A,B,\mathcal{M}). However, M\mathcal{M} is initially unknown and the D-Sep sets cannot be determined without prior work. Therefore, starting from the complete graph over the set of variables, FCI first performs tests of CI given subset of pa(B,M′)pa(B,\mathcal{M}^{\prime}) and pa(A,M′)pa(A,\mathcal{M}^{\prime}) where M′\mathcal{M}^{\prime} is the (changing) graph that the algorithm operates on. Whenever two variables are found to be conditionally independent given some subset of variables, the edge between them is removed and their separating set is remembered. This removes some, but in general not all false links. Second, the algorithm orients all resulting unshielded triples A∗ ⁣\-− ⁣∗B∗ ⁣\-− ⁣∗CA{\ast\!{\--}\!\ast}B{\ast\!{\--}\!\ast}C in M′\mathcal{M}^{\prime} (these are triples A∗ ⁣\-− ⁣∗B∗ ⁣\-− ⁣∗CA{\ast\!{\--}\!\ast}B{\ast\!{\--}\!\ast}C such that AA and CC are not adjacent) as colliders A∗ ⁣→B← ⁣∗CA{\ast\!{\rightarrow}}B{{\leftarrow}\!\ast}C if BB is not in the separating set of AA and CC (rule R0\mathcal{R}0). We note that at this point head marks are not guaranteed to convey non-ancestorships, but those unshielded triples in M′\mathcal{M}^{\prime} that are part of M\mathcal{M} are oriented correctly. This is enough to determine the Possible-D-Sep sets, see [Spirtes et al., 2000], which are supersets of the D-Sep sets define above. Third, FCI performs tests of CI given subsets of Possible-D-Sep(B,A,M′)\text{Possible-D-Sep}(B,A,\mathcal{M}^{\prime}) and Possible-D-Sep(A,B,M′)\text{Possible-D-Sep}(A,B,\mathcal{M}^{\prime}). This removes all false links. Fourth, all previous orientations are undone, R0\mathcal{R}0 is applied once more and then followed by exhaustive application of the ten rules R1\mathcal{R}1 through R10\mathcal{R}10. Tests of CI are preferentially made given smaller conditioning sets S\mathcal{S}, i.e., FCI first tests sets with ∣S∣=p=0|\mathcal{S}|=p=0, then those with ∣S∣=p=1|\mathcal{S}|=p=1 and so on.

S3 LPCMCI-PAGs

Section 3.2 introduced middle marks and LPCMCI-PAGs. We here give a more formal definition of these notions. Recall that we assume the absence of selection variables.

Consider a simple graph C(G)\mathcal{C}(\mathcal{G}) over the same set of variables as M(G)\mathcal{M}(\mathcal{G}) with edges of the type \ensurestackMath\stackon[−0pt]→∗{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}, \ensurestackMath\stackon[−0pt]↔∗{\mathbin{\ensurestackMath{\stackon[-0pt]{{\leftrightarrow}}{{\scriptstyle\ast}}}}}, \ensurestackMath\stackon[−2pt]∘ ⁣→∗{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\rightarrow}}}{{\scriptstyle\ast}}}}}, and \ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣∘∗{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\circ}}{{\scriptstyle\ast}}}}} where the wildcard ‘∗\ast’ can stand for the five possible middle marks ‘?’, ‘L’, ‘R’, ‘!’, or ‘’ (empty). Such C(G)\mathcal{C}(\mathcal{G}) is a LPCMCI-PAG for G\mathcal{G} with respect to total order << if for any probability distribution PP that is Markov relative and faithful to G\mathcal{G} the following seven conditions hold:

If A\ensurestackMath\stackon[−2pt]∗ ⁣→∗BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B in C(G)\mathcal{C}(\mathcal{G}), then B∉an(A,G)B\notin an(A,\mathcal{G}).

If A\ensurestackMath\stackon[−0pt]→∗BA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B in C(G)\mathcal{C}(\mathcal{G}), then A∈an(B,G)A\in an(B,\mathcal{G}).

If A∉adj(B,C(G))A\notin adj(B,\mathcal{C}(\mathcal{G})), then A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})).

If A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B in C(G)\mathcal{C}(\mathcal{G}) for A<BA<B, then B∉an(A,G)B\notin an(A,\mathcal{G}) or there is no S⊆pa(A,M(G))\mathcal{S}\subseteq pa(A,\mathcal{M}(\mathcal{G})) that m-separates AA and BB in M(G)\mathcal{M}(\mathcal{G}).

If A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B in C(G)\mathcal{C}(\mathcal{G}) for A<BA<B, then A∉an(B,G)A\notin an(B,\mathcal{G}) or there is no S⊆pa(B,M(G))\mathcal{S}\subseteq pa(B,\mathcal{M}(\mathcal{G})) that m-separates AA and BB in M(G)\mathcal{M}(\mathcal{G}).

If A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B in C(G)\mathcal{C}(\mathcal{G}), then both A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B and A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B would be correct.

If A∗ ⁣\-− ⁣∗BA{\ast\!{\--}\!\ast}B in C(G)\mathcal{C}(\mathcal{G}), then B∈adj(A,M(G))B\in adj(A,\mathcal{M}(\mathcal{G})).

The first two points give the same causal meaning to head and tail edge marks as they have in MAGs and PAGs. We repeat that while this definition involves a fixed total order << , its choice is arbitrary and without influence on the conveyed causal information. Moreover, the definition does not depend on time order. Also note that if all middle marks in C(G)\mathcal{C}(\mathcal{G}) are empty, then C(G)\mathcal{C}(\mathcal{G}) is a PAG for M(G)\mathcal{M}(\mathcal{G}) (guaranteed by the first, second, third, and seventh point). Parents, ancestors, descendants, spouses, and adjacencies in C(G)\mathcal{C}(\mathcal{G}) are defined (and denoted) in the same way as for MAGs and PAGs, i.e., without being influenced by middle marks.

S4 Orientation rules for LPCMCI-PAGs

The following is a list of rules for orienting edges in LPCMCI-PAGs. These are extensions of the standard FCI rules [Zhang, 2008] as well as the unshielded triple rule and discriminating path rule of RFCI [Colombo et al., 2012]. If a rule proposes to orient the same edge mark as both tail and head, this is resolved by putting a conflict mark ‘x’ instead. The edge mark wildcard ‘∗\ast’ is redefined to stand for the circle, head, tail or conflict mark; the second wildcard symbol ‘⋆\star’ excludes the conflict mark. For two reasons we explicitly present and prove also those rules that generalize without much modification: To demonstrate their validity for LPCMCI-PAGs, and to show in which cases the rules also apply to structures with conflict marks.

If X\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗Y\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗ZX{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}Y{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}Z is an unshielded triple we write SXZ\mathcal{S}_{XZ} for the separating set of XX and ZZ. Many rules require that SXZ\mathcal{S}_{XZ} be weakly minimal and Y∈SXZY\in\mathcal{S}_{XZ}. In all these case the requirement of weak minimality can be dropped if X∗ ⁣\-− ⁣∗Y∗ ⁣\-− ⁣∗ZX{\ast\!{\--}\!\ast}Y{\ast\!{\--}\!\ast}Z, i.e., if both middle marks on X\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗Y\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗ZX{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}Y{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}Z are empty. For this reason the standard FCI orientation rules are implied as special cases.

R0′a\mathbf{\mathcal{R}0^{\prime}a}: For all unshielded triples A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗B\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}C: If ia)ia) A∗ ⁣\-− ⁣∗BA{\ast\!{\--}\!\ast}B or ib)ib) AA and BB are conditionally dependent given [\mathcal{S}_{AC}\cup pa(\{A,B\},\mathcal{C}(\mathcal{G}))]\setminus\{A,B,\text{nodes in the future of bothAandandB}\}, iia)iia) C∗ ⁣\-− ⁣∗BC{\ast\!{\--}\!\ast}B or iib)iib) CC and BB are conditionally dependent given [\mathcal{S}_{AC}\cup pa(\{C,B\},\mathcal{C}(\mathcal{G}))]\setminus\{C,B,\text{nodes in the future of bothCandandB}\}, iii)iii) none of the edge mark‘∗\ast’s at BB on A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗B\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}C is ‘-’ or ‘x’, and iviv) B∉SACB\notin\mathcal{S}_{AC}, then mark the unshielded triple for orientation as collider A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−2pt]← ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{{\leftarrow}\!\ast}}{{\scriptstyle\ast}}}}}C. Condition ib)ib) need only be checked if not ia)ia), iib)iib) need only be checked if not iia)iia), and iv)iv) need only be checked if all previous conditions are true. If ib)ib) or iib)iib) find a conditional independence, mark the corresponding edge(s) for removal.

R0′b\mathbf{\mathcal{R}0^{\prime}b}: For all unshielded triples A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣⋆!CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\star}}{{\scriptscriptstyle!}}}}}C and for all unshielded triples A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−1pt]∘ ⁣\-− ⁣⋆RCA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-1pt]{{\circ\!{\--}\!\star}}{{\scriptscriptstyle R}}}}}C with B<CB<C and for all unshielded triples A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−1pt]∘ ⁣\-− ⁣⋆LCA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-1pt]{{\circ\!{\--}\!\star}}{{\scriptscriptstyle L}}}}}C with B>CB>C: If ia)ia) A∗ ⁣→BA{\ast\!{\rightarrow}}B or ib)ib) AA and BB are conditionally dependent given [\mathcal{S}_{AC}\cup pa(\{A,B\},\mathcal{C}(\mathcal{G}))]\setminus\{A,B,\text{nodes in the future of bothAandandB}\}, and ii)ii) B∉SACB\notin\mathcal{S}_{AC}, then mark the edge between BB and CC for orientation as B\ensurestackMath\stackon[−2pt]← ⁣⋆∗CB{\mathbin{\ensurestackMath{\stackon[-2pt]{{{\leftarrow}\!\star}}{{\scriptstyle\ast}}}}}C (the middle mark remains as it was before). Condition ib)ib) need only be checked if not ia)ia). If ib)ib) finds a conditional independence, mark the corresponding edge for removal.

R0′c\mathbf{\mathcal{R}0^{\prime}c}: For all unshielded triples A∗ ⁣\-− ⁣∗B\ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣⋆!CA{\ast\!{\--}\!\ast}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\star}}{{\scriptscriptstyle!}}}}}C and for all unshielded triples A∗ ⁣\-− ⁣∗B\ensurestackMath\stackon[−1pt]∘ ⁣\-− ⁣⋆RCA{\ast\!{\--}\!\ast}B{\mathbin{\ensurestackMath{\stackon[-1pt]{{\circ\!{\--}\!\star}}{{\scriptscriptstyle R}}}}}C with B<CB<C and for all unshielded triples A∗ ⁣\-− ⁣∗B\ensurestackMath\stackon[−1pt]∘ ⁣\-− ⁣⋆LCA{\ast\!{\--}\!\ast}B{\mathbin{\ensurestackMath{\stackon[-1pt]{{\circ\!{\--}\!\star}}{{\scriptscriptstyle L}}}}}C with B>CB>C: If B∉SACB\notin\mathcal{S}_{AC}, then mark the edge between BB and CC for orientation as B\ensurestackMath\stackon[−2pt]← ⁣⋆∗CB{\mathbin{\ensurestackMath{\stackon[-2pt]{{{\leftarrow}\!\star}}{{\scriptstyle\ast}}}}}C (the middle mark remains as it was before).

R0′d\mathbf{\mathcal{R}0^{\prime}d}: For all unshielded triples A∗ ⁣\-− ⁣ ⁣∘ ⁣B∘ ⁣\-− ⁣ ⁣ ⁣∗CA{\ast\!{\--}}\!\!\circ\!B{\circ\!{\--}}\!\!\!\ast C and for all unshielded triples A∗ ⁣→B∘ ⁣\-− ⁣ ⁣ ⁣∗CA{\ast\!{\rightarrow}}B{\circ\!{\--}}\!\!\!\ast C: If B∉SACB\notin\mathcal{S}_{AC}, then mark the unshielded triple for orientation as collider A∗ ⁣→B← ⁣∗CA{\ast\!{\rightarrow}}B{{\leftarrow}\!\ast}C.

R1′\mathbf{\mathcal{R}1^{\prime}}: For all unshielded triples A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣⋆∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\star}}{{\scriptstyle\ast}}}}}C: If SAC\mathcal{S}_{AC} is weakly minimal and B∈SACB\in\mathcal{S}_{AC}, then mark the edge between BB and CC for orientation as B\ensurestackMath\stackon[−0pt]→∗CB{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}C.

R2′\mathbf{\mathcal{R}2^{\prime}}: For all A\ensurestackMath\stackon[−0pt]→∗B\ensurestackMath\stackon[−2pt]∗ ⁣→∗CA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}C with A\ensurestackMath\stackon[−2pt]⋆ ⁣\-− ⁣∘∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\--}\!\circ}}{{\scriptstyle\ast}}}}}C and for all A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−0pt]→∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}C with A\ensurestackMath\stackon[−2pt]⋆ ⁣\-− ⁣∘∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\--}\!\circ}}{{\scriptstyle\ast}}}}}C: Mark the edge between AA and CC for orientation as A\ensurestackMath\stackon[−2pt]⋆ ⁣→∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\rightarrow}}}{{\scriptstyle\ast}}}}}C.

R3′\mathbf{\mathcal{R}3^{\prime}}: For all unshielded triples A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−2pt]← ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{{\leftarrow}\!\ast}}{{\scriptstyle\ast}}}}}C with A\ensurestackMath\stackon[−2pt]⋆ ⁣\-− ⁣∘∗D\ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣⋆∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\--}\!\circ}}{{\scriptstyle\ast}}}}}D{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\star}}{{\scriptstyle\ast}}}}}C and D\ensurestackMath\stackon[−2pt]⋆ ⁣\-− ⁣∘∗BD{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\--}\!\circ}}{{\scriptstyle\ast}}}}}B: If SAC\mathcal{S}_{AC} is weakly minimal and D∈SACD\in\mathcal{S}_{AC}, then mark the edge between DD and BB for orientation as D\ensurestackMath\stackon[−2pt]⋆ ⁣→∗BD{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B.

R4′\mathbf{\mathcal{R}4^{\prime}}: Use the discriminating path rule of [Colombo et al., 2012] with the following modification: When the rule instructs to test whether any pair (A,B)(A,B) of variables is conditionally independent given any set S\mathcal{S}, then i)i) if AA and BB are connected by an edge with empty middle mark do not make this test, and ii)ii) else replace S\mathcal{S} with [\mathcal{S}\cup pa(\{A,B\},\mathcal{C}(\mathcal{G}))]\setminus\{A,B,\text{nodes in the future of bothAandandB}\}.

R8′\mathbf{\mathcal{R}8^{\prime}}: For all A\ensurestackMath\stackon[−0pt]→∗B\ensurestackMath\stackon[−0pt]→∗CA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}C with A\ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣⋆∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\star}}{{\scriptstyle\ast}}}}}C: Mark the edge between AA and CC for orientation as A\ensurestackMath\stackon[−0pt]→∗CA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}C.

R9′\mathbf{\mathcal{R}9^{\prime}}: For all A1\ensurestackMath\stackon[−2pt]∘ ⁣→∗AnA_{1}{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\rightarrow}}}{{\scriptstyle\ast}}}}}A_{n} for which a)a) there is an uncovered potentially directed path from A1A_{1} to AnA_{n} through A2,…,An−1A_{2},\ldots,A_{n-1} (in this order) such that b)b) A2A_{2} is not adjacent to AnA_{n}: If for all k=1,…,n−1k=1,\ldots,n-1 ia)ia) Ak\ensurestackMath\stackon[−0pt]→∗Ak+1A_{k}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}A_{k+1} or ib)ib) SAk+1Ak−1\mathcal{S}_{A_{k+1}A_{k-1}} is weakly minimal and Ak∈SAk+1Ak−1A_{k}\in\mathcal{S}_{A_{k+1}A_{k-1}} (with the convention A0=AnA_{0}=A_{n}), then mark the edge between A1A_{1} and AnA_{n} for orientation as A1\ensurestackMath\stackon[−0pt]→∗AnA_{1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}A_{n}.

R10′\mathbf{\mathcal{R}10^{\prime}}: For all A\ensurestackMath\stackon[−2pt]∘ ⁣→∗DA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\rightarrow}}}{{\scriptstyle\ast}}}}}D for which a)a) there is Bn\ensurestackMath\stackon[−0pt]→∗D\ensurestackMath\stackon[−0pt]←∗CmB_{n}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}D{\mathbin{\ensurestackMath{\stackon[-0pt]{{\leftarrow}}{{\scriptstyle\ast}}}}}C_{m}, b)b) an uncovered potentially directed path pBp_{B} from A≡B0A\equiv B_{0} to BnB_{n} through B1,…,Bn−1B_{1},\ldots,B_{n-1} (in this order), c)c) an uncovered potentially directed path pCp_{C} from A≡C0A\equiv C_{0} to CmC_{m} through C1,…,Cm−1C_{1},\ldots,C_{m-1} (in this order) such that d)d) B1B_{1} and C1C_{1} are not adjacent: If i)i) SB1C1\mathcal{S}_{B_{1}C_{1}} is weakly minimal and A∈SB1C1A\in\mathcal{S}_{B_{1}C_{1}}, ii)ii) for all k=0,…,n−2k=0,\ldots,n-2 iia)iia) Bk+1\ensurestackMath\stackon[−0pt]→∗Bk+2B_{k+1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B_{k+2} or iib)iib) SBk+2Bk\mathcal{S}_{B_{k+2}B_{k}} is weakly minimal and Bk+1∈SBk+2BkB_{k+1}\in\mathcal{S}_{B_{k+2}B_{k}}, and iii)iii) for all k=0,…,m−2k=0,\ldots,m-2 iiia)iiia) Ck+1\ensurestackMath\stackon[−0pt]→∗Ck+2C_{k+1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}C_{k+2} or iiib)iiib) SCk+2Ck\mathcal{S}_{C_{k+2}C_{k}} is weakly minimal and Ck+1∈SCk+2CkC_{k+1}\in\mathcal{S}_{C_{k+2}C_{k}}, then mark the edge between AA and DD for orientation as A\ensurestackMath\stackon[−0pt]→∗DA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}D.

These rules orient edge marks. They are complemented by the following two rules for updating middle marks:

APR: (ancestor-parent-rule, see Lemma 1) Replace all edges A\ensurestackMath\stackon[−0pt]→!BA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle!}}}}}B by A→BA{\rightarrow}B, all edges A\ensurestackMath\stackon[−0pt]→LBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle L}}}}}B with A>BA>B by A→BA{\rightarrow}B, and all edges A\ensurestackMath\stackon[−0pt]→RBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle R}}}}}B with A<BA<B by A→BA{\rightarrow}B.

MMR: (middle-mark-rule) Replace all edges A\ensurestackMath\stackon[−2pt]∗ ⁣→?BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle?}}}}}B with A<BA<B by A\ensurestackMath\stackon[−1pt]∗ ⁣→LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle L}}}}}B, all edges A\ensurestackMath\stackon[−2pt]∗ ⁣→?BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle?}}}}}B with A>BA>B by A\ensurestackMath\stackon[−1pt]∗ ⁣→RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle R}}}}}B, all edges A\ensurestackMath\stackon[−1pt]∗ ⁣→RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle R}}}}}B with A<BA<B by A\ensurestackMath\stackon[−2pt]∗ ⁣→!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle!}}}}}B, and all edges A\ensurestackMath\stackon[−1pt]∗ ⁣→LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle L}}}}}B with A>BA>B by A\ensurestackMath\stackon[−2pt]∗ ⁣→!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptscriptstyle!}}}}}B.

S5 Pseudocode for Algorithms S2 and S3

In Sec. 3.4 of the main text we give pseudocode for LPCMCI in Algorithm 1. This involves calls to Algorithms S2 and S3, for which we here provide pseudocode and further explanations.

Algorithm S2 removes the edges between all pairs (Xt−τi,Xtj)(X^{i}_{t-\tau},X^{j}_{t}) of variables that are not adjacent in M(G)\mathcal{M}(\mathcal{G}) and for which one of them is an ancestor of the other (it may also removed edges between some pairs of non-adjacent variables for which neither one of them is ancestor of the other, but this is not guaranteed). To this end the algorithm tests for CI given S∪Sdef\mathcal{S}\cup\mathcal{S}_{def}, where the cardinality ∣S∣=p|\mathcal{S}|=p of S⊆Ssearch=apdst(Xtj,Xt−τi,C(G))∖Sdef\mathcal{S}\subseteq\mathcal{S}_{search}=apds_{t}(X^{j}_{t},X^{i}_{t-\tau},\mathcal{C}(\mathcal{G}))\setminus\mathcal{S}_{def} is successively increased. The apdstapds_{t} sets are defined in Sec. S7 below, they exclude all variables that have already been identified as non-ancestors of XtjX^{j}_{t}. This reflects the first design principle behind LPCMCI, see Sect. 3.1. The default conditioning set Sdef=pa({Xt−τi,Xtj},C(G))\mathcal{S}_{def}=pa(\{X^{i}_{t-\tau},X^{j}_{t}\},\mathcal{C}(\mathcal{G})) consists of all variables that have been marked as parents of Xt−τiX^{i}_{t-\tau} or XtjX^{j}_{t} in C(G)\mathcal{C}(\mathcal{G}), which implies that they are ancestors of Xt−τiX^{i}_{t-\tau} or XtjX^{j}_{t} in G\mathcal{G}. The extension of S\mathcal{S} to S∪Sdef\mathcal{S}\cup\mathcal{S}_{def} reflects the second design principle behind LPCMCI, see Sect. 3.1, and according to Lemma S4 cannot destroy m-separations. The parentships used to define Sdef\mathcal{S}_{def} are found by the application of orientation rules in line 18 (with Alg. S4, see further below in this section) that are made if at least one edge was removed in the current step of the repeat-loop (or have been passed on from an earlier iteration in the preliminary phase of LPCMCI). It is then necessary to restart with p=0p=0, otherwise future separating sets might not be weakly minimal. The rules may also find non-ancestorships, these then further restrict the apdstapds_{t} sets. Another novelty is that some edges are tested and removed (if found insignificant) before other edges are tested, see lines 2, 4 and the indentation of line 16. To be precise: All autodependency links are tested first, followed by cross links starting with lag τ=0\tau=0 and moving to lag τ=τmax⁡\tau=\tau_{\max} in steps of one. This ordering does not depend on the ordering of the NN time series variables XjX^{j} and does therefore not introduce order-dependence in the sense studied in [Colombo and Maathuis, 2014]. The algorithm converges once all middle marks in C(G)\mathcal{C}(\mathcal{G}) are ‘!’ or empty. By means of the APR rule (see Lemma 1 or Sect. S4) all edges with a tail mark will then have an empty middle mark, i.e., they cannot be m-separated and do not need further testing. Line 11 updates a memory for keeping track of the minimum test statistic value across all previous CI tests for a given pair of variables (the memory is initialized to plus infinity when line 1 of Algorithm 1 is executed). These values are used to sort Ssearch\mathcal{S}_{search} in line 7 such that Xt−τllX^{l}_{t-\tau_{l}} appears before Xt−τkkX^{k}_{t-\tau_{k}} in Ssearch\mathcal{S}_{search} if Imin⁡(Xtj,Xt−τll)>Imin⁡(Xtj,Xt−τkk)I^{\min}(X^{j}_{t},X^{l}_{t-\tau_{l}})>I^{\min}(X^{j}_{t},X^{k}_{t-\tau_{k}}). Note that in line 18 only a select subset of rules is applied and that these are only used to orient lagged links. Moreover, in line 22 we choose to apply the standard rule R4\mathcal{R}4 rather than the modified rule R4′\mathcal{R}4^{\prime}. The reason for this is that, as observed in [Colombo and Maathuis, 2014], the discriminating path rule (on which R4′\mathcal{R}4^{\prime} is based) becomes computationally intensive when applied in an order-independent way involving conflict resolution. We found these choices to work well in practice but do not claim their optimality.

Algorithm S3 is structurally similar to Algorithm S2. Once called in line 6 of Algorithm 1, all middle marks in C(G)\mathcal{C}(\mathcal{G}) are ‘!’ or empty. Whereas edges with empty middle mark are in M(G)\mathcal{M}(\mathcal{G}) for sure, some edges with middle mark ‘!’ might not be in M(G)\mathcal{M}(\mathcal{G}). Those latter type of edges are between pairs of variables in which neither one of them is ancestor of the other. According to Lemma S3 below in combination with Proposition S1 such pairs are m-separated by some subset of napdst(Xtj,Xt−τi,C(G))napds_{t}(X^{j}_{t},X^{i}_{t-\tau},\mathcal{C}(\mathcal{G})) as well as by some subset of napdst(Xt−τi,Xtj,C(G))napds_{t}(X^{i}_{t-\tau},X^{j}_{t},\mathcal{C}(\mathcal{G})). These sets are defined in Sec. S7 below, they are the more restricted LPCMCI equivalent of the Possible-D-Sep sets in FCI and the pdstpds_{t} sets in SVAR-FCI. For computational reasons the algorithm nevertheless only searches for separating sets in napdst(Xtj,Xt−τi,C(G))napds_{t}(X^{j}_{t},X^{i}_{t-\tau},\mathcal{C}(\mathcal{G})), unless for τ=0\tau=0 where order-independence dictates otherwise. This is the reason for the logical or-connection in line 10. As compared to Algorithm S2, the default conditioning is extended: According to Definition S3 a tail on an edge in C(G)\mathcal{C}(\mathcal{G}) signifies ancestorship in G\mathcal{G}. Since C(G)\mathcal{C}(\mathcal{G}) is an LPCMCI-PAG at every point of LPCMCI, Xt−τiX^{i}_{t-\tau} is an ancestor of XtjX^{j}_{t} if there ever was the link Xt−τi\ensurestackMath\stackon[−0pt]→∗XtjX^{i}_{t-\tau}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}X^{j}_{t}. This gives rise to the set Sdef2\mathcal{S}^{2}_{def} in line 6. In addition to the parents in C(G)\mathcal{C}(\mathcal{G}), the algorithm also conditions per default on all nodes in Sdef2\mathcal{S}^{2}_{def} that are in the current napdstnapds_{t} set. This decreases the number of sets S\mathcal{S} that need to be searched through in the for-loop in line 12 at the price of a higher-dimensional conditioning set. Also this extended default conditioning cannot destroy m-separations. Non-ancestorships are used to constrain the napdstnapds_{t} sets in the first place, and prior to determining napdstnapds_{t} sets the collider rule R0′a\mathcal{R}0^{\prime}a must have been applied to all unshielded triples in C(G)\mathcal{C}(\mathcal{G}). The algorithm converges once all middle marks are empty, followed by a final exhaustive rule application to guarantee completeness.

Algorithm S4 exhaustively applies a given set of orientation rules specified by an ordered list r\mathfrak{r}. The rules are executed in this order and, once any rule has modified C(G)\mathcal{C}(\mathcal{G}), the loop jumps back to the first rule. This can be used for a preferential execution of simpler and less time consuming rules. Rules R0′a\mathcal{R}0^{\prime}a and R0′b\mathcal{R}0^{\prime}b involve CI tests and may therefore remove some edges. The corresponding separating sets are not guaranteed to be weakly minimal, see Example 1 in the supplement paper to [Colombo et al., 2012] for a counterexample. (There this example is used to show that the separating sets may not be minimal, however it is also a counterexample for weak minimality.) Since many other rules require weak minimality of separating sets, line 10 instructs to make them weakly minimal. This is implemented in the following way: A separating set of Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} that is not necessarily weakly minimal is made weakly minimal by successively removing single elements that are not known ancestors of Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} until the resulting set is no separating set anymore. In particular, there is no need to search through all subsets of the original separating set. The validity of this procedure owes to the equivalence of weak minimality and weak minimality of the second type, see Definition S6 and part 3.) of Lemma S7 below. The algorithm also tests for potential conflicts among the proposed orientations and, if present, resolves them by putting the conflict mark ‘x’. Most rules require to know whether certain nodes are or are not in certain separating sets. Queries of the second type (Is node BB not in the separating set of nodes AA and CC?) are answered by a modified version of the majority rule proposed in [Colombo and Maathuis, 2014]. Our modification consists of i)i) searching for separating sets not in the adjacencies of AA and CC but rather in the relevant apdstapds_{t} sets and ii)ii) including also those separating sets that were found by Algs. S2 and S3 in the majority vote. The second part of this modification is necessary to guarantee completeness (FCI with the unmodified majority rule is not complete, see Sec. S11 for an example). The modification does not introduce order-independence since i)i) the sets Ssearch\mathcal{S}_{search}, Ssearch1\mathcal{S}^{1}_{search} and Ssearch2\mathcal{S}^{2}_{search} are ordered by means of Imin(⋅,⋅)I^{min}(\cdot,\cdot) and since ii)ii) line 13 of Alg. S2 and line 17 of Alg. S3 instruct to add S∪Sdef\mathcal{S}\cup\mathcal{S}_{def} to SepSet(Xt−τi,Xtj)\text{SepSet}(X^{i}_{t-\tau},X^{j}_{t}) rather than saying write to. Point ii)ii) is relevant for contemporaneous links: if in the same iteration of Alg. S2 (Alg. S3) a pair of variables is found to be conditionally independent given subsets of both apdst(Xti,Xtj,C(G))apds_{t}(X^{i}_{t},X^{j}_{t},\mathcal{C}(\mathcal{G})) and apdst(Xti,Xtj,C(G))apds_{t}(X^{i}_{t},X^{j}_{t},\mathcal{C}(\mathcal{G})) (both napdst(Xti,Xtj,C(G))napds_{t}(X^{i}_{t},X^{j}_{t},\mathcal{C}(\mathcal{G})) and napdst(Xti,Xtj,C(G))napds_{t}(X^{i}_{t},X^{j}_{t},\mathcal{C}(\mathcal{G}))), both separating sets are remembered. The search for separating sets involves the same default conditioning as in Alg. S2. For queries of the first type (Is node BB in the separating set of nodes AA and CC?) we distinguish two cases. If BB is adjacent to both AA and CC and the middle mark of both edges is empty, then the query is answered in the same way as queries of the first type. Otherwise, the query is answered solely based on the separating sets found by Algs. S2 and S3. Alternatively, one might also in this second case perform a majority-type search of additional separating sets, albeit restricted to separating sets of minimal cardinality due to the requirement of weak minimality (whereas this restriction is not necessary when AA and BB as well as CC and BB are connected by edges with empty middle marks). We do not claim optimality of these choices.

S6 A variant of LPCMCI without Alg. S3

A variant of LPCMCI can be obtained by skipping the execution of Alg. S3 in line 6. According to Lemma S11 the estimated graph C(G)′\mathcal{C}(\mathcal{G})^{\prime} is then still a LPCMCI-PAG. This implies that all causal information as conveyed by the absence of edges, by the presence of edges with their respective middle marks, as well as by heads and tails as detailed in Sec. S3 remains correct. Lemma S11 further says that i)i) all edges in C(G)′\mathcal{C}(\mathcal{G})^{\prime} that are of the form \ensurestackMath\stackon[−0pt]→∗{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}} are also in P(G)\mathcal{P}(\mathcal{G}) and that ii)ii) if Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} are adjacent in C(G)′\mathcal{C}(\mathcal{G})^{\prime} but not in P(G)\mathcal{P}(\mathcal{G}) then neither of these variables is an ancestor of the other. This is analogous to RFCI-PAGs, see Theorem 3.4 in [Colombo et al., 2012]. This variant of LPCMCI therefore compares to standard LPCMCI as (SVAR-)RFCI compares to (SVAR-)FCI.

As a side remark, even if LPCMCI is interrupted at any arbitrary point it still yields a graph with unambiguous and sound causal interpretation. This is implied by the fact that the graph C(G)\mathcal{C}(\mathcal{G}) remains and LPCMCI-PAG at every step of the algorithm, which is proven in Lemmas S9 and S12.

As explained in Sec. S5, Algorithms S2 and S3 respectively perform tests of CI given subsets of apdstapds_{t} sets and napdstnapds_{t} sets. These are defined and motivated here.

In words apdst(Xtj,Xt−τi,C(G))apds_{t}(X^{j}_{t},X^{i}_{t-\tau},\mathcal{C}(\mathcal{G})) is the set of all non-future adjacencies of XtjX^{j}_{t} other than Xt−τiX^{i}_{t-\tau} that have not already been identified as non-ancestors of XtjX^{j}_{t}, formally:

The set apdst(Xtj,Xt−τi,C(G))apds_{t}(X^{j}_{t},X^{i}_{t-\tau},\mathcal{C}(\mathcal{G})) is the set of all Xt−τ′kX^{k}_{t-\tau^{\prime}} other than Xt−τiX^{i}_{t-\tau} with τ′≥0\tau^{\prime}\geq 0 that are connected to XtjX^{j}_{t} by an edge without head at Xt−τ′kX^{k}_{t-\tau^{\prime}}.

All statements in this and the following definition are with respect to the graph C(G)\mathcal{C}(\mathcal{G}). The definition of napdstnapds_{t} sets is more involved. It uses already identified (non-)ancestorships, time order and some general properties of D-Sep sets to provide a tighter approximate of the latter than the Possible-D-Sep sets of FCI and pdstpds_{t} sets of SVAR-FCI do. Formally:

The use of the apdstapds_{t} and napdstnapds_{t} sets in Algorithms S2 and S3 is due to the following result:

Let AA and BB be such that A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})). 1.) If A∈an(B,G)A\in an(B,\mathcal{G}) then apdst(B,A,C(G))⊇D-Sep(B,A,M(G))apds_{t}(B,A,\mathcal{C}(\mathcal{G}))\supseteq\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G})). 2.) If B∉an(A,G)B\notin an(A,\mathcal{G}), A∉an(B,G)A\notin an(B,\mathcal{G}) and rule R0′a\mathcal{R}0^{\prime}a has been exhaustively applied to C(G)\mathcal{C}(\mathcal{G}) then napdst(B,A,C(G))⊇D-Sep(B,A,M(G))napds_{t}(B,A,\mathcal{C}(\mathcal{G}))\supseteq\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G})).

This remains true when Definition S5 is strengthened in the following way: Whenever the definition demands that there be no edge between Xt−τiX^{i}_{t-\tau} (or XtjX^{j}_{t}) and some node Xt−τmmX^{m}_{t-\tau_{m}} with head at Xt−τmmX^{m}_{t-\tau_{m}}, add the requirement that there be a potentially directed path from Xt−τmmX^{m}_{t-\tau_{m}} to Xt−τiX^{i}_{t-\tau} (or XtjX^{j}_{t}).

S8 Proofs

Let A∗ ⁣→BA{\ast\!{\rightarrow}}B (with A=Xt−τiA=X^{i}_{t-\tau} and B=XtjB=X^{j}_{t}) be a link (→{\rightarrow} or ↔{\leftrightarrow}) in M(G)\mathcal{M}(\mathcal{G}). Consider the default conditions Sdef=pa({A,B},M(G))∖{A,B}\mathcal{S}_{def}=pa(\{A,B\},\mathcal{M}(\mathcal{G}))\setminus\{A,B\} and denote X∗=X∖Sdef\mathbf{X}^{*}=\mathbf{X}\setminus\mathcal{S}_{def}. Let S=arg⁡min⁡S⊆X∗∖{A,B}I(A;B∣S∪Sdef)\mathbf{S}=\arg\min_{\mathcal{S}\subseteq\mathbf{X}^{*}\setminus\{A,B\}}I(A;B|\mathcal{S}\cup\mathcal{S}_{def}) be the set of sets that define LPCMCI’s effect size. If i)i) there is S∗∈S\mathcal{S}^{*}\in\mathbf{S} with S∗⊆adj(A,M(G))∖Sdef\mathcal{S}^{*}\subseteq adj(A,\mathcal{M}(\mathcal{G}))\setminus\mathcal{S}_{def} or S∗⊆adj(B,M(G))∖Sdef\mathcal{S}^{*}\subseteq adj(B,\mathcal{M}(\mathcal{G}))\setminus\mathcal{S}_{def} and ii)ii) there is a proper subset Q⊂Sdef\mathcal{Q}\subset\mathcal{S}_{def} such that I(A;B;Sdef∖Q∣S∗∪Q)<0\mathcal{I}(A;B;\mathcal{S}_{def}\setminus\mathcal{Q}|\mathcal{S}^{*}\cup\mathcal{Q})<0, then

If the assumptions are not fulfilled, then (trivially) "≥\geq" holds in eq. (S1).

Assuming the link between Xt−τiX^{i}_{t-\tau} and XtjX^{j}_{t} to be of the form Xt−τi∗ ⁣→XtjX^{i}_{t-\tau}{\ast\!{\rightarrow}}X^{j}_{t} is no restriction. If Xt−τi←XtjX^{i}_{t-\tau}{\leftarrow}X^{j}_{t} then τ=0\tau=0 by time order and we can swap the roles of Xt−τi=XtiX^{i}_{t-\tau}=X^{i}_{t} and XtjX^{j}_{t}.

Proof of Theorem 1. We start the proof of eq. (S1) by splitting up the set X\mathbf{X} that occurs on its right hand side as follows:

Note that for Q=Sdef\mathcal{Q}=\mathcal{S}_{def} the right hand side equals the left hand side. Therefore, eq. (S3) becomes trivially true when “>>” is replaced by “≥\geq”, but as it stands with “>>” it is equivalent to

where Q\mathcal{Q} is now restricted to be a proper subset of S\mathcal{S}. Let, as stated in the theorem, S\mathbf{S} be the set of sets that make the left hand side minimal. A sufficient condition for eq. (S4) is then the existence of S∗∈S\mathcal{S}^{*}\in\mathbf{S} such that

This implies eq. (S4) because the left hand side of eq. (S5) equals the left hand side of eq. (S4) by definition of S\mathbf{S} and the right hand side of eq. (S5) is greater or equal than the right hand side of eq. (S4) because of the additional minimum operation in eq. (S4). By subtracting the left hand side of this inequality we get

A difference of conditional mutual informations as in this equation defines a trivariate (conditional) interaction information I\mathcal{I} [Abramson, 1963, Runge, 2015], such that we can rewrite eq. (S6) as

Contrary to conditional mutual information, the (conditional) interaction information can also attain negative values. This happens when an additional condition, here Sdef∖Q\mathcal{S}_{def}\setminus\mathcal{Q}, increases the conditional mutual information between AA and BB. The second assumption of the theorem states that there is a proper subset Q⊂Sdef\mathcal{Q}\subset\mathcal{S}_{def} for which I(A;B;Sdef∖Q∣S∗∪Q)<0\mathcal{I}(A;B;\mathcal{S}_{def}\setminus\mathcal{Q}|\mathcal{S}^{*}\cup\mathcal{Q})<0. This implies eq. (S7) and hence the main equation (S1). □\square

We now state a Corollary of Theorem 1, which details graphical assumptions that lead to an increase in effect size as required by eq. (S7). Fig. S1 illustrates these graphical criteria.

Let A∗ ⁣→BA{\ast\!{\rightarrow}}B (with A=Xt−τiA=X^{i}_{t-\tau} and B=XtjB=X^{j}_{t}) be a link (→{\rightarrow} or ↔{\leftrightarrow}) in M(G)\mathcal{M}(\mathcal{G}). Consider the default conditions Sdef=pa({A,B},M(G))∖{A,B}\mathcal{S}_{def}=pa(\{A,B\},\mathcal{M}(\mathcal{G}))\setminus\{A,B\} and denote X∗=X∖Sdef\mathbf{X}^{*}=\mathbf{X}\setminus\mathcal{S}_{def}. Let S=arg⁡min⁡S⊆X∗∖{A,B}I(A;B∣S∪Sdef)\mathbf{S}=\arg\min_{\mathcal{S}\subseteq\mathbf{X}^{*}\setminus\{A,B\}}I(A;B|\mathcal{S}\cup\mathcal{S}_{def}) be the set of sets that define LPCMCI’s effect size.

1.) Assume the link is of the form A→BA{\rightarrow}B. If i)i) pa∗(B,M(G))=Sdef∖pa(A,M(G))pa^{*}(B,\mathcal{M}(\mathcal{G}))=\mathcal{S}_{def}\setminus pa(A,\mathcal{M}(\mathcal{G})) is non-empty (in words: BB has parents other than AA that are not at the same time also parents of AA), and ii)ii) there is S∗∈S\mathcal{S}^{*}\in\mathbf{S} with S∗⊆adj(A,M(G))∖Sdef\mathcal{S}^{*}\subseteq adj(A,\mathcal{M}(\mathcal{G}))\setminus\mathcal{S}_{def} or S∗⊆adj(B,M(G))∖Sdef\mathcal{S}^{*}\subseteq adj(B,\mathcal{M}(\mathcal{G}))\setminus\mathcal{S}_{def}, and iii)iii) B∉an(S∗,M(G))B\notin an(\mathcal{S}^{*},\mathcal{M}(\mathcal{G})), and iv)iv) there is no path between AA and pa∗(B,M(G))pa^{*}(B,\mathcal{M}(\mathcal{G})) that is active given pa(A,M(G))∪S∗pa(A,\mathcal{M}(\mathcal{G}))\cup\mathcal{S}^{*}, and v)v) faithfulness holds, then

2.) Assume the links is of the form A↔BA{\leftrightarrow}B. The same inequality (S8) holds if the same assumptions i)−v)i)-v) as stated in 1.) hold or if these assumptions hold with the roles of BB and AA exchanged.

3.) If neither the assumptions of 1.) nor of 2.) are fulfilled, then (trivially) "≥\geq" holds in (S8).

Proof of Corollary S1. Note that eq. (S8) and eq. (S1) are the same. All manipulations that have identified eq. (S7) as a sufficient condition for eq. (S1) under the assumptions of Theorem 1 are still valid under the assumptions of the corollary. Therefore, eq. (S7) is what remains to be shown.

Since the interaction information is symmetric in its arguments before the “∣|”, eq. (S7) can be cast into the equivalent conditions:

First consider the case A→BA{\rightarrow}B in conjunction with eq. (S11). Independent of which Q\mathcal{Q} minimizes the left hand side of this equation, a sufficient condition for its validity is the existence of a proper subset Q⊂Sdef\mathcal{Q}\subset\mathcal{S}_{def} for which the following two conditions hold:

We choose Q=pa(A,M(G))\mathcal{Q}=pa(A,\mathcal{M}(\mathcal{G})) and hence get Sdef∖Q=pa∗(B,M(G))\mathcal{S}_{def}\setminus\mathcal{Q}=pa^{*}(B,\mathcal{M}(\mathcal{G})). Since by assumption i)i) pa∗(B,M(G))=Sdef∖Qpa^{*}(B,\mathcal{M}(\mathcal{G}))=\mathcal{S}_{def}\setminus\mathcal{Q} is not empty, Q=pa(A,M(G))\mathcal{Q}=pa(A,\mathcal{M}(\mathcal{G})) is indeed a proper subset of Sdef\mathcal{S}_{def}. Further, eq. (S13) is true by assumption iv)iv) and eq. (S14) is true by the assumption of faithfulness together with the fact that the path A→B←pa∗(B,M(G))A{\rightarrow}B{\leftarrow}pa^{*}(B,\mathcal{M}(\mathcal{G})) is active given S∗∪pa(A,M(G))∪{B}\mathcal{S}^{*}\cup pa(A,\mathcal{M}(\mathcal{G}))\cup\{B\}. Since both conditions in eq. (S13) and eq. (S14) hold for this valid choice of Q\mathcal{Q}, part 1.) of the corollary is proven.

We note that assumption iii)iii) is needed: Otherwise conditioning on S∗\mathcal{S}^{*} opens the path A→B←pa∗(B,M(G))A{\rightarrow}B{\leftarrow}pa^{*}(B,\mathcal{M}(\mathcal{G})) since BB is an ancestor of a conditioned node, thus assumption iv)iv) could not be true. Assumption iii)iii) would be violated by the magenta connections shown in Fig. S1.

In the case A↔BA{\leftrightarrow}B we can either utilize eq. (S11) or eq. (S12), depending on whether BB or AA (or both) contain non-empty non-shared parents for which eq. (S13) and eq. (S14) or the equivalent assumptions with BB and AA exchanged hold. Lastly, the case A←BA{\leftarrow}B is covered by part 1.) of this corollary with BB and AA exchanged. This proves part 2.) of the corollary.

Part 3.) follows because the minimum on the right hand side of eq. (S8) is taken over a superset of the set that the minimum on the left hand side is taken over. □\square

Let AA and BB be m-separated given S\mathcal{S}, and let Sdef⊆an({A,B},M(G))∖{A,B}\mathcal{S}_{def}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G}))\setminus\{A,B\} be arbitrary. Then, AA and BB are also m-separated given S′=S∪Sdef\mathcal{S}^{\prime}=\mathcal{S}\cup\mathcal{S}_{def}.

Proof of Lemma S4. Assume without loss of generality that Sdef\mathcal{S}_{def} is non-empty, else the statement is trivial. First, consider the case Sdef⊆an(B,M(G))\mathcal{S}_{def}\subseteq an(B,\mathcal{M}(\mathcal{G})) and assume S′\mathcal{S}^{\prime} did not m-separate AA and BB. This requires the existence of a path pp between AA and BB for which a1)a1) at least one non-collider on pp is in S\mathcal{S} or a2)a2) there is a collider on pp that is not an ancestor of S\mathcal{S}, b)b) none of the non-colliders on pp is in S′\mathcal{S}^{\prime}, and c)c) all colliders on pp are ancestors of S′\mathcal{S}^{\prime}. Since S\mathcal{S} is a proper subset of S′\mathcal{S}^{\prime}, a1)a1) conflicts with b)b). This means a2)a2) must be true, i.e, there is at least one collider on pp that is an ancestor of S′∖S=Sdef∖S⊆an(B,M(G))\mathcal{S}^{\prime}\setminus\mathcal{S}=\mathcal{S}_{def}\setminus\mathcal{S}\subseteq an(B,\mathcal{M}(\mathcal{G})) and hence of BB. Among all those colliders, let CC be the one closest to AA on pp. According to b)b) the sub-path pACp_{AC} of pp from AA to CC is then active given S\mathcal{S} by construction. Since CC is an ancestor of BB there is at least one directed path pCBp_{CB} from CC to BB. By definition of CC the path pCBp_{CB} does not cross any node in S\mathcal{S}. Thus, pCBp_{CB} is active given S\mathcal{S}.

We now construct a path from AA to BB that is active given S\mathcal{S}, thereby reaching a contradiction. To this end, let DD be the node closest to AA on pACp_{AC} that is also on pCBp_{CB} (such DD always exists, because CC is on both paths). Consider then the subpath pADp_{AD} of pACp_{AC} from AA to DD, and the subpath pDBp_{DB} on pCBp_{CB} from DD to BB. Since pACp_{AC} and pCBp_{CB} are active given S\mathcal{S}, also pADp_{AD} and pDBp_{DB} are active given S\mathcal{S}. By definition of DD the concatenation of pADp_{AD} and pDBp_{DB} at their common end DD gives a path pABp_{AB} from AA to BB. Since DD is a non-collider on pABp_{AB} (because pDBp_{DB} is out of DD) and DD is not in S\mathcal{S} (because else CC would be an ancestor of S\mathcal{S}), pABp_{AB} is active given S\mathcal{S}. Contradiction.

Second, since the Lemma does not make any distinction between AA and BB, it is also true in case Sdef⊆an(A,M(G))\mathcal{S}_{def}\subseteq an(A,\mathcal{M}(\mathcal{G})). Third, write S=SA∪˙ SB\mathcal{S}=\mathcal{S}_{A}\dot{\cup}\,\mathcal{S}_{B} with SA=S∩an(A,M(G))\mathcal{S}_{A}=\mathcal{S}\cap an(A,\mathcal{M}(\mathcal{G})) and SB=S∖SA⊆an(B,M(G))\mathcal{S}_{B}=\mathcal{S}\setminus\mathcal{S}_{A}\subseteq an(B,\mathcal{M}(\mathcal{G})). The statement then follows from applying the already proven special cases twice. □\square

Let AA and BB be m-separated given S\mathcal{S}, and let U\mathcal{U} be such that U∩an({A,B,S∖U},M(G))=∅\mathcal{U}\cap an(\{A,B,\mathcal{S}\setminus\mathcal{U}\},\mathcal{M}(\mathcal{G}))=\emptyset. Then, AA and BB are also m-separated given S′=S∖U\mathcal{S}^{\prime}=\mathcal{S}\setminus\mathcal{U}. Two important special cases are: Special case 1.) U=S∖an({A,B},M(G))\mathcal{U}=\mathcal{S}\setminus an(\{A,B\},\mathcal{M}(\mathcal{G})), which allows to restrict separating sets to ancestors. Special case 2.) \mathcal{U}=\{\text{all nodes that are in the future of bothAandandB}\}, which allows to restrict separating sets to the present and past of the later variable.

Proof of Lemma S5. Assume without loss of generality that U\mathcal{U} is non-empty, else the statement is trivial. Assume S′\mathcal{S}^{\prime} did not m-separated AA and BB. This requires the existence of a path pp between AA and BB for which a1)a1) at least one non-collider on pp is in S\mathcal{S} or a2)a2) there is a collider on pp that is not an ancestor of S\mathcal{S}, b)b) none of the non-colliders on pp is in S′\mathcal{S}^{\prime}, and c)c) all colliders on pp are ancestors of S′\mathcal{S}^{\prime}. Since S′\mathcal{S}^{\prime} is a proper subset of S\mathcal{S}, a2)a2) conflicts with c)c). This means a1)a1) must be true, i.e., there is a non-collider DD on pp in S∖S′=S∩U\mathcal{S}\setminus\mathcal{S}^{\prime}=\mathcal{S}\cap\mathcal{U}. In particular, DD is in U\mathcal{U}. All nodes on pp are ancestors of AA or BB or of a collider on pp. If DD is an ancestor of a collider on pp, then by c)c) it is also an ancestor of S′=S∖U\mathcal{S}^{\prime}=\mathcal{S}\setminus\mathcal{U}. This shows that DD is also in an({A,B,S∖U},M(G))an(\{A,B,\mathcal{S}\setminus\mathcal{U}\},\mathcal{M}(\mathcal{G})). Since U∩an({A,B,S∖U},M(G))=∅\mathcal{U}\cap an(\{A,B,\mathcal{S}\setminus\mathcal{U}\},\mathcal{M}(\mathcal{G}))=\emptyset, this is a contradiction.

Special case 1.) For U=S∖an({A,B},M(G))\mathcal{U}=\mathcal{S}\setminus an(\{A,B\},\mathcal{M}(\mathcal{G})) we have S′=S∩an({A,B},M(G))\mathcal{S}^{\prime}=\mathcal{S}\cap an(\{A,B\},\mathcal{M}(\mathcal{G})) and an({A,B,S∖U},M(G))=an({A,B},M(G))an(\{A,B,\mathcal{S}\setminus\mathcal{U}\},\mathcal{M}(\mathcal{G}))=an(\{A,B\},\mathcal{M}(\mathcal{G})). Hence, the condition is fulfilled. Special case 2.) For \mathcal{U}=\{\text{all nodes that are in the future of bothAandandB}\} we have an(\{A,B,\mathcal{S}\setminus\mathcal{U}\},\mathcal{M}(\mathcal{G}))\subseteq\{\text{all nodes that are not after bothAandandB}\}. Hence, the condition is fulfilled.

Note that if U\mathcal{U} fulfills the above condition, a proper subset U′\mathcal{U}^{\prime} of U\mathcal{U} does not necessarily fulfill the condition as well. Consider the example A→C←D←BA{\rightarrow}C{\leftarrow}D{\leftarrow}B. Here S={C,D}\mathcal{S}=\{C,D\} m-separates AA and BB, and U=S\mathcal{U}=\mathcal{S} fulfills the condition. However, U′={C}\mathcal{U}^{\prime}=\{C\} does not. This is why we need to require U∩an({A,B,S∖U},M(G))=∅\mathcal{U}\cap an(\{A,B,\mathcal{S}\setminus\mathcal{U}\},\mathcal{M}(\mathcal{G}))=\emptyset and not just U∩an({A,B},M(G))=∅\mathcal{U}\cap an(\{A,B\},\mathcal{M}(\mathcal{G}))=\emptyset. □\square

Consider two distinct nodes A,B∈M(G)A,B\in\mathcal{M}(\mathcal{G}). Let V∈D-Sep(B,A,M(G))V\in\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G})) and path pVp_{V} be as in Definition S2, and denote with C≠BC\neq B the node on pVp_{V} that is closest to BB. 1.) If A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})), then pVp_{V} does not contain AA. 2.) If B∉an(A,G)B\notin an(A,\mathcal{G}) and pVp_{V} contains two nodes only, then CC is a parent or spouse of BB. 3.) If B∉an(A,G)B\notin an(A,\mathcal{G}) and pVp_{V} contains more than two nodes, then CC is a spouse of BB and ancestor of AA 4.) If A∈an(B,G)A\in an(B,\mathcal{G}), then D-Sep(B,A,M(G))=pa(B,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G}))=pa(B,\mathcal{M}(\mathcal{G})).

Proof of Lemma S6. 1.) Assume pVp_{V} did contain AA. The subpath of pVp_{V} from BB to AA is then an inducing path between BB and AA. Since AA and BB are not adjacent, this violates maximality of the MAG MM. 2.) By construction V=CV=C is adjacent to BB. Assume CC was a child of BB. Since CC must be an ancestor of AA or BB, CC must be an ancestor of AA. Then BB is an ancestor of AA, contrary to the assumption. 3.) According to the second part CC is a parent or spouse of BB. If CC was a parent of BB, CC would be a non-collider on pVp_{V}. This contradicts the definition of pVp_{V}, hence CC is a spouse of BB. Moreover, since CC is an ancestor of AA or BB, CC is an ancestor of AA. 4.) The inclusion D-Sep(B,A,M(G))⊇pa(B,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G}))\supseteq pa(B,\mathcal{M}(\mathcal{G})) follows since if VV is a parent of BB then V→BV{\rightarrow}B is a path pVp_{V} as required by the definition. We now show the opposite inclusion D-Sep(B,A,M(G))⊆pa(B,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G}))\subseteq pa(B,\mathcal{M}(\mathcal{G})) by showing that V∈pa(B,M(G))V\in pa(B,\mathcal{M}(\mathcal{G})). Case 1: pVp_{V} has two nodes only. By the second part of this Lemma VV is a parent or spouse of BB. Assume it was a spouse. Then VV must be an ancestor of AA, which with A∈an(B,G)A\in an(B,\mathcal{G}) gives C∈an(B,G)C\in an(B,\mathcal{G}). But then CC cannot be a spouse of BB. Case 2: pVp_{V} has more than three nodes. By the third part of this Lemma we then get that CC is an ancestor of AA, which agains leads to the contradiction C∈an(B,G)C\in an(B,\mathcal{G}). □\square

Proof of Lemma S3. 1.) A∈an(B,G)A\in an(B,\mathcal{G}) gives D-Sep(B,A,M(G))=pa(B,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G}))=pa(B,\mathcal{M}(\mathcal{G})) by part 4.) of Lemma S6. Consider C∈pa(B,M(G))C\in pa(B,\mathcal{M}(\mathcal{G})). Then, CC is adjacent to BB in C(G)\mathcal{C}(\mathcal{G}) with a link that does not have a head at CC. Moreover, CC cannot be after BB. Since AA and BB are not adjacent, CC cannot be AA. Hence CC in apdst(B,A,C(G))apds_{t}(B,A,\mathcal{C}(\mathcal{G})). 2.) Consider V∈D-Sep(B,A,M(G))V\in\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G})) and let the path pVp_{V} be as in Definition S2. Case 1: VV is a parent of BB in C(G)\mathcal{C}(\mathcal{G}). Then, as the proof of the first part of this Lemma shows, V∈apdst(B,A,C(G))V\in apds_{t}(B,A,\mathcal{C}(\mathcal{G})). Now assume VV was a child of AA in C(G)\mathcal{C}(\mathcal{G}). Then A∈an(B,G)A\in an(B,\mathcal{G}), contradicting the assumption. Hence V∈napdst1(B,A,C(G))V\in napds_{t}^{1}(B,A,\mathcal{C}(\mathcal{G})). Case 2: VV is not a parent of BB in C(G)\mathcal{C}(\mathcal{G}). We now show that pVp_{V} is a path pp as required in 3.)3.) of Definition S5 and hence V∈napdst2(B,A,C(G))V\in napds_{t}^{2}(B,A,\mathcal{C}(\mathcal{G})). Let CC be the node on pVp_{V} that is closest to BB, which by 2.) and 3.) of Lemma S6 is a spouse of BB. i)i) is true since all non end-point nodes on pVp_{V} are colliders on pVp_{V} together with the fact that CC is a spouse of BB. ii)ii) is true for the same reason as i)i) together with the fact that rule R0′a\mathcal{R}0^{\prime}a has been exhaustively applied, which guarantees that if an unshielded triple is a collider then it will be oriented as a collider. iii)iii) is true by 1.) of Lemma S6. iv)iv) is true since CC is an ancestor of AA by 3.) of Lemma S6. The second and third part of v)v) are true since all nodes on pVp_{V} are ancestors of AA or BB. For the first part of v)v) observe that if VV is a descendant of AA (or BB) in C(G)\mathcal{C}(\mathcal{G}), then since VV is an ancestor of AA or BB we would get A∈an(B,G)A\in an(B,\mathcal{G}) (or B∈an(A,G)B\in an(A,\mathcal{G})), a contradiction. □\square

In MAG M(G)\mathcal{M}(\mathcal{G}) let AA and BB be m-separated by S\mathcal{S}. The set S\mathcal{S} is a weakly minimal separating set of AA and BB of the second type if i)i) there is a decomposition S=S1∪˙ S2\mathcal{S}=\mathcal{S}_{1}\dot{\cup}\,\mathcal{S}_{2} with S1⊆an({A,B},M(G))\mathcal{S}_{1}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G})) such that ii)ii) if there is S∈S2S\in\mathcal{S}_{2} such that S′=S∖S\mathcal{S}^{\prime}=\mathcal{S}\setminus S is a separating set of AA and BB then S∈an({A,B},M(G))S\in an(\{A,B\},\mathcal{M}(\mathcal{G})). The pair (S1,S2)(\mathcal{S}_{1},\mathcal{S}_{2}) is called a weakly minimal decomposition of S\mathcal{S} of the second type.

1.) S\mathcal{S} is a weakly minimal separating set of the second type if and only if its canonical decomposition (T1,T2)(\mathcal{T}_{1},\mathcal{T}_{2}) defined by T1=S∩an({A,B},M(G))\mathcal{T}_{1}=\mathcal{S}\cap an(\{A,B\},\mathcal{M}(\mathcal{G})) and T2=S∖T1\mathcal{T}_{2}=\mathcal{S}\setminus{\mathcal{T}_{1}} is a weakly minimal decomposition of S\mathcal{S} of the second type. 2.) If S\mathcal{S} is a weakly minimal separating set of AA and BB of the second type then S⊆an({A,B},M(G))⊆an({A,B},G)\mathcal{S}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G}))\subseteq an(\{A,B\},\mathcal{G}). 3.) S\mathcal{S} is a weakly minimal separating set of the second type if and only if it is a weakly minimal separating set. 4.) S\mathcal{S} is a weakly minimal separating set of AA and BB if and only if it is a separating set of AA and BB and S⊆an({A,B},M(G))⊆an({A,B},G)\mathcal{S}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G}))\subseteq an(\{A,B\},\mathcal{G}). 5.) If S\mathcal{S} is a non-weakly minimal separating set of AA and BB then there is a proper subset S′\mathcal{S}^{\prime} of S\mathcal{S} that is a weakly minimal separating set of AA and BB.

Proof of Lemma S7. 1.) if: The existence of a weakly minimal decomposition of the second type implies weak minimality of the second type. 1.) only if: By assumption there is some weakly minimal decomposition (S1,S2)(\mathcal{S}_{1},\mathcal{S}_{2}) of the second type. By definition of the canonical decomposition and by condition i)i) in Definition S6 the inclusions S1⊆T1\mathcal{S}_{1}\subseteq\mathcal{T}_{1} and hence S2⊇T2\mathcal{S}_{2}\supseteq\mathcal{T}_{2} hold. Assume the canonical decomposition were not a weakly minimal decomposition of S\mathcal{S} of the second type. Then there is some S∈T2S\in\mathcal{T}_{2} such that S′=S∖S\mathcal{S}^{\prime}=\mathcal{S}\setminus S is a separating set. Since S2⊇T2\mathcal{S}_{2}\supseteq\mathcal{T}_{2} then also S∈S2S\in\mathcal{S}_{2}, contradicting the assumption that (S1,S2)(\mathcal{S}_{1},\mathcal{S}_{2}) is a weakly minimal decomposition of the second type. 2.) Since S\mathcal{S} is weakly minimal of the second type, its canonical decomposition (T1,T2)(\mathcal{T}_{1},\mathcal{T}_{2}) is a weakly minimal decomposition of S\mathcal{S} of the second type. We now show that T2\mathcal{T}_{2} must be empty. Assume it was not and let C1,…,CnC_{1},\ldots,C_{n} be its elements. Since by construction C1∉an({A,B},M(G))C_{1}\notin an(\{A,B\},\mathcal{M}(\mathcal{G})) and since (T1,T2)(\mathcal{T}_{1},\mathcal{T}_{2}) is weakly minimal decomposition of the second type, AA and BB are not m-separated by S′=S∖C1\mathcal{S}^{\prime}=\mathcal{S}\setminus C_{1}. This means there is a path pp that is active given S′\mathcal{S}^{\prime} and blocked given S\mathcal{S}. Hence, C1C_{1} must be a non-collider on pp. Together with C1∉an({A,B},M(G))C_{1}\notin an(\{A,B\},\mathcal{M}(\mathcal{G})) this shows that C1C_{1} is ancestor of some collider D1D_{1} on pp, which itself is an ancestor of S′\mathcal{S}^{\prime} (else pp would not be active given S′\mathcal{S}^{\prime}). Hence, C1C_{1} is an ancestor S′\mathcal{S}^{\prime}. Since C1∉an({A,B},M(G))C_{1}\notin an(\{A,B\},\mathcal{M}(\mathcal{G})) and T1⊆an({A,B},M(G))\mathcal{T}_{1}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G})) , C1C_{1} is an ancestor of {C2,...,Cn}\{C_{2},...,C_{n}\}. If n=1n=1, this is a contradiction already. If n>1n>1 we may without loss of generality assume that C1C_{1} is an ancestor of C2C_{2}. Hence, C2C_{2} is not an ancestor of C1C_{1}. By applying the same argument to C2C_{2}, we conclude that C2C_{2} is an ancestor of {C3,...,Cn}\{C_{3},...,C_{n}\}. Repeat this until reaching a contradiction. This shows T2=∅\mathcal{T}_{2}=\emptyset and hence S⊆an({A,B},M(G))⊆an({A,B},G)\mathcal{S}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G}))\subseteq an(\{A,B\},\mathcal{G}). 3.) if: Condition ii)ii) in Definition 1 is clearly stronger than ii)ii) in Definition S6. 3.) only if: Let S\mathcal{S} be a weakly minimal separating set of the second type, for which by part 2.) of this Lemma S⊆an({A,B},M(G))\mathcal{S}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G})). Therefore, (S,∅)(\mathcal{S},\emptyset) is a weakly minimal decomposition of S\mathcal{S}, showing that S\mathcal{S} is weakly minimal. 4.) if: (S,∅)(\mathcal{S},\emptyset) is a weakly minimal decomposition 4.) only if: This follows from parts 2.) and 3.) of this Lemma. 5.) According to (the first special case of) Lemma S5 S′=S∩an({A,B},M(G))\mathcal{S}^{\prime}=\mathcal{S}\cap an(\{A,B\},\mathcal{M}(\mathcal{G})) is a separating set. This S′\mathcal{S}^{\prime} is weakly minimal according to part 4.) of this Lemma. □\square

In LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}) one may replace 1.) A\ensurestackMath\stackon[−0pt]→!BA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle!}}}}}B by A→BA{\rightarrow}B, 2.) A\ensurestackMath\stackon[−0pt]→LBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle L}}}}}B for A>BA>B by A→BA{\rightarrow}B, and 3.) A\ensurestackMath\stackon[−0pt]→RBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle R}}}}}B for A<BA<B by A→BA{\rightarrow}B.

Proof of Lemma 1. 2.) By the fourth point in Definition S3, A∉an(B,G)A\notin an(B,\mathcal{G}) or there is no S⊆pa(B,M(G))\mathcal{S}\subseteq pa(B,\mathcal{M}(\mathcal{G})) that m-separates AA and BB in M(G)\mathcal{M}(\mathcal{G}). The first option contradicts A\ensurestackMath\stackon[−0pt]→LBA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle L}}}}}B, so the second option must be true. Since A∈an(B,G)A\in an(B,\mathcal{G}) gives D-Sep(B,A,M(G))=pa(B,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G}))=pa(B,\mathcal{M}(\mathcal{G})) according to part 4.) of Lemma S6, Proposition S1 then implies that AA and BB are not m-separated by any set. 3.) Equivalent proof. 1.) Recall that if A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B in C(G)\mathcal{C}(\mathcal{G}), then both A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B and A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B would be correct. The statement then follows since either 2.) or 3.) of this Lemma applies. □\square

Let A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗B\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}C be an unshielded triple in LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}) and SAC\mathcal{S}_{AC} the separating set of AA and CC. 1.) If i)i) B∈SACB\in\mathcal{S}_{AC} and ii)ii) SAC\mathcal{S}_{AC} is weakly minimal, then B∈an({A,C},G)B\in an(\{A,C\},\mathcal{G}). 2.) Let TAB⊆an({A,B},M(G))\mathcal{T}_{AB}\subseteq an(\{A,B\},\mathcal{M}(\mathcal{G})) and TCB⊆an({C,B},M(G))\mathcal{T}_{CB}\subseteq an(\{C,B\},\mathcal{M}(\mathcal{G})) be arbitrary. If i)i) B∉SACB\notin\mathcal{S}_{AC}, ii)ii) AA and BB are not m-separated by SAC∪TAB∖{A,B}\mathcal{S}_{AC}\cup\mathcal{T}_{AB}\setminus\{A,B\}, iii)iii) CC and BB are not m-separated by SAC∪TCB∖{C,B}\mathcal{S}_{AC}\cup\mathcal{T}_{CB}\setminus\{C,B\}, then B∉an({A,C},G)B\notin an(\{A,C\},\mathcal{G}). The conditioning sets in ii)ii) and iii)iii) may be intersected with the past and present of the later variable.

Proof of Lemma 2. 1.) This follows immediately from part 4.) of Lemma S7. 2.) By the contraposition of Lemma S4 condition ii)ii) implies that AA and BB are not m-separated by SAC\mathcal{S}_{AC}, and similarly iii)iii) implies the same for CC and BB. The additional claims made in the last sentence of the Lemma follow by the contraposition of Lemma S5. The statement then follows from Lemma 3.1 in [Colombo et al., 2012]. Although there minimality of SAC\mathcal{S}_{AC} is stated as an additional assumption, the proof given in the supplement to [Colombo et al., 2012] does not use this assumption. □\square

Proof of the orientation rules given in subsection S4: Whenever neither a rule consequent nor the hypothetical manipulations involved in its proof require that a certain edge mark be oriented as head or tail, the rule also applies when that edge mark is the conflict mark ‘x’. This explains the use of ‘∗\ast’ vs. ‘⋆\star’ marks in the rule antecedents. We repeat that if X\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗Y\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗ZX{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}Y{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}Z is an unshielded triple and a rule requires Y∈SXZY\in\mathcal{S}_{XZ} with SXZ\mathcal{S}_{XZ} weakly minimal, the requirement of weak minimality may be dropped if X∗ ⁣\-− ⁣∗Y∗ ⁣\-− ⁣∗ZX{\ast\!{\--}\!\ast}Y{\ast\!{\--}\!\ast}Z. This is true since when X∗ ⁣\-− ⁣∗Y∗ ⁣\-− ⁣∗ZX{\ast\!{\--}\!\ast}Y{\ast\!{\--}\!\ast}Z we can conclude Y∈an({X,Z},G)Y\in an(\{X,Z\},\mathcal{G}) from Y∈SXZY\in\mathcal{S}_{XZ} even if SXZ\mathcal{S}_{XZ} is not weakly minimal.

R0′a\mathbf{\mathcal{R}0^{\prime}a}: This follows from the second part Lemma 2. Requirement iii)iii) is irrelevant in the case of perfect statistical decisions, it will then never be true given that ia)ia) or ib)ib) and iia)iia) or iib)iib) are true.

R0′b\mathbf{\mathcal{R}0^{\prime}b}: Assume B∈an(C,G)B\in an(C,\mathcal{G}) were true. By Lemma 1 then B→CB{\rightarrow}C in C(G)\mathcal{C}(\mathcal{G}) and hence in M(G)\mathcal{M}(\mathcal{G}). Since one of ia)ia) or iia)iia) is true by assumption, there is a path pABp_{AB} from AA to BB that is active given [\mathcal{S}_{AC}\cup pa(\{A,B\},\mathcal{C}(\mathcal{G}))]\setminus\{A,B,\text{nodes in the future of bothAandandB}\}. Due to Lemmas S4 and S5 and since B∉SACB\notin\mathcal{S}_{AC}, pABp_{AB} is also active given SAC\mathcal{S}_{AC}. Since then every subpath of pABp_{AB} is active given SAC\mathcal{S}_{AC} and since SAC\mathcal{S}_{AC} is a separating set of AA and CC, CC cannot be on pABp_{AB}. When appending the edge B→CB{\rightarrow}C to pABp_{AB} we hence obtain a path pACp_{AC}. Since BB is a non-collider on pACp_{AC} and B∉SACB\notin\mathcal{S}_{AC}, pACp_{AC} is active given SAC\mathcal{S}_{AC}. Contradiction. Hence B∉an(C,G)B\notin an(C,\mathcal{G}).

R0′c\mathbf{\mathcal{R}0^{\prime}c}: Assume B∈an(C,G)B\in an(C,\mathcal{G}) were true. By Lemma 1 then B→CB{\rightarrow}C in C(G)\mathcal{C}(\mathcal{G}) and hence in M(G)\mathcal{M}(\mathcal{G}). Moreover A←BA{\leftarrow}B or A↔BA{\leftrightarrow}B or A→BA{\rightarrow}B in M(G)\mathcal{M}(\mathcal{G}) by assumption. In either case AA, BB and CC form an unshielded triple in M(G)\mathcal{M}(\mathcal{G}) with its middle node BB not being a collider. But then B∈SACB\in\mathcal{S}_{AC}. Contradiction. Hence B∉an(C,G)B\notin an(C,\mathcal{G}).

R0′d\mathbf{\mathcal{R}0^{\prime}d}: Since all involved middle marks are empty this is just the standard FCI rule R0\mathcal{R}0.

R1′\mathbf{\mathcal{R}1^{\prime}}: From the first part of Lemma 2 we get B∈an({A,C},G)B\in an(\{A,C\},\mathcal{G}). Due to the head at BB on its edge with AA we know B∉an(A,G)B\notin an(A,\mathcal{G}). Hence B∈an(C,G)B\in an(C,\mathcal{G}).

R2′\mathbf{\mathcal{R}2^{\prime}}: Assume C∈an(A,G)C\in an(A,\mathcal{G}) were true. Case 1: A\ensurestackMath\stackon[−0pt]→∗B\ensurestackMath\stackon[−2pt]∗ ⁣→∗CA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}C. Due to transitivity of ancestorship then also C∈an(B,G)C\in an(B,\mathcal{G}). This contradicts the head at CC on its edge with BB. Case 2: A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−0pt]→∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}C. Then B∈an(A,G)B\in an(A,\mathcal{G}), contradicting the head at BB on its link with AA. Hence C∉an(A,G)C\notin an(A,\mathcal{G}).

R3′\mathbf{\mathcal{R}3^{\prime}}: Assume B∈an(D,G)B\in an(D,\mathcal{G}) were true. By applying the first part of Lemma 2 to the unshielded triple A\ensurestackMath\stackon[−2pt]⋆ ⁣\-− ⁣∘∗D\ensurestackMath\stackon[−2pt]∘ ⁣\-− ⁣⋆∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\star\!{\--}\!\circ}}{{\scriptstyle\ast}}}}}D{\mathbin{\ensurestackMath{\stackon[-2pt]{{\circ\!{\--}\!\star}}{{\scriptstyle\ast}}}}}C we deduce that D∈an({A,C},G)D\in an(\{A,C\},\mathcal{G}). Thus B∈an({A,C},G)B\in an(\{A,C\},\mathcal{G}), contradicting at least one of the heads at BB in the triple A\ensurestackMath\stackon[−2pt]∗ ⁣→∗B\ensurestackMath\stackon[−2pt]← ⁣∗∗CA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\rightarrow}}}{{\scriptstyle\ast}}}}}B{\mathbin{\ensurestackMath{\stackon[-2pt]{{{\leftarrow}\!\ast}}{{\scriptstyle\ast}}}}}C. Hence B∉an(D,G)B\notin an(D,\mathcal{G}).

R4′\mathbf{\mathcal{R}4^{\prime}}: This follows from Lemma 3.2 in [Colombo et al., 2012] together with i)i) the contrapositions of Lemmas S4 and S5, and ii)ii) that a pair of variables which in C(G)\mathcal{C}(\mathcal{G}) is connected by an edge with empty middle mark then this pair of variables is also adjacent in M(G)\mathcal{M}(\mathcal{G}).

R8′\mathbf{\mathcal{R}8^{\prime}}: Transitivity of ancestorship gives A∈an(C,G)A\in an(C,\mathcal{G}), hence also C∉an(A,G)C\notin an(A,\mathcal{G}).

R9′\mathbf{\mathcal{R}9^{\prime}}: Assume A1∉an(An,G)A_{1}\notin an(A_{n},\mathcal{G}) were true, such that A1\ensurestackMath\stackon[−0pt]↔∗AnA_{1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\leftrightarrow}}{{\scriptstyle\ast}}}}}A_{n}. From ia)ia) or from ib)ib) for k=1k=1 together with the first part of Lemma 2 applied to the unshielded triple An≡A0\ensurestackMath\stackon[−0pt]↔∗A1\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗A2A_{n}\equiv A_{0}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\leftrightarrow}}{{\scriptstyle\ast}}}}}A_{1}{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}A_{2} we then conclude A1\ensurestackMath\stackon[−0pt]→∗A2A_{1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}A_{2}. By successive application of Lemma 2 to the unshielded triple Ak−1\ensurestackMath\stackon[−0pt]→∗Ak\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗Ak+1A_{k-1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}A_{k}{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}A_{k+1} together with ia)ia) or from ib)ib) for k=2,…,n−1k=2,\ldots,n-1 (in this order) we further conclude Ak\ensurestackMath\stackon[−0pt]→∗Ak+1A_{k}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}A_{k+1}. This gives A1∈an(An,G)A_{1}\in an(A_{n},\mathcal{G}), a contradiction to the assumption. Hence A1∈an(An,G)A_{1}\in an(A_{n},\mathcal{G}).

R10′\mathbf{\mathcal{R}10^{\prime}}: Application of the first part of Lemma 2 to the unshielded triple B1\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗C1B_{1}{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}A{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}C_{1} gives A∈an({B1,C1},G)A\in an(\{B_{1},C_{1}\},\mathcal{G}). Say, without loss of generality, A∈an(B1,G)A\in an(B_{1},\mathcal{G}). By successive application of Lemma 2 to the unshielded triple Bk\ensurestackMath\stackon[−0pt]→∗Bk+1\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗Bk+2B_{k}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B_{k+1}{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}B_{k+2} together with ia)ia) or from ib)ib) for k=0,…,n−2k=0,\ldots,n-2 (in this order) we further conclude Bk+1\ensurestackMath\stackon[−0pt]→∗Bk+2B_{k+1}{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B_{k+2}. This shows that A∈an(D,G)A\in an(D,\mathcal{G}).

APR: These are the replacements specified in Lemma 1, which was already proven above.

MMR: This follows immediately from the causal meaning of middle marks ‘L’, ‘R’, and ‘!’ given in Definition S3. □\square

Middle marks can be updated by the symbolic rules \text{`?'}+\text{`\ast'}=\text{`\ast'}, \text{`\ast'}+\text{`'}=\text{`'} and ‘L’+‘R’=‘!’\text{`L'}+\text{`R'}=\text{`!'}.

Proof of Lemma S8. The first rule follows since the middle mark ‘?’ does not make any statement, hence it is consistent with all other middle marks. The second rule follows since the statement made by the empty middle mark ‘’ implies the statements made by all other middle marks. The third rule follows from the definition of the middle mark ‘!’. □\square

Assume Algorithm S2 is being passed a LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}) as well as the assumptions stated in Theorem 2. 1.) C(G)\mathcal{C}(\mathcal{G}) remains a LPCMCI-PAG at any point of the algorithm. 2.) The algorithm converges.

Proof of Lemma S9. Write A=Xt−τiA=X^{i}_{t-\tau} and B=XtjB=X^{j}_{t}. 1.) Given faithfulness and perfect statistical decisions, edges are removed if and only if the corresponding nodes are m-separated by some subset of variables. The for-loop in line 3 considers ordered pairs (A,B)(A,B) only if A<BA<B with respect to the adopted total order << . According to Lemma S4 the default conditioning on parents as described by lines 5 and 10 does not destroy any m-separations. The algorithm therefore updates the edge between AA and BB with middle mark ‘R’ only if AA and BB are not m-separated by any subset of apdst(B,A,C(G))apds_{t}(B,A,\mathcal{C}(\mathcal{G})). Since pa(B,M(G))⊆apdst(B,A,C(G))pa(B,\mathcal{M}(\mathcal{G}))\subseteq apds_{t}(B,A,\mathcal{C}(\mathcal{G})) holds, AA and BB are then not m-separated by any subset of pa(B,M(G))pa(B,\mathcal{M}(\mathcal{G})) and the update is correct. Similarly the update with middle mark ‘L’ is correct. Note that the algorithm resets p=0p=0 once any edge marks have been updated, i.e., once some default conditioning sets may potentially change. Therefore, all separating sets found by the algorithm are weakly minimal. More formally: The default conditioning set Sdef\mathcal{S}_{def} corresponds to S1\mathcal{S}_{1} in Definition 1, and S\mathcal{S} corresponds to S2\mathcal{S}_{2}. Whenever S1\mathcal{S}_{1} changes, the algorithm restarts with ∣S2∣=p=0|\mathcal{S}_{2}|=p=0 and keeps increasing pp by steps of one. If the algorithm finds that some pair of variables is conditionally independent given Sdef∪S\mathcal{S}_{def}\cup\mathcal{S}, this pair of variables is not conditionally independent given Sdef∪S′\mathcal{S}_{def}\cup\mathcal{S}^{\prime} for a proper subset S′\mathcal{S}^{\prime} of S\mathcal{S}. This is because CI given Sdef∪S′\mathcal{S}_{def}\cup\mathcal{S}^{\prime} was tested before and rejected, if it would not have been rejected the edge would have been removed already. The statement then follows from correctness of the orientation rules, which is already proven. 2.) If AA and BB are connected by a link with middle mark ‘?’ or ‘L’, the algorithm keeps testing for CI given subsets of apdst(B,A,C(G))apds_{t}(B,A,\mathcal{C}(\mathcal{G})) until the link has been removed or updated with middle mark ‘R’. Similarly, if AA and BB are connected by a link with middle mark ‘?’ or ‘R’, the algorithm keeps testing for CI given subsets of apdst(A,B,C(G))apds_{t}(A,B,\mathcal{C}(\mathcal{G})) until the link has been removed or update with middle mark ‘L’. There is no orientation rule that turns a middle mark ‘!’ back into ‘?’, ‘L’, or ‘R’, and there is no orientation rule that modifies an empty middle mark. With the update rules given in Lemma S8 this shows that all remaining edges will eventually have middle marks ‘!’ or ‘’ (empty). Then, the algorithm converges. □\square

Assume A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B in LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}) but A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})). Then: 1.) A∉an(B,G)A\notin an(B,\mathcal{G}) and B∉an(A,G)B\notin an(A,\mathcal{G}). 2.) Assume further that R0′a\mathcal{R}0^{\prime}a has been exhaustively applied to C(G)\mathcal{C}(\mathcal{G}). Then, AA and BB are m-separated by a subset of napdst(B,A,C(G))napds_{t}(B,A,\mathcal{C}(\mathcal{G})) and by a subset of napdst(A,B,C(G))napds_{t}(A,B,\mathcal{C}(\mathcal{G})).

Proof of Lemma S10. Without loss of generality we can assume that A<BA<B. 1.) Assume A∈an(B,G)A\in an(B,\mathcal{G}) were true. Then AA and BB would be m-separated by some subset of D-Sep(B,A,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G})) for which D-Sep(B,A,M(G))=pa(B,M(G))\text{D-Sep}(B,A,\mathcal{M}(\mathcal{G}))=pa(B,\mathcal{M}(\mathcal{G})) by 4.) of Lemma S6. This contradicts A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗RBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle R}}}}}B and hence A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B. Similarly B∈an(A,G)B\in an(A,\mathcal{G}) contradicts A\ensurestackMath\stackon[−1pt]∗ ⁣\-− ⁣∗LBA{\mathbin{\ensurestackMath{\stackon[-1pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle L}}}}}B and hence A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B. 2.) This follows from the first part together with Lemma S3. □\square

Consider modifying the LPCMCI algorithm 1 by skipping line 6 of its pseudocode, i.e., by not executing Algorithm S3. Denote the graph returned by this modified algorithm as C(G)′\mathcal{C}(\mathcal{G})^{\prime}. Then: 1.) C(G)′\mathcal{C}(\mathcal{G})^{\prime} is a LPCMCI-PAG. 2.) If A\ensurestackMath\stackon[−0pt]→∗BA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptstyle\ast}}}}}B in C(G)′\mathcal{C}(\mathcal{G})^{\prime} then A∈adj(B,M(G))A\in adj(B,\mathcal{M}(\mathcal{G})). 3.) If A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗∗BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptstyle\ast}}}}}B in C(G)′\mathcal{C}(\mathcal{G})^{\prime} and A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})) then A∉an(B,G)A\notin an(B,\mathcal{G}) and B∉an(A,G)B\notin an(A,\mathcal{G}).

Proof of Lemma S11. 1.) According to the MMR orientation rule the initialization of C(G)\mathcal{C}(\mathcal{G}) in line 1 of Algorithm 1 produces an LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}). Since Lemma S9 proves that C(G)\mathcal{C}(\mathcal{G}) is still an LPCMCI-PAG after line 3, this remains true when some parentships are carried over after the re-initialization in line 4. The statement thus follows from Lemma S9. 2.) The proof of the second part of Lemma S3 implies that all edges in C(G)′\mathcal{C}(\mathcal{G})^{\prime} have middle marks ‘!’ or ‘’ (empty). If A→BA{\rightarrow}B in C(G)′\mathcal{C}(\mathcal{G})^{\prime}, then A∈adj(B,M(G))A\in adj(B,\mathcal{M}(\mathcal{G})) by the seventh point in Definition S3. If A\ensurestackMath\stackon[−0pt]→!BA{\mathbin{\ensurestackMath{\stackon[-0pt]{{\rightarrow}}{{\scriptscriptstyle!}}}}}B in C(G)′\mathcal{C}(\mathcal{G})^{\prime}, then A∈adj(B,M(G))A\in adj(B,\mathcal{M}(\mathcal{G})) by the APR orientation rule, see Lemma 1. 3.) According to the proof of the previous point A∗ ⁣\-− ⁣∗BA{\ast\!{\--}\!\ast}B or A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B, and since A∉adj(B,M(G))A\notin adj(B,\mathcal{M}(\mathcal{G})) the seventh point in Definition S3 further restricts to A\ensurestackMath\stackon[−2pt]∗ ⁣\-− ⁣∗!BA{\mathbin{\ensurestackMath{\stackon[-2pt]{{\ast\!{\--}\!\ast}}{{\scriptscriptstyle!}}}}}B. The statement then follows from the first part of Lemma S10. □\square

Assume Algorithm S3 is being passed a LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}). 1.) C(G)\mathcal{C}(\mathcal{G}) remains a LPCMCI-PAG at any point of the algorithm. 2.) The algorithm converges.

Proof of Lemma S12. Write A=Xt−τiA=X^{i}_{t-\tau} and B=XtjB=X^{j}_{t}. 1.) An edge between AA and BB is updated with the empty middle mark only if AA and BB are not m-separated by a subset of napdst(B,A,C(G))napds_{t}(B,A,\mathcal{C}(\mathcal{G})) or τ=0\tau=0 and AA and BB are not m-separated by a subset of napdst(A,B,C(G))napds_{t}(A,B,\mathcal{C}(\mathcal{G})). Note that R0′a\mathcal{R}0^{\prime}a is exhaustively applied in line 22 of Alg. S2 as well as in line 23 of Alg. S3. According to Lemma S10 the update is then correct. Apart from this the proof parallels the proof of 1.) of Lemma S9. 1.) If AA and BB are connected by a link with middle mark ‘!’, the algorithm keeps testing for CI given subsets of napdst(B,A,C(G))napds_{t}(B,A,\mathcal{C}(\mathcal{G})) and if τ=0\tau=0 also given subsets of napdst(A,B,C(G))napds_{t}(A,B,\mathcal{C}(\mathcal{G})) until the link has been removed or updated with the empty middle mark. There is no orientation rule that turns a middle mark ‘!’ back into ‘?’, ‘L’, or ‘R’, and there is no orientation rule that modifies an empty middle mark. With the update rules given in Lemma S8 this shows that all remaining edges will eventually have empty middle marks. Then, the algorithm converges. □\square

Assume that there is a process as in eq. (1) without causal cycles, which generates a distribution PP that is faithful to its time series graph G\mathcal{G}. Further assume that there are no selection variables, and that we are given perfect statistical decisions about CI of observed variables in PP. Then LPCMCI is sound and complete, i.e., it returns the PAG P(G)\mathcal{P}(\mathcal{G}).

Proof of Theorem 2. Soundness: According to the MMR orientation rule the initialization of C(G)\mathcal{C}(\mathcal{G}) in line 1 of Algorithm 1 produces an LPCMCI-PAG C(G)\mathcal{C}(\mathcal{G}). Since Lemma S9 proves that C(G)\mathcal{C}(\mathcal{G}) is still an LPCMCI-PAG after line 3, this remains true when some parentships are carried over after the re-initialization in line 4. Stationarity both with respect to orientations and adjacencies is always enforced by construction. The statement then follows from Lemmas S9 and S12 together with the first, second, third, and seventh point in Definition S3. Completeness: Note that after convergence of the while loop in Alg. S3 all middle marks in C(G)\mathcal{C}(\mathcal{G}) are empty. Since according to Lemma S12 this C(G)\mathcal{C}(\mathcal{G}) is a LPCMCI-PAG, the skeleton of C(G)\mathcal{C}(\mathcal{G}) agrees with that of M(G)\mathcal{M}(\mathcal{G}). Note again that stationarity both with respect to orientations and adjacencies is always enforced by construction, and that rules R5R5 through R7R7 do not apply due to the assumption of no selection variables. Completeness then follows since the orientation applied in line 27 of Algorithm S3 contain the FCI orientation rules R0R0 through R4R4 and R8R8 through R10R10 as special cases. □\square

The output of LPCMCI does not depend on the order of the NN time series variables XjX^{j} (the jj-indices may be permuted).

Proof of Theorem 3. Both Algorithms S2 and S3 remove edges only after the for-loop over ordered pairs has been completed. The ordering of ordered pairs imposed by the outer for-loop is order-independent. Note that the sets Ssearch\mathcal{S}_{search}, Ssearch1\mathcal{S}^{1}_{search} and Ssearch2\mathcal{S}^{2}_{search} are ordered by means of IminI^{min}. Since this is an order-independent ordering, the break commands do not introduce order-dependence. The application of orientation rules is order-independent by construction of Algorithm S4: Orientations and removals are only applied once the rule has been exhaustively applied, and conflicts are removed by means of the conflict mark ‘x’. Lastly, as discussed at the end of Sec. S5, also the decision of whether a node is in a separating sets are made in an order-independent way. □\square

S9 Further numerical experiments

On the following pages we present various further numerical experiments for evaluating and comparing the performances of LPCMCI and the SVAR-FCI and SVAR-RFCI baselines. For each setup we show results for significance levels α=0.01, 0.05\alpha=0.01,\,0.05 and, depending on the setup, for different autocorrelation values aa, numbers of observed variables NN, maximum time lag τmax⁡\tau_{\max}, fraction of unobserved variables λ\lambda, and sample sizes TT. We focus the discussion on orientation recall and precision, runtimes, and control of false positives.

Results for the nonlinear conditional independence test GPDC [Runge et al., 2019b] are shown in Figures S2 (T=200T=200) and S3 (T=400T=400). Each figure depicts the results for N=3,5,10N=3,5,10 observed variables and α=0.01,0.05\alpha=0.01,0.05 with varying autocorrelation on the x-axis. In these experiments we employ a variant of the model in eq. (3) that features half linear and half nonlinear functions of the form fi(x)=(1+5xe−x2/20)xf_{i}(x)=(1+5xe^{-x^{2}/20})x, chosen because these tend to yield stationary dynamics. Further, a third of the noise distributions are randomly chosen to be Weibull distributions with shape parameter 22 (instead of Normal distributions).

We find that also here LPCMCI has much higher adjacency and orientation recall than the SVAR-FCI and SVAR-RFCI baselines, especially for contemporaneous links. Precision is overall comparable, but lagged precision often higher for LPCMCI. For N=3N=3 we observe partially not controlled false positives for all methods.

Linear experiments for varying number of variables N𝑁N:

For the case of no autocorrelation LCPCMI has slightly higher recall and slightly lower precision at a higher runtime. For intermediate autocorrelation (a=0.5a=0.5) the results are similar to those for a=0a=0, but SVAR-FCI’s runtime is higher. For N=3,T=200,α=0.01N=3,T=200,\alpha=0.01 false positives are not controlled, but less so for LPCMCI. For higher autocorrelation LPCMCI has 0.2-0.4 higher contemporaneous recall and also substantially higher lagged recall throughout. In the highly autocorrelated regime we observe inflated false positives for SVAR-FCI and SVAR-RFCI due to ill-calibrated CI tests, similar to the PC algorithm as discussed in [Runge et al., 2019b].

Figures S7-S9 show results for varying maximum time lags τmax⁡\tau_{\max} and T=200,500,1000T=200,500,1000, a=0,0.5,0.95,0.99a=0,0.5,0.95,0.99, and α=0.01,0.05\alpha=0.01,0.05.

For no autocorrelation all methods have almost constant contemporaneous recall, only lagged recall shows a slight decay. Note that the true PAG changes with τmax⁡\tau_{\max}. Contemporaneous precision is also largely constant, while lagged precision decreases for all methods. Runtime increases and sharply rises for LPCMCI with k=0k=0, indicating that the edge removal phase of Algorithm S3 is faster for higher kk, i.e., after several preliminary phases have been run. SVAR-FCI similarly features exploding runtimes for large τmax⁡\tau_{\max}, both intermediate and higher autocorrelations. Again, false positives in SVAR-FCI and SVAR-RFCI are not well controlled for small τmax⁡\tau_{\max} and α=0.01\alpha=0.01.

Linear experiments for varying sample size T𝑇T:

In Figures S10-S12 we depict results for varying sample sizes TT and N=3,5,10N=3,5,10, a=0,0.5,0.95,0.99a=0,0.5,0.95,0.99, and α=0.01,0.05\alpha=0.01,0.05.

As expected, both recall and precision increase with TT. Also runtime increases, but only slowly, except for LPCMCI with k=0k=0 where it explodes for N=10N=10. The higher the autocorrelation, the better the increase in recall and precision for contemporaneous links. For N=3N=3 lack of false positive control (less so for LCPCMI) is visible for all sample sizes. For strong autocorrelations there is a minor decrease in the orientation precision of contemporaneous links when increasing the sample size from T=500T=500 to T=1000T=1000. Since at the same time there sometimes is a slight increase in the orientation precision of lagged links, we do not see a straightforward explanation of this observation.

Linear experiments for varying the fraction of unobserved variables λ𝜆\lambda:

In Figures S13-S18 we show results for varying fractions of unobserved variables λ\lambda and T=200,500,1000T=200,500,1000, N=3,5,10N=3,5,10, a=0,0.5,0.95,0.99a=0,0.5,0.95,0.99, and α=0.01,0.05\alpha=0.01,0.05.

For no autocorrelation both recall and precision decay, while runtime is almost constant. For intermediate and strong autocorrelation we observe a strong decay in recall (even stronger for contemporaneous links), and a less stronger decay in precision. Runtime is almost constant.

Linear experiments for the non-time case:

The previous experiments already cover non-autocorrelated time series, see the various results for a=0a=0. In these cases LPCMCI shows a performance similar to the baselines. Here, we additionally analyze the truly non-time series case.

The numerical experiments are based on a purely contemporaneous variant of the model in eq. (3), namely

In Figure S19 we show results for varying numbers of observed variables N=10,20,30,40N=10,20,30,40, sample sizes T=100,200,500T=100,200,500, and significance levels α=0.01,0.05\alpha=0.01,0.05. While in the non-time series case SVAR-FCI and SVAR-RFCI respectively reduce to FCI and RFCI, we keep the naming for consistency.

SVAR-FCI, SVAR-RFCI, and LPCMCI(k=0k=0) all perform very similar with a slight advantage for SVAR-RFCI, which also has the lowest runtimes. LPCMCI(k=4k=4) shows higher recall but also lower precision and partly inflated false positives. A more detailed analysis of this drop in performance of LPCMCI with higher kk is subject to future research. We hypothesize that with additional preliminary iterations LPCMCI determines increasingly many false ancestorships, which are then used as default conditions and thereby prevent some true conditional independencies from being found.

Linear experiments for models with discrete variables:

Recall that LPCMCI is designed to increase effect sizes (with the aim to in turn increase the detection power of true causal links) by using known causal parents as default conditions (and by avoiding to condition on known non-ancestors). The higher-dimensional conditioning sets come, however, at the price of an increased estimation dimension. This has a counteracting negative effect on detection power. As supported by the various experiments in the main text and above, for continuous variables loosing O(1)\mathcal{O}(1) degrees of freedom by default conditioning is negligible to, e.g., O(100)\mathcal{O}(100) sample sizes. In this case the positive effect of increased effect sizes prevails. We now study the models with discrete-valued variables, where the increased cardinality of conditioning sets is expected to have a much stronger effect on the estimation dimensions.

The numerical experiments are based on a linear and discretized variant of the model in eq. (3) of the form

Statistical tests of (conditional) independencies are performed with a GG-test, see e.g. section 10.3.1 of [Neapolitan, 2003]. The details of our implementation are as follows: When testing for CI of XX and YY given Z1,…,ZnZ_{1},\ldots,Z_{n}, a separate contingency table of XX and YY is made for each unique value (z1a,…,zna)(z_{1}^{a},\ldots,z_{n}^{a}) that is assumed by the conditions. Rows and columns in these contingency tables that consist of zero counts only are removed. For each such table we calculate the degrees of freedom and the test statistic as for an unconditional GG-test and sum those values up. If the total number of degrees of freedom falls below one, the test judges independence.

Figure S20 shows the results for N=4N=4 observed variables, sample size T=2000T=2000, and significance levels α=0.01,0.05\alpha=0.01,0.05 with varying autocorrelation on the x-axis.

The bottom row depicts the case with nbin=4n_{bin}=4. SVAR-FCI, SVAR-RFCI, and LPCMCI(k=0k=0) perform largely similar in terms of adjacency and orientation recall. LPCMCI(k=0k=0) has slightly higher lagged recall but also lower precision. LPCMCI(k=4k=4) has much lower recall (both regarding adjacencies and orientation) for contemporaneous links and autodependency links, but higher recall for lagged links. It further shows uncontrolled false positives and lower precision. One reason for this loss in performance can be found in the much higher cardinalities of CI tests in LPCMCI(k=4k=4). These seem to not only lead to lower power but also ill-calibrated CI tests. For nbin=2n_{bin}=2, depicted in the top row of Fig. S20, the overall results are similar.

These results can only be regarded as preliminary since there are different choices regarding the implementation of the GG-test of conditional independence as well as a number of other ways to design discrete-variable models.

Comparison of LPCMCI to residualization approaches:

The previous results demonstrate that LPCMCI shows strong gains in recall for autocorrelated continuous variables. One might wonder whether in the autocorrelated case SVAR-FCI benefits from a data preprocessing that is targeted at removing autocorrelation.

We test this idea by employing two residualization approaches: First, by fitting independent AR(1) models to each times series and then running SVAR-FCI on the residuals (SVAR-FCI-prewhite). This approach was also tested in the causally sufficient case with no contemporaneous links in [Runge, 2018] [Appendix B, Section 3]. Second, by using Gaussian process regression as proposed in [Flaxman et al., 2015] instead of the AR(1) models (SVAR-FCI-GPwhite). More precisely, for every time series XjX^{j} we fit a Gaussian process model of XjX^{j} on the time index variable (t=0,…,nt=0,\ldots,n where nn is the sample size) and apply SVAR-FCI on the residuals. As a kernel we used the Radial Basis Function with an added unit variance White kernel. The RBF hyperparameters are optimzed as part of the default Python scikit-klearn implementation. These results are compared to standard LPCMCI run without prior residualization.

Figure S21 shows the results for N=5N=5 observed variables, sample sizes T=200, 500T=200,\,500, and significance levels α=0.01,0.05\alpha=0.01,0.05 with varying autocorrelation on the x-axis.

Both SVAR-FCI-prewhite and SVAR-FCI-GPwhite increase adjacency and orientation recall as compared to SVAR-FCI. SVAR-FCI-prewhite yields larger gains than SVAR-FCI-GPwhite, but both are still well below LPCMCI. Both SVAR-FCI-prewhite and SVAR-FCI-GPwhite have lower precision than SVAR-FCI, lead to inflated false positives, and excessively increase runtime. We further note that it is not clear what the ground truth MAG and PAG should be after residualization. This seems to require a substantially different theory.

S10 Figures illustrating the application to the real data example

This section shows the results that underlie the discussion of the application to the real data example in Sec. 5 of the main text. Figure S22 shows the PAGs estimated by LPCMCI(kk) for k=0,…,3k=0,\ldots,3 and α=0.01,0.05\alpha=0.01,0.05. The results of LPCMCI(k=4k=4), although mentioned in the main text, are not shown because they agree with those of LPCMCI(k=3k=3) for both considered values of α\alpha. Figure S23 shows the PAGs estimated by SVAR-FCI for α=0.01,0.03,0.05,0.08,0.1,0.3,0.5,0.8\alpha=0.01,0.03,0.05,0.08,0.1,0.3,0.5,0.8. All results are based on ParCorr CI tests and τmax⁡=2\tau_{\max}=2. The link colors encode the absolute value of the minimal ParCorr test statistic of all CI tests for the respective pair of variables.

S11 Non-completeness of FCI with majority rule

In Sec. S5 it was mentioned that FCI becomes non-complete when its orientation rules in the final orientation phase are modified according to the majority rule of [Colombo and Maathuis, 2014]. While this is probably known, we have not found it spelled out in the literature. Therefore, we here illustrate this point by the example given in Fig. S24.

The left and middle part of the figure respectively show the true MAG and its fully informative PAG. As proven in [Zhang, 2008], the latter will be found by the standard FCI algorithm without modification according to the majority rule. Note that the two heads at node FF are put by the collider rule R0\mathcal{R}0: Since FF is not in the separating set SDE={A,B,C}\mathcal{S}_{DE}=\{A,B,C\} of DD and EE, the unshielded triple D∗ ⁣\-− ⁣ ⁣∘ ⁣F∘ ⁣\-− ⁣ ⁣ ⁣∗ED{\ast\!{\--}}\!\!\circ\!F{\circ\!{\--}}\!\!\!\ast E is oriented as collider D∗ ⁣→F← ⁣∗ED{\ast\!{\rightarrow}}F{{\leftarrow}\!\ast}E. The output of FCI with modification according to the majority rule is shown in the right part of the figure. There, the two heads at FF are not found. The reason is that the majority rule instructs R0\mathcal{R}0 to base its decision of whether D∗ ⁣\-− ⁣ ⁣∘ ⁣F∘ ⁣\-− ⁣ ⁣ ⁣∗ED{\ast\!{\--}}\!\!\circ\!F{\circ\!{\--}}\!\!\!\ast E is oriented as a collider not on the separating set found during the removal phases (this is SDE\mathcal{S}_{DE}) but rather on a majority vote of all separating sets of DD and EE in the adjacencies of DD and EE. However, in the example there are no such separating sets since neither DD nor EE is adjacent to AA. Therefore, D∗ ⁣\-− ⁣ ⁣∘ ⁣F∘ ⁣\-− ⁣ ⁣ ⁣∗ED{\ast\!{\--}}\!\!\circ\!F{\circ\!{\--}}\!\!\!\ast E is not oriented as collider by R0\mathcal{R}0 but rather marked as ambiguous. The heads can also not be found by R2\mathcal{R}2, R3\mathcal{R}3 and R4\mathcal{R}4, the other rules for putting invariant heads, because these only oriented edges that are part of a triangle. Since neither F∘ ⁣→DF{\circ\!{\rightarrow}}D nor F∘ ⁣→EF{\circ\!{\rightarrow}}E is part of a triangle, the orientations are not found. As described at the end of Sec. S5 we employ a modified majority rule in LPCMCI to guarantee both completeness and order-independence.