Exploratory causal analysis

Causal analysis is the field of experimental design and statistical analysis pertaining to establishing cause and effect. Exploratory causal analysis (ECA), also known as data causality or causal discovery is the use of statistical algorithms to infer associations in observed data sets that are potentially causal under strict assumptions. ECA is a type of causal inference distinct from causal modeling and treatment effects in randomized controlled trials. It is exploratory research usually preceding more formal causal research in the same way exploratory data analysis often precedes statistical hypothesis testing in data analysis

Motivation
Data analysis is primarily concerned with causal questions. For example, did the fertilizer cause the crops to grow? Or, can a given sickness be prevented? Or, why is my friend depressed? The potential outcomes and regression analysis techniques handle such queries when data is collected using designed experiments. Data collected in observational studies require different techniques for causal inference (because, for example, of issues such as confounding). Causal inference techniques used with experimental data require additional assumptions to produce reasonable inferences with observation data. The difficulty of causal inference under such circumstances is often summed up as "correlation does not imply causation".

Overview
ECA postulates that there exist data analysis procedures performed on specific subsets of variables within a larger set whose outputs might be indicative of causality between those variables. For example, if we assume every relevant covariate in the data is observed, then propensity score matching can be used to find the causal effect between two observational variables. Granger causality can also be used to find the causality between two observational variables under different, but similarly strict, assumptions.

The two broad approaches to developing such procedures are using operational definitions of causality or verification by "truth" (i.e., explicitly ignoring the problem of defining causality and showing that a given algorithm implies a causal relationship in scenarios when causal relationships are known to exist, e.g., using synthetic data ).

Operational definitions of causality
Clive Granger created the first operational definition of causality in 1969. Granger made the definition of probabilistic causality proposed by Norbert Wiener operational as a comparison of variances.

Some authors prefer using ECA techniques developed using operational definitions of causality because they believe it may help in the search for causal mechanisms.

Verification by "truth"
Peter Spirtes, Clark Glymour, and Richard Scheines introduced the idea of explicitly not providing a definition of causality. Spirtes and Glymour introduced the PC algorithm for causal discovery in 1990. Many recent causal discovery algorithms follow the Spirtes-Glymour approach to verification.

Techniques
There are many surveys of causal discovery techniques. This section lists the well-known techniques.

Bivariate (or "pairwise")

 * Granger causality (there is also the Scholarpedia entry )
 * transfer entropy
 * convergent cross mapping

Multivariate

 * causation entropy
 * PC algorithm
 * FCI algorithm
 * LiNGAM

Many of these techniques are discussed in the tutorials provided by the Center for Causal Discovery (CCD).

Social science
The PC algorithm has been applied to several different social science data sets.

Medicine
The PC algorithm has been applied to medical data. Granger causality has been applied to fMRI data. CCD tested their tools using biomedical data.

Physics
ECA is used in physics to understand the physical causal mechanisms of the system, e.g., in geophysics using the PC-stable algorithm (a variant of the original PC algorithm) and in dynamical systems using pairwise asymmetric inference (a variant of convergent cross mapping).

Criticism
There is debate over whether or not the relationships between data found using causal discovery are actually causal. Judea Pearl has emphasized that causal inference requires a causal model developed by "intelligence" through an iterative process of testing assumptions and fitting data.

Response to the criticism points out that assumptions used for developing ECA techniques may not hold for a given data set   and that any causal relationships discovered during ECA are contingent on these assumptions holding true

Comprehensive toolkits

 * Tetrad is an open source GUI-based Java program that provides a collection of causal discovery algorithms. The algorithm library used by Tetrad is also available as a command-line tool, Python API, and R wrapper.
 * Java Information Dynamics Toolkit (JIDT) is an open source Java library for performing information-theoretic causal discovery (i.e., transfer entropy, conditional transfer entropy, etc.). Examples of using the library in MATLAB, GNU Octave, Python, R, Julia and Clojure are provided in the documentation.
 * pcalg is an R package that provides some of the same causal discovery algorithms provided in Tetrad.

Granger causality

 * R package
 * Python package

convergent cross mapping

 * R package

LiNGAM

 * MATLAB/GNU Octave package

There is also a collection of tools and data maintained by the Causality Workbench team and the CCD team.