FCI Algorithm — Fast Causal Inference
Fast Causal Inference (FCI) Algorithm · Also known as: FCI, Fast Causal Inference, FCI Causal Discovery, FCI Algoritması
The Fast Causal Inference (FCI) algorithm is a constraint-based causal discovery method introduced by Spirtes, Glymour, and Scheines in their landmark 2000 book Causation, Prediction, and Search. Unlike its predecessor the PC algorithm, FCI is specifically designed to handle the presence of latent (unmeasured) common causes and sample selection bias. It outputs a Partial Ancestral Graph (PAG), which faithfully represents the set of all causal structures consistent with the observed conditional independencies.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
When to use it
Use FCI when you suspect unmeasured confounders or sample selection bias — situations where the PC algorithm would give misleading results. FCI requires that the causal Markov condition and faithfulness hold in the true underlying graph, and it assumes that conditional independence tests are reliable (demanding large samples for high-dimensional data). For purely observed systems with no latent variables, PC is computationally cheaper. When the variable count is very large, consider RFCI (a faster approximation) or score-based methods such as NOTEARS.
Strengths & limitations
- Explicitly accounts for latent common causes and selection bias, producing provably correct output under its assumptions.
- Output PAG conveys genuine uncertainty: circle marks communicate what causal orientation cannot be identified from data alone.
- Asymptotically sound and complete — in the large-sample limit it recovers the true PAG equivalence class.
- Modular design allows plug-in independence tests (Fisher-z, G-squared, kernel-based) suited to different data types.
- Computationally expensive: the Possible-D-Sep phase requires exponentially many conditional independence tests in the worst case.
- Requires large sample sizes for reliable conditional independence testing, especially with many conditioning variables.
- Faithfulness assumption may be violated in practice (e.g., through parameter cancellations), leading to incorrect edge removals.
- Output PAG can be difficult to interpret for practitioners unfamiliar with ancestral graph semantics and circle-endpoint notation.
Frequently asked
What is the difference between FCI and the PC algorithm?
The PC algorithm assumes all common causes are observed and outputs a Completed Partially Directed Acyclic Graph (CPDAG). FCI relaxes this assumption, allowing for latent confounders and selection bias, and outputs a Partial Ancestral Graph (PAG) that uses circle and bidirected-arrow endpoints to represent causal uncertainty introduced by unobserved variables.
What does a bidirected arrow (↔) in the PAG output mean?
A bidirected arrow between variables X and Y in the PAG indicates that there is likely a latent common cause — an unmeasured variable that causally influences both X and Y. It does not mean X and Y cause each other directly; rather, their association is at least partially explained by one or more hidden confounders.
Is FCI suitable for small datasets?
FCI is not recommended for small datasets. Its correctness guarantees are asymptotic, and reliable conditional independence testing — especially when conditioning on large subsets — requires substantial sample sizes. With small samples, spurious independencies and missed dependencies can cascade through the algorithm, producing a PAG that misrepresents the true causal structure.
Sources
- Spirtes, P., Glymour, C., & Scheines, R. (2000). Causation, Prediction, and Search (2nd ed.). MIT Press. ISBN: 978-0-262-19440-2
How to cite this page
ScholarGate. (2026, June 2). Fast Causal Inference (FCI) Algorithm. ScholarGate. https://scholargate.app/en/causal-inference/fci-algorithm
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- Bayesian NetworkBayesian↔ compare
- NOTEARSCausal inference↔ compare