1. Introduction
Causality is a generic relationship between an effect and the cause that gives rise to it. It is hard to define, and we often only know intuitively about causes and effects. Because it rained, the streets were wet. Because the student did not study, he did poorly on the exam. Because the oven was hot, the cheese melted on the pizza. When it comes to learning causality with data, we need to be aware of the difference between statistical associations and causations. For example, when the temperatures are hot, the owner of an ice cream shop might observe high electric bills and also high sales. Accordingly, she would observe a strong association between the electric bill and the sales figures, but the electric bill was not causing the high sales — leaving the lights on in the shop over night would have no impact on sales. In this case, the outside temperature is the common cause of both the high electric bill and the high sales numbers, and we say that it is a confounder of the causality of the electricity usage on the ice cream sales.
The ability to learn causality is considered as a significant component of humanlevel intelligence and can serve as the foundation of AI (Pearl, 2018). Historically, learning causality has been studied in myriad of highimpact domains including education (LaLonde, 1986; Dehejia and Wahba, 1999; Heckerman et al., 2006; Hill, 2011), medical science (Mani and Cooper, 2000; of the Psychiatric Genomics Consortium et al., 2013), economics (Imbens, 2004), epidemiology (Hernán et al., 2000; Robins et al., 2000; MA and JM, ming), meteorology (EbertUphoff and Deng, 2012) and environmental health (Li et al., 2014). Limited by the amount of data, solid prior causal knowledge was necessary for learning causality. Researchers performed studies on data collected through carefully designed experiments where solid prior causal knowledge is of vital importance (Heckerman et al., 2006). To take a prototype example of randomized controlled trials (Cook et al., 2002), to study the efficacy of a drug, a patient would be randomly assigned to take the drug or not, which would guarantee that — on average — the treated and the untreated (control) group are equivalent in all relevant respects, ruling out the influence of any other factors. Then, the impact of the drug on some health outcome — say, the duration of a migraine headache — can be measured by comparing the average outcome of the two groups.
The purpose of this survey is to consider what new possibilities and challenges arise for learning about causality in the present era of big data, taken here to mean both the availability of massive datasets. As an example, consider that the possibility of unmeasured confounders — might be mitigated now as vastly many more features can be measured. So, on one hand, it becomes possible for researchers to answer interesting causal questions with the help of big data. For instance, do positive Yelp^{1}^{1}1https://www.yelp.com/ reviews drive customers to restaurants, or do they merely reflect popularity but not influence it? This causal question can be addressed by data from an extensive database maintained by Yelp. On the other hand, answering causal questions with big data leads to some unique new problems. For example, though public databases or data collected through web crawling or application program interfaces (APIs) are unprecedentedly large, we have very little intuition about what types of bias the dataset can suffer from — the data are more plentiful, but also perhaps more mysterious and, therefore, harder to model responsibly. At the same time, causal investigation is made more challenging by the same fundamental statistical difficulties that big data poses for other learning tasks (such as prediction). Perhaps the most notable example of this is the highdimensionality of modern data (Li et al., 2017a), such as text data (Imai et al., 2013).
Many begin to investigate this intersection between big data and causal inquiry. Notable examples include but are not limited to (Pham and Shen, 2017; Mooij et al., 2016; Louizos et al., 2017; Aral and Nicolaides, 2017; Eggers et al., 2018). In this survey, we aim instead to catalogue the different types of data that are available in this era and to provide an overview of the existing methods that attempt to answer causal questions using those data. As part of this effort, we will review the two primary formal frameworks for studying causality as well as the basic methodologies for learning causality, that underly more advanced techniques designed for big data.
1.1. Overview and Organization
Broadly, machine learning tasks are either predictive or descriptive in nature. But beyond prediction and description we may want to understand something causal, imaging that we were able to modify some variables and rerun the datagenerating process. These types of questions can also take two (related) forms: 1) How much would some variables (features or the label) change if we manipulate the value of another variable? and 2) By modifying the value of which variables could we change the value of another variable? These questions are referred to as causal inference questions and causal discovery questions, respectively (Gelman, 2011; Peters et al., 2017a). For learning causal effects (causal inference), we investigate to what extent manipulating the value of a potential cause would influence a possible effect. Following the literature, we call the variable to be manipulated as treatment and the variable for which we observe the response as the outcome, respectively. How much do hot temperatures raise ice cream sales, for example. For learning causal relationships (causal discovery), researchers attempt to determining whether there exists a causal relationship between a variable and another. In our temperature and ice cream example, it is clear that ice cream sales do not cause high temperatures, but in other examples it may not be clear. To take an extreme example, might it be that a genetic disposition towards cancer was responsible for individuals taking up smoking?
In this survey, we aim to start from the data perspective and provide a comprehensive review on how to learn causality from the massive data that we are often encountered with nowadays. Below, we present an outline of the topics that are covered in this survey. First, in Section 2, we introduce the preliminaries of learning about causality from data, which we will shorten to learning causality to encompass either causal inference or causal discovery. We mainly focus on the two most important formal frameworks, namely the structural causal models (Pearl, 2009a) and the potential outcome framework (Neyman, 1923; Rubin, 1974). Next, in Section 3 and 4 we go over the most common methodologies for learning causality from data. Specifically, in these two sections, the methods for both learning causal effects and relationships are categorized by the types of data they can handle. Section 3 focuses on the methods that are developed for the problem of learning causal effects (causal inference). Based on what data type they work on, these methods fall into three categories: methods for i.i.d data, noni.i.d. data with the backdoor criterion and the data without it. Then, in Section 4, the widely used methods for learning causal relationships are discussed. According to the data type, we first cover the methods for discovering causal relationships between variables in i.i.d. data. Then, we describe those methods of learning causal relationships that can tackle the interdependencies in time series data. Afterwards, in Section 5
, we aim to provide an aspect of how some previous work narrowed the gap between learning causality and machine learning. Especially, we go over how the research in three subareas of machine learning, namely supervised and semisupervised learning, domain adaptation and reinforcement learning can be connected to learning causality.
1.2. Data for Learning Causality
In this subsection, we discuss data and methods that are used for learning causal effects and relationships^{2}^{2}2The data index and algorithm index for learning causality are described in Appendix. We start with the data types and methods for learning causal effects and then cover those for learning causal relationships.
Data for Learning Causal Effects. Here, we provide an overview of the types of data for learning causality, the problems that can be studied if the data is given, and the methods that can provide practical solutions. We introduce three types of data that can be applied to study learning causal effect. First, a standard dataset for learning causal effects includes a matrix of features which is considered to provide enough information about the instances (satisfies the backdoor criterion, see Section 2
), a vector of treatments
and outcomes . With such a representation, this type of data is similar to what is often used for supervised learning. The only difference is that we are particularly interested in the causal effect of one feature on the label or another feature as the outcome . For the second type, in addition to those that are present in the first type, there is auxiliary information about interdependence or interference between units such as links or temporal interdependencies between different data units (samples), represented by a matrix . Some special cases of this type of data can be attributed networks (Li et al., 2017b; Zhou et al., 2018), time series (Eichler, 2012) and marked temporal point process (Guo et al., 2018). Moreover, when there are unobserved confounders in the third type, we need the help of special causal variables, including the instrumental variable (IV), the mediator and the running variable. These special variables are defined by typical causal knowledge, thus specific methods can be applied for learning causal effect for such types of data (see Section 3).Data for Learning Causal Relationships. We also describe two types of data for the study of (learning causal relationships) causal discovery. The first type of data is the conventional attributevalue data along with the known causal relationships, represented as , or and a ground truth causal graph for evaluation. With this type of data, we aim to learn the causal graph. A special case of this type of data is the bivariate data and the task reduces to distinguishing the cause from the effect (Mooij et al., 2016). The causal graph is usually defined by prior knowledge and could be incomplete. The second type of data for learning causal relationships is the multivariate time series data which also comes with a causal graph as the ground truth. We aim to learn causal relationships between different variables (Gong et al., 2017).
1.3. Previous Work and Contributions
There are a number of other comprehensive surveys in the area of causal learning. Pearl (Pearl, 2009a) aimed to convey the fundamental theory of causality based on the structural causal models. Gelman (Gelman, 2011) provided highlevel opinions about the existing formal frameworks and problems for causal learning. Mooji et al. (Mooij et al., 2016) focused on learning causal relationships for bivariate data. Spirtes and Zhang (Spirtes and Zhang, 2016) summarized methods for learning causal relationships on both i.i.d. and time series data but they focus on several semiparametric score based methods. Athey and Imbens (Athey and Imbens, 2015)
described decision trees and ensemble machine learning models for learning causal effects.
Different from previous work, this survey is structured around various data types, and what sorts of causal questions can be addressed with them. Specifically, we describe what types of data can be used for the study of causality, what are the problems that can be solved for each type of data and how they can be solved. In doing so, we aim to provide a bridge between the areas of machine learning, data mining and causal learning in terms of terminologies, data, problems and methods.
1.4. Running Example
As a running example, we consider a study of how Yelp ratings influence potential restaurant customers (Anderson and Magruder, 2012). Yelp is a website where consumers can share their reviews of a certain goods and services, including restaurants. Each review includes an integer rating from 1 to 5 stars. For our purposes, the Yelp rating is our treatment variable and the number of customers (in some welldefined period) is the outcome variable. For simplicity, we will consider these variables to be binary. A restaurant receives an active treatment if its rating is positive (above some threshold); otherwise, it is under a control treatment . For the outcome, means a restaurant is completely booked and means it is not.
2. Preliminaries for Learning Causality with Data
Different from previous work, to build a solid technical background to tackle the challenges of learning causality with massive data, we present the preliminaries for both structural causal models and the potential outcome framework. First, we need serious representations for causal knowledge, which are often referred to as the causal models. We define the causal model as follows:
Definition 0 ().
Causal Model. A causal model is a mathematical abstract that quantitatively describes the causal relationships between variables.
“No causes in, no causes out”, the famous quote from Cartwright (Cartwright et al., 1994) summarizes the procedure of learning causality with data. First, causal assumptions or prior causal knowledge is often represented by an incomplete causal model. Then, the information missing from the causal model is filled in through learning from data. In the literature of learning causality, various formal frameworks have been developed for mathematical formulation of causal models. The two most widespread ones are the structural causal models (SCMs) (Pearl, 2009b) and the potential outcome framework (Neyman, 1923; Rubin, 1974)
. These two formal frameworks are considered as the foundation of causality because they enable a consistent representation of prior causal knowledge, assumptions, and estimates such that we can start from the knowns (knowledge and assumptions) to learn the unknowns. As in the problem of
learning causal relationships, we often start without any causal knowledge and aim to learn them from data only. We can consider the problem of learning causal relationships as learning causal models from data. We will discuss more details about this in Section 4.We present the terminologies and notations that are used throughout this survey. We show a nomenclature for this survey in Table 1. In this survey, the a lowercase letter such as , or
denotes a specific value of the corresponding random variable. The bold lowercase letters such as
represent vectors. The uppercase letters such as signify random variables. The Calligraphic uppercase letters such as denote a set of random variables. The bold uppercase letters like stand for a matrix. signifies the set of instances, samples, examples or units, each instance in is represented by . denotes the set of random variables for features, covariates, observations or pretreatment variables. The matrix and vector forms of , namely and , present features for all instances and that for the instance , respectively. Without specification, the subscripts of the random variables of a set of features denote the instance and the dimension, respectively. For example, signifies the random variable for the th feature for instance . denotes the treatment variable, in this work, it is often assumed to be binary and univariate. is referred to as the outcome variable, in this work, it is assumed to be univariate. We use the subscript and superscript of to represent the instance and the treatment it corresponds to. For example, when the treatment is binary, denotes the outcome when instance is under treatment . Under the binary treatment, denotes the observed (factual) outcome while represents the counterfactual outcome of instance . denotes a certain type of treatment effect.Nomenclature  

Terminology  Alternatives  Explanation 
causality  causal relationship, causation  causal relationship between variables 
causal effect  the strength of a causal relationship  
instance  unit, sample, example  an independent unit of the population 
features  covariates, observables  variables describing instances 
pretreatment variables  
learning causal effects  (forward) causal inference  identification and estimation of causal effects 
(forward) causal reasoning  
learning causal relationships  causal discovery  inference of possible causal graphs from data 
causal learning  
causal search  
causal graph  causal diagram  a graph with variables as nodes and causality as edges 
confounder  confounding variable  a variable causally influences both treatment and outcome 
Next, we introduce the structural causal models (SCMs) with definitions of key concepts for learning causal effects followed by the potential outcome framework.
2.1. Structural Causal Models
SCMs are developed toward a comprehensive theory of causation (Pearl, 2009a). A causal model formulated by SCM consists of two components: the causal graph (causal diagram) and the structural equations^{3}^{3}3The terminology structural equation model was used to denote linear equations with causal effect as the coefficient for the treatment variable. However, recently, researchers start to use structural equations to refer to nonlinear and even nonparametric equations with a more generalized definition of causal effect (Pearl, 2009a; Peters et al., 2017b). .
Causal Graphs.
A causal graph forms a special class of Bayesian network with edges representing the causal effect. Thus, it inherits the well defined conditional independence criteria of Bayesian network. Here, we formally define causal graph.
Definition 0 ().
Causal Graph. A causal graph is a directed graph that describes the causal effects between variables, where is the node set and the edge set. In a causal graph, each node represents a random variable including the treatment, the outcome, other observed and unobserved variables. A directed edge denotes a causal effect from to .
A path is a sequence of directed edges and a directed path is a path whose edges point to the same direction. In this work, we only consider directed acyclic graphs (DAGs) where no directed path starts and terminates at the same node. Given a SCM, the conditional independence embedded in its causal graph provides sufficient information for us to confirm whether it satisfies the criteria such that we can apply certain causal inference methods. To understand the conditional independence, here, we briefly review the concept of dseparation based on the definition of blocked path. Fig. 1 shows three typical DAGs in explaining the conditional independence. In the chain (Fig. 0(a)), causally affects through its influence on . In the fork (Fig. 0(b)), is the common cause of both and . In this case, is associated with but there is no causation between them. In the collider (see Fig. 0(c)), both and cause but there is no causal effect or association between and . In the chain and fork, the path between and is blocked if we condition on , which can be denoted as . Contrarily, in the case of a collider (Fig. 0(c)), conditioning on introduces an association between and , which can be represented by . Generally, conditioning on a set of nodes blocks a path iff there at least exists a node in that is blocked. Here, we formally define a blocked node in causal graphs.
Definition 0 ().
With this definition, we say a set of nodes separates two variables and iff blocks all paths between them. The concept of separation plays a crucial role in explaining causal concepts which are introduced later in this subsection.
Similar to Bayesian networks, the assumption of the causal Markovian condition
is often applied to SCMs, which means that with this assumption, we can factorize the joint distribution represented by a
Markovian SCM of variables with:(1) 
where denotes the set of parent variables of , each of which has an arrow in . Moreover, the notation stands for the noise term which represents the causal effect of unobserved variables on . In this work, we focus on Markovian SCMs. Here, we introduce the key concepts of learning causality through a toy SCM which embeds prior causal knowledge for the Yelp example (Anderson and Magruder, 2012).
In Fig. 2(a), there are three random variables, namely , and , which stand for the restaurant category (confounder), Yelp star rating (treatment) and customer flow (outcome). With the three directed edges, this causal graph embeds the knowledge of the three causal effects:

the category of a restaurant influences its Yelp rating. For example, the average rating of fast food restaurants is lower than that of Ramen restaurants.

the category of a restaurant also influences its customer flow. For example, the average customer flow of fast food restaurant is higher than that of Ramen restaurants.

Yelp rating of a restaurant influences its customer flow, which is a common understanding.
Structural Equations. Given a causal graph, a set of equations called structural equations can be developed to specify the causal effects represented by the directed edges in the graph. We can use a set of nonparametric structural equations as the representation for three causal effects embedded in the causal graph (Fig. 2(a)). Specifically, this associated structural equation model can be written down as a set of equations below, where each equation corresponds to one edge in the graph:
(2) 
In Eq. 2, , and denote the random variables for the noise of each observed random variable. They are often assumed to be exogenous, which means there is no edge that points to them. As a result, they are independent of each other. Semantically, the noise terms represent the causal effect of unobserved variables on the variable on the LHS. It worths mentioning that for each equation, we assume that the variables on the RHS influences those on the LHS, not the other way around. For example, the second equation represents a datagenerating process which examines the values of and and then assigns the variable with the value (Pearl, 2009b). Rewriting this equation in a different order as can be misleading as it embeds the causal knowledge that Yelp rating causally influences restaurant type. Thus, the direction of the causal effect is flipped, which is not desired. The structural equation (Eq. 2) provides a quantitative way to represent intervention on a certain variable of the corresponding causal graph (Fig. 2(a)). In SCMs, docalculus (Pearl, 2009b) is developed to define intervention. In particular, the docalculus introduces a new mathematical operator , which denotes the simulation of a physical intervention which sets the value of the random variable to . The notation of leads to a formal expression of the corresponding interventional distributions as follows:
Definition 0 ().
Interventional Distribution (Postintervention Distribution). The interventional distribution or postintervention distribution denotes the distribution of the variable when we rerun the modified datageneration process where the value of variable is set to .
For example, for the causal graph in Fig. 2(a), the postintervention distribution refers to the distribution of customer flow as if the rating is set to by intervention, where all the arrows into are removed, as shown in Fig. 2(b). The structural equations associated with Fig. 2(b) under the intervention on the treatment variable, denoted by , can be written as:
(3) 
which formulates the interventional distribution as . Then, when it comes to the causal effect of on , in the language of SCMs, the problem of calculating causal effects can be translated into queries about the interventional distribution with different values. Implicitly, with SCMs, we assume that the variables follow the same causal relationships shown by a certain SCM for each instance in the population. Therefore, SCMs enable us to define average treatment effect (ATE). For the running example, the ATE of Yelp rating on the customer flow can be defined as a function:
(4) 
where and refer to the ratings that are considered as positive and negative, respectively. In many cases, the treatment variable is binary (), thus the ATE reduces to a value:
(5) 
instead of a function. However, the gap between an interventional distribution and the relevant probability (e.g.,
and ) impedes us from calculating ATE. In the literature of learning causality, we call this gap as the confounding bias. We present the formal definition of confounding bias with docalculus and SCMs.Definition 0 ().
Confounding Bias. Given variables , , confounding bias exists for causal effect iff the statistical association is not always the same as the corresponding interventional distribution, namely .
Confounding bias often results from the existence of backdoor path (e.g., the path in Fig. 2(a))^{4}^{4}4Confounding bias can exist even when there is no backdoor path. One example is a type of selection bias (Bareinboim and Tian, 2015), when the causal graph is and the dataset is collected only for instances with , then within this dataset, the estimated statistical association can be nonzero although we know that there is no causal effect .. Its formal definition is as follows:
Definition 0 ().
Backdoor Path. Given a pair of treatment and outcome variables , we say a path connecting and is a backdoor path for this pair iff it satisfies two conditions: first, it is not a directed path; second, it is not blocked (it has no collider).
An example of backdoor path is the path in Fig. 2(a). With the definition of backdoor path, we can give the formal definition for a confounder or confounding variable as:
Definition 0 ().
Confounder (Confounding Variable). Given a pair of treatment and outcome variables , we say a variable is a confounder or confounding variable iff it is the central node of a fork and it is on a backdoor path for .
In particular, in the running example, the probability distribution
results from a mixture of the causal effect and the statistical associations produced by the backdoor path , where is the confounder. Note that neither nor is the causal effect we want to estimate. Estimating the causal effects we care about from observational data requires methodologies that can eliminate confounding bias. The procedure of removing confounding bias is referred to as causal identification. Causal identification can be formally defined as:Definition 0 ().
Causal Identification. We say a causal effect is identified iff the hypothetical distribution (e.g., interventional distribution) that defines the causal effect is formulated as a function of probability distributions.
In other words, for causal identification, we need to block the backdoor paths that reflect other irrelevant causal effects. Intuitively, a way to eliminate confounding bias is to estimate the causal effect within subpopulations where the instances are homogeneous w.r.t. confounding variables (Pearl, 2009a). This corresponds to adjustment on variables that satisfy the backdoor criterion for causal identification (Pearl, 2009b). With the definition of a blocked path, we present a formal definition of the backdoor criterion.
Definition 0 ().
Backdoor Criterion. Given a treatmentoutcome pair , a set of features satisfies the backdoor criterion for iff when every variable in is blocked, all backdoor paths are blocked for the pair .
A set of variables that satisfies the backdoor criterion is referred to as a admissible set or a sufficient set. For the running example, we are interested in the causal effect of Yelp star rating on the customer flow () or equivalently the interventional distribution . So for causal identification, we aim to figure out a set of features that satisfies the backdoor criterion for the treatmentoutcome pair . For example, if restaurant category is the only confounder for the causal effect of Yelp rating on customer flow, then satisfies the backdoor criterion. In the literature of learning causality with SCMs, there are two types of data w.r.t. the backdoor criterion for causal inference. In the first type, we assume that the whole set or a subsets of the features satisfies the backdoor criterion such that by making adjustment on , can be identified. We will introduce methods for learning causal effects with data of this type in Section 3.1. In the second type, other criteria are used to identify causal effects even without the backdoor criterion.
Beyond docalculus. Although docalculus plays an important role in the language of SCMs, it has some limitations. The limitation mainly comes from the assumption of docalculus that the variables of all instance follow the same causal relationships. This implies that it is difficult to formulate individuallevel hypothetical distributions with docalculus in SCMs. Let us consider the running example, even if we could hack Yelp and replace the rounded star rating with the true average rating for all restaurants, we still cannot answer questions such as what would the customer flow for restaurant be if we had increased its rating by 0.5 star without changing the ratings of others? In (Pearl, 2018), Pearl refers to the hypothetical distributions for such cases which cannot be identified through interventions as counterfactuals. Naturally, docalculus, the formal representation of hypothetical intervention, cannot help us formulate counterfactuals within the language of SCMs. Therefore, besides docalculus, Pearl (Pearl, 2009a) introduced a new set of notations. For example, denotes the probability of if had been observed with value , given the fact that we observe in the data. In the running example, for a restaurant with rating and customer flow , the counterfactual probability stands for how likely the restaurant’s customer flow would be if we had observed its rating as .
2.2. Potential Outcome Framework
The potential outcome framework (Neyman, 1923; Rubin, 1974) or the NeymanRubin Causal Model, proposed by Neyman and then made wellknown by Rubin, has been widely adopted in many applied scientific research (Imbens, 2004; Athey and Imbens, 2015). The potential outcome framework is mainly applied to learning causal effect as it corresponds to a given treatmentoutcome pair . Here, we start this part with a formal definition of the potential outcome:
Definition 0 ().
Potential Outcome. Given the treatment variable , the population being studied and the outcome variable , the potential outcome of the instance , , is defined as the value of would have taken if the value of for instance had been set to .
Following this definition, the main challenge of causal inference is the fact that we can only observe one potential outcome for a given instance. With the definition of potential outcome, we can define the individual treatment effect (ITE) as the difference between two potential outcomes of a certain instance under two different levels of treatment. This also makes the potential outcome framework a natural fit for formulating causality of subpopulations. In a vast majority of applied studies based on the potential outcome framework, researchers simplify the treatment variable to be binary () without loss of generality, where and mean that an instance is assigned to the treatment and control group, respectively.
Then we can formally define that the ITE becomes as a unique value as:
Definition 0 ().
Individual Treatment Effect. Assuming binary treatment, given an instance and its potential outcomes and , the individual treatment effect is defined as:
(6) 
With this definition of ITE under the potential outcome framework (Eq. 6), we can extend it to ATE over the whole population being studied and other subpopulation average causal effects such as conditional average treatment effect (CATE). Earlier in this section, we have already defined ATE with docalculus, here we show that ATE can also be formulated in the potential outcome framework. Formally, given the definition of ITE, we can formulate ATE as the expectation of ITE over the whole population as:
(7) 
where denotes the population size. The average treatment effects on subpopulations can also be interesting for some studies. An example is the CATE of instances with a certain .
Three assumptions of the potential outcome framework. There are three assumptions we have make in formulating ITE from potential outcomes: the stable unit (instance) treatment value assumption (SUTVA), consistency and ignorability (unconfoundedness). One can break down SUTVA into two distinct conditions: welldefined treatment levels and no interference. The condition of welldefined treatment indicates that given two different instances , if the values of their treatment variable are equivalent (), then the two instances and receive exactly the same treatment. In the running example, this condition can be interpreted in a way that being rated as 4star means the same for different restaurants. The condition of no interference signifies that the potential outcomes of an instance is independent of what treatments the other units receive, which can be formally expressed as:
(8) 
where denotes the vector of treatment variables for all the instances. Using the toy example, we can explain the condition of no interference as no matter what rating restaurant receives, it would not influence the customer flow of restaurant . The SUTVA assumption is in accordance with the implicit assumption of SCMs, where the same SCM describes the causal relationships for all instance and there is no interference between any pair of instances (Pearl, 2018). Although the condition of no interference applies to the most of situations for causal inference, there are realworld applications where the interdependence between instances cannot be ignored. Two examples are the spillover effect and the treatment entanglement, where instances causally influence each other (Rakesh et al., 2018; Arbour et al., 2016; Toulis et al., 2018). The second assumption, consistency, means that the value of potential outcomes would not change no matter how the treatment is observed or assigned through an intervention. In the running example, with consistency, we assume that for a restaurant , if the observed customer flow is , then no matter how the rating of a restaurant is observed or set by intervention, the value of is the same. Finally, with ignorability (unconfoundedness), we assume that all the confounding variables are observed and reliably measured by a set of features for each instance . Using the language of SCMs, this means satisfies the backdoor criterion, we can ensure all the backdoor paths are blocked. In other words, there does not exist any backdoor path via unobserved confounders (Steiner et al., 2017). Ignorability means that the values of the potential outcomes are independent of the observed treatment, given the values of a certain set of confounding variables. Mathematically, ignorability can be formulated as:
(9) 
where denotes a set of confounding variables, namely a subset of features that describes the instance and causally influences the values of both the treatment and outcome . From the notation, we can see that this is also an assumption defined at the individual level. Ignorability plays a core role in the potential outcome framework as it directly leads to causal identification (Pearl, 2018). An extra condition is usually added to ignorability to make it strong ignorability. In Section 3, we will introduce how strong ignorability leads to causal identification in methods for causal inference such as propensity score matching.
3. Causal Inference: Learning Causal Effects
We have discussed about the formal frameworks in Section 2. They are important for learning causal effects (causal inference) in terms of formulating prior knowledge or assumptions about the causal relationship between variables with causal graph. In this section, we introduce methods for learning causal effect. In particular, we aim to understand how to quantify a certain causal effect in a datadriven way. We formally define the problem of learning causal effect below:
Definition 0 ().
Learning Causal Effects (Causal Inference) Given multivariate data for instances, , learning causal effect quantifies how the outcome variable is expected to change if we modify the treatment variable from to , and it can be mathematically written as .
A vast majority of existing work about learning causality focuses on the problem of learning causal effects. Depending on what the problem is, we may care about the causal effect for different populations. It can be the whole population, a known subpopulation that is defined by some conditions, an unknown subpopulation which we need to detect, or an individual. Amongst all kinds of treatment effects, the average treatment effect (ATE) is often the most interesting one when it comes to the decision on whether a certain treatment should be carried out on the population. Furthermore, in the language of SCM and docalculus, identification of ATE only requires to query interventional distributions but not counterfactuals. This means that ATE is often easier to identify and estimate than other subpopulation treatment effects. We can apply the prevalent regression error metrics in evaluating models for learning ATE. For example, we can measure the absolute error on ATE. Given the ground truth and the inferred ATE , the absolute error on ATE is:
(10) 
Similarly, we can apply the same metrics for learning average treatment effects over subpopulations.
However, when the population consists of considerable heterogeneous groups, ATE can be misleading. For example, Yelp rating may matter much more for restaurants in big cities than those in small towns. Therefore, ATE can be spurious as an average of heterogeneous causal effects. In contrast, the average should be taken within each individual group. In many cases, without knowledge about the ground truths for subpopulations, one assumption we can make is that the subpopulations are defined by features. Instead of treating ATE as a constant, for the study of heterogeneous subpopulation causal effects, this assumption allows us to learn a function which maps the features that define a subpopulation to its estimated ATE. With this assumption, we can define the average treatment effect of instances with the same features as the conditional average treatment effect:
Definition 0 ().
Conditional Average Treatment Effect (CATE) Given a certain value of features and binary treatment , the CATE is a function of and is defined as:
(11) 
In this case, we do not care about which instance is, but assume only the features and the treatment are two factors that determine the outcome . The target is to learn a function to approximate the CATE, which minimizes the expected squared error in the estimated CATE:
(12) 
Empirically, with crossvalidation, we can evaluate the quality of the learned function based on the mean squared error (MSE) on the set of instances ():
(13) 
This metric is also referred to as precision in estimation of heterogeneous effect (PEHE). It is also adopted for evaluating estimated individual treatment effects (ITE) (Hill, 2011; Louizos et al., 2017; Johansson et al., 2016; Shalit et al., 2017).
3.1. Learning Causal Effects on Data with BackDoor Criterion
In many realworld problems, based on the prior knowledge of causal relationships between variables, researchers assume that conditioning on the complete set or some subsets of features can block all the backdoor paths. This assumption allows us to solve the problem of learning causal effects through adjustment (conditioning) on a set of variables that blocks all the backdoor paths. Adjustment refers to methods that eliminate confounding bias based on . There are two classic implementations of adjustment: regression adjustment and propensity score methods.
In this Section, we use to denote a set of features which blocks all the backdoor path or satisfies strong ignorability. Without loss of generality, we assume binary treatment . We adopt the language of generalized structural equation introduced in Section 2. The causal graph embedding the causal assumption for this type of methods is shown in Fig. 4.
3.1.1. Regression Adjustment
In supervised learning, we fit a function to estimate the probability distribution where and denote the observed label and the features. In Section 2, we already discussed that, for learning causal effect, we are interested in interventional distributions and counterfactuals which cannot be directly estimated from data. From a practicable perspective, using the terminologies of the potential outcome framework, we aim to infer the counterfactual outcomes based on the features and the treatment . There are two types of regression adjustment. First, we can fit a single function to estimate . This is enough for estimation of ITE for each instance because is a sufficient set, which means by conditioning on , there is no confounding bias, namely . So we can infer the counterfactual outcome as . Alternatively, in similar ways, it is also possible to fit two separate functions for the estimation of two potential outcomes, i.e. and . Then we can estimate ATE by:
(14) 
where the factual outcome is observed and the counterfactual outcome is estimated by the model . In short, with regression adjustment we first estimate the counterfactual outcomes with regression models. Then, with the counterfactual outcomes, ITE can be calculated as the difference between two different outcomes.
3.1.2. Propensity Score Methods
Propensity score methods can be considered as a special case of matching methods which has been studied by statisticians (Morgan and Winship, 2015). Matching methods divide instances into strata and treat each stratum as a randomized controlled trial (RCT). Based on this assumption, ATE is automatically identified and can be estimated by the nav̈e estimator within each stratum. To make matching methods work, we assume perfect stratification that each group defined by a sufficient set only contains indistinguishable instances except the observed treatment and the potential outcomes (Morgan and Winship, 2015). Formally, perfect stratification can be written as:
(15) 
where function outputs a continuous value based on which instances are stratified into homogeneous groups. The two equations in Eq. 15 can be interpreted as: given the group affiliation, the expected values of the potential outcomes do not change with the value of the treatment variable. This is equivalent to ignorable treatment assignment in each stratum defined by . The parameterization of the function can be flexible. For example, it may only take a subset of as the input. But we need to be careful when there exists a group which only contains instances with or . In this case we cannot estimate ATE in this stratum. This issue is referred to as the lack of overlap. To deal with this problem, matching as weighting methods are proposed. The most widely adopted matching as weighting methods specify the function in estimating propensity score . Propensity score means the probability of receiving treatment. This results from the assumption that predicts the treatment assignment. A natural question arises: Does propensity score help? Propensity score helps in the sense that it squeezes the space of features into one dimension to avoid the possible data sparseness issue. Following Rosenbaum and Rubin (Rosenbaum and Rubin, 1983)
, we can estimate the propensity score by training a classifier which predicts how likely an instance is going to receive treatment given its features. A widelyadopted parameterization of
is the logistic regression function which outputs a number between 0 and 1. It can be written as:
(16) 
where is the vector form of the sufficient set . The same as supervised learning, we can estimate the parameters and through minimization of the negative loglikelihood:
(17) 
Austin (Austin, 2011) categorized propensity score methods into four classes: propensity score matching (PSM), propensity score stratification, inverse probability of treatment weighting (IPTW) and adjustment based on propensity score. Here we focus on the PSM and IPTW because propensity score stratification is a natural extension of PSM, and adjustment based on propensity score is a combination of regression adjustment and other propensity score methods.
Propensity Score Matching (PSM). PSM is the approach to match a treated (controlled) instance to a set of controlled (treated) instances with similar estimated propensity scores. The most common approach is Greedy Onetoone Matching (Gu and Rosenbaum, 1993) for its computational efficiency and effectiveness. For each instance , we find a matched instance for by:
(18) 
where is a distance metric measuring how similar two instances are. For matching in the space or subspace of the observed variables, we can use Euclidean distance where denotes the vector form of the selected variables for matching. But for PSM the distance is often calculated based on the absolute difference of propensity scores as . Once the instances are matched, we can estimate ATE by taking the average over the difference between observed outcomes from the treated group and the controlled group:
(19) 
Onetoone PSM is based on the assumption that within each matched pair, the treatment assignment is ignorable. Besides the Greedy Onetoone PSM, there are many other PSM methods. The difference comes from whether we use Eq. 18 or other method to match instances. A widely used alternative to Greedy Onetoone PSM is the Nearest Neighbor PSM, where we match a treated instance with its nearest neighbors in terms of distance in the feature space, . We either specify the number of nearest neighbors or the maximum acceptable distance to obtain the set of nearest neighbors. Then a random instance is selected from the nearest neighbors to form a matched pair. Finally, ATE is estimated by Eq. 19. We can also do manytoone PSM, where a treated instance is matched to controlled instances. In (Ming and Rosenbaum, 2000), Ming and Rosenbaum showed that making a variable can substantially reduce bias. In (Gu and Rosenbaum, 1993), Gu and Rosenbaum carried out a systematic comparison between various PSM methods. Stratification on propensity score is a natural extension of PSM. After propensity score is estimated, we can stratify instances based on the predefined thresholds of propensity scores or the number of strata. For example, in the clinical study, instances are often divided into five equalsize groups based on their propensity scores (Austin, 2011). Thus, stratumspecific ATE can be directly calculated by the naïve estimator for instances in the same stratum. Then we take a weighted average over all strata to calculate the ATE:
(20) 
where , and denote the set of instances, treated instances and controlled instances in the th stratum, respectively. A combination of regression adjustment and propensity score stratification can also be used to account for the difference between instances in the same stratum (Austin, 2011; Imbens, 2004; Lunceford and Davidian, 2004).
Inverse Probability of Treatment Weighting (IPTW). The IPTW (Hirano et al., 2003) strategy is introduced to overcome the problem of data sparseness in the subspace of features. The intuition for IPTW is that we can weight instances based on their propensity scores such that we synthesize a RCT based on the data (Austin, 2011). One common way to define the weight for a instance is by:
(21) 
With Eq. 21, we can find that for the treated instance and the controlled instance , and . So the weight represents the inverse probability of receiving treatment for the treated and that of not receiving treatment for the controlled instances. Then we can calculate a weighted average of factual outcomes for the treatment and control groups:
(22) 
This is based on the idea that weighting the instances with inverse probability makes a synthetic RCT. Hence, a naïve estimator can be applied to estimate the ATE as in Eq. 22. Regression adjustment can also be applied to the weighted dataset to reduce the residual of the synthetic RCT (Joffe et al., 2004). Instances with propensity score close to 1 or 0 may suffer from an extremely large weight. In (Hernán et al., 2000), Hernan proposed to stabilize weights to handle this issue in IPTW. In addition to estimating ATE, Morgan (Morgan and Todd, 2008) showed that IPTW naturally lead to unbiased and consistent estimators for the average treatment effect of the treated instances (ATT) and that of the controlled instances (ATC). Besides reweighting samples with propensity scores, the confounding balancing methods learn sample weights through regression (Kuang et al., 2017).
Doubly Robust Estimation (DRE). Funk et al. (Funk et al., 2011) proposed DRE as a combination of a regression adjustment model and another that estimates the propensity score . The robustness of this model is based on that only one of the two underlying models needs to be correctly specified to make it an unbiased and consistent estimator of ATE. In particular, a DRE model estimates individuallevel potential outcomes based on the two models as:
(23) 
where denotes the estimated potential outcomes for the instance with the regression adjustment model and is the estimated propensity score for the instance . Taking a closer look at Eq. 23, we can find that the regression adjustment model is directly applied for the estimation of counterfactual outcomes as: , while more complicated, a mixture of the regression adjustment of propensity score models is designed for the factual outcomes. Then we can estimate ATE by taking the average over the estimated ITE for all the instances as in Eq. 14. A more generalized version of DRE , the Targeted Maximum Likelihood Estimator is proposed in (Van Der Laan and Rubin, 2006).
3.2. Learning Causal Effects with Unobserved Confounders
In many realworld problems of learning causal effects, there exist unobserved confounders. The prior knowledge may imply that some confounding variables are not measurable or it may not be enough to confirm the causal relationship between all observed variables. In these cases, we are not able to block backdoor path by simply conditioning on observed variables. Or, in the language of the potential outcome framework, we say the treatment assignment is not ignorable. Therefore, a family of methods are developed to handle this situation. The intuition is to find alternative information to complete this task. Here, we focus on three most popular methods for learning causal effects from data with unobserved confounders: instrumental variable methods, frontdoor criterion and regression discontinuity design.
3.2.1. Instrumental Variable Methods
There is a type of variable called instrumental variables with which causal effects can be learned. We provide the definition below:
Definition 0 ().
Instrumental Variable Given an observed variable , other observed variables , the treatment and the outcome , we say variable is a valid instrumental variable (IV) for the causal effect of iff satisfies two conditions (Angrist et al., 1996): and .
In other words, a valid IV causally influences the outcome only through affecting the treatment . In the language of SCM, the first condition means that there is an edge or a nonempty set of collider(s) s.t. where . The second condition requires that the path is the only path that starts from and ends at . Thus, blocking makes and independent. This implies the exclusive restriction that there must not exist the direct edge or path where . Mathematically, for all and , this can also be denoted by:
(24) 
In the running example, if we only observe one of the confounders, the restaurant type (), while the other confounders () remain unobserved. By assuming that whether a customer submits a review () is an exogenous random variable, then it is a valid IV (Fig. 5). This is because whether a customer writes a review () causally influences the average rating () and it can only causally affect the customer flow () through its influence on . With a valid IV, we identify the causal effect if both the interventional distributions  and are identifiable.
A Linear SCM for IV Estimator. If we assume that the causal effect of on is a constant , then we only need an isolated source of variation in and to identify and estimate the causal effect (Morgan and Winship, 2015)
. This means that we only require this source of variation to explain part of the variance in
which also influences through . According to the two conditions listed above, a valid IV naturally satisfies this requirement. We follow the language of SCM and assume that the structural model is linear. If we also assume that the observed and unobserved confounders and come with zero mean. We can write down the structural equations for the causal graph in Fig. 5 below.(25) 
where and are the vector form of the set of random variables and , respectively; and are Gaussian noise terms with zero mean. By substituting in the second equation with the RHS of the first equation in Eq. 25, we get:
(26) 
where and . Then it is not difficult to figure out an estimator for the average treatment effect ():
(27) 
Here, we rely on a bunch of assumptions to accomplish the task of learning causal effects: linear structural equations, valid IV, zeromean additive noise and zeromean unobserved confounders. What if some of them are not satisfied by the dataset we are interested in? For example, the causal relationship is nonlinear. In the following example, with the potential outcome framework we show this estimator works in the nonlinear case.
An IV Estimator under the potential outcome framework. The language of the potential outcome framework formulates the individual causal effect of the IV on the outcome :
(28) 
where we assume the IV is binary. With the exclusion restriction, we know that only affects through its influence on , so we remove as an explicit variable which influences the value of and reduces Eq. 28 to:
(29) 
So by taking the expectation over the whole population we obtain the same estimator as in Eq. 27
. This implies that this estimator works even when the structural equations are nonlinear. In fact, IV can work in nonlinear and even nonparametric models
(Li and Racine, 2007). The difficulty mainly lies in computing the influence of on , which is represented by the interventional distribution :(30) 
You can refer to (Li and Racine, 2007)
for the heuristics that approximate the integral on the RHS of Eq.
30.Twostage Least Square (2SLS). As we have seen, the IV estimator in Eq. 27 is restrictive. In some cases, we might have to control a set of observed variables to block the undesired backdoor paths between the IV and the outcome variable so that the IV can be valid. These situations make it difficult or infeasible to apply the estimator in Eq. 27. We introduce 2SLS (Angrist and Imbens, 1995), a more general IV method. Fig. 6 shows an example for such a case where denotes the set of confounders (e.g., whether a coupon can be found on Yelp for the restaurant) for the causal effect of whether a customer makes a review on the customer flow . To make valid, the backdoor path has to be blocked. Besides, we may have more than one IVs for each treatment and multiple treatment variables for the outcome. Assuming there is a set of treatment variables and each treatment variable has a set of instrumental variables . In 2SLS, two regressions are carried out for learning the causal effects :

First stage: fit a function for each treatment variable .

Second stage: fit a function where signifies the set of treatment variables. Then the coefficient on is a consistent estimate of the average treatment effect (ATE) of the th treatment on .
The intuition of 2SLS follows how we find a valid IV. In the first stage, we estimate how much a certain treatment changes if we modify the relevant IV . In the second stage, we see how the changes in caused by would influence .
3.2.2. Frontdoor Criterion
The frontdoor criterion (Pearl, 1995) enables us to learn a certain causal effect with unobserved confounders. With frontdoor criterion we condition on a set of variables which satisfies the following three conditions:

blocks all the directed paths from to .

There are no unblocked backdoor paths from to ; and

blocks all the backdoor paths from to .
In other words, we say that the set of variables mediates the causal effect of on . To fully illustrate the frontdoor criterion, we explain these conditions step by step. From the first condition, we decompose to a product of and as:
(31) 
where denotes a vector of values for the mediators . The second condition means that there is no confounding bias for the causal effect of on :
(32) 
The third condition allows us to infer by:
(33) 
Then the interventional distribution corresponding to can be identified as:
(34) 
Machine learning or traditional statistical techniques can be applied to estimate the probabilities on the RHS of Eq. 34 from observational data. In the running example, assuming that the set of variables represents the ranking of a restaurant in the search results shown by Yelp. When the ranking is only decided by the Yelp rating, (), satisfies the frontdoor criterion (Fig. 6(a)). However, when the ranking is also determined by both the rating and confounders (e.g. the restaurant category), then is not a valid set of mediators (Fig. 6(b)). Different from the backdoor criterion, the frontdoor criterion enables us to learn causal effects when some confounders are unobserved.
3.2.3. Regression Discontinuity Design
In some realworld problems, the treatment assignment may only depend on the value of a special feature, which is the running variable . For example, the treatment is determined by whether its running variable is greater than a cutoff value . The study of the causal effect of Yelp star rating on the customer flow is a perfect example for such a case (Anderson and Magruder, 2012). Yelp shows the rating of a restaurant rounded to the nearest half star in the search results. For example, restaurant with average rating 3.26 and restaurant with 3.24 would be shown with 3.5 and 3.0 stars. Based on this fact, we can say is a cutoff which defines the treatment variable. Then for a restaurant with average rating , we say it receives treatment () when its rounded star rating is greater than its average rating (). Otherwise, we say a restaurant is under control (). The intuition for Sharp Regression Discontinuity Design (Sharp RDD) (Campbell, 1969; Anderson and Magruder, 2012) is that the restaurants with average rating close to the cutoff are homogeneous w.r.t. the set of confounders. Therefore, the only thing can make a difference in their observed outcomes is the treatment. In other words, the treatments are randomly assigned to such restaurants, which lead to identification of the ATE. Formally, in Sharp RDD, we assume that the observed outcome is a function of the running variable as:
(35) 
where is a function which is continuous at , is the ATE and denotes the noise term. The choice of function can be flexible. But the risk of misspecification of exists. For example, Gelman and Imbens (Gelman and Imbens, 2018) pointed out that highorder polynomials can be misleading in RDD. In the Yelp study, this assumption can be supported by the argument that many customers’ decision about which restaurant to go solely relies on the Yelp rating. In Fig. 8, we show a visualization of Sharp RDD for the running example study with synthetic data.
For many other realworld problems, however, it is not always the case where we can obtain a perfect cutoff value like the Yelp rating (stars) and the minimum drinking age (years old) (Carpenter and Dobkin, 2009). The Fuzzy RDD method (Campbell, 1969; Angrist and Lavy, 1999) is developed to allow a more flexible relationship between the cutoff value and the treatment assignment.
4. Causal Discovery: Learning Causal Relationships
In the problem of learning causal relationship (a.k.a. causal discovery), it examines whether a certain set of causal relationships exists. We define the problem of learning causal relationships as:
Definition 0 ().
Learning Causal Relationships. Given instances, , to learn the causal relationships between any two variables, we aim to determine whether the th variable would change if we modify the th variable for all and .
In the running example, learning causal relationships enable us to answer the questions such as: Do other features such as location, menu prices, online ordering service also causally affect the customer flow? Is location a confounder for the causal effect of Yelp rating on customer flow?
To learn causal relationships from data, researchers postulate that causality can be detected at least amongst statistical dependencies (Schölkopf et al., 2012; Peters et al., 2017b). An algorithm for learning causal relationships learns a family of causal graphs as candidates for the “gold standard” causal graph . To evaluate the learned causal relationships, we often compare each of the learned causal graphs with the groundtruth . The concept of the equivalence class is important for comparing causal graphs.
Definition 0 ().
Equivalence Class. We say that two causal graphs and belong to the same equivalence class iff every conditional independence that has is also implied by and vise versa.
Fig. 8(a) and 8(b) show two example causal graphs which belong to the same equivalence class. Both of them have the same set of conditional independence .
A simple metric is the number of learned graphs that are equivalent to the ground truth . In some previous work, we can also count the number of learned causal graphs that have as a subgraph (Chickering, 2002). In (Shimizu et al., 2011), Shimizu et al. measured the distance between the adjacency matrix of a learned causal graph () and that of the ground truth () by the Frobenius norm:
(36) 
where is the sum of diagonal elements of the squared matrix .
4.1. Learning Causal Relationships with i.i.d. Data
The Constraintbased Algorithms. This class of algorithms aims to learn a set of causal graphs which satisfy the conditional independences embedded in the data. These algorithms carry out statistical tests to verify if a candidate causal graph fits all the independences based on the faithfulness assumption (Spirtes et al., 2000) which can be formulated as:
Definition 0 ().
Faithfulness. Conditional independence between a pair of variables, for , can be estimated from a dataset iff dseparates and in the causal graph which defines the datageneration process for .
Under this assumption, if data for the running example is generated according to the causal graph shown in Fig. 4, Yelp rating is a dependent of the customer flow (). The challenge is mainly the computational expense. The number of possible causal graphs (DAGs) is superexponential to the number of variables. Therefore, algorithms are proposed to reduce the number of tests.
The PeterClark (PC) Algorithm. The PC algorithm (Spirtes et al., 2000) is an example for the constraintbased algorithms. The PC algorithm works in a twostep fashion. First, it learns an undirected Bayesian network (skeleton graph) from data. In the second step, it detects the directions of the edges to return an equivalent class of causal graphs (Le et al., 2015). The first step starts with a fully connected Bayesian network and depth
. Then for each ordered pair of connected variables
, it tests if the conditional independence is satisfied for each set of size . If the conditional independence is satisfied, it removes the edge and saves as the separating set of . Once all such edges are removed, the depth is increased by one and this process continues till the number of neighbors for each variable is less than . For the second step, please refer to (Spirtes et al., 2000) for the details of how the edge directions are determined in the PC algorithm.Other similar constraintbased algorithms include the IC algorithm (Pearl, 2009b), and their variants (Kalisch and Bühlmann, 2007; Le et al., 2015). However, most standard statistical tests require Gaussian or multinomial distributions. To overcome these restrictions, novel conditional independence tests are proposed for more flexible distributions (Fukumizu et al., 2008; Zhang et al., 2012; Sejdinovic et al., 2013; Ramsey, 2014). To take unobserved confounders into consideration, algorithms are introduced to search through an extended space of causal graphs such as FCI and its extensions (Spirtes et al., 1995; Colombo et al., 2012). But there are two main drawbacks of this family of algorithms. First, the faithfulness assumption can be too strong for data with limited sample size where independence tests may even contradict each other. Second, it cannot tell causal direction between two variables.
Scorebased Algorithms. To relax the faithfulness assumption, another line of work replaces conditional independence tests with the goodness of fit tests. In particular, scorebased algorithms learn causal graphs by solving the optimization problem below:
(37) 
where returns the score of the causal graph given data for the set of variables . Intuitively, low scores should be assigned to the causal graphs which embed incorrect conditional independence. For goodness of fit tests, two components need to be specified: the parametrization of structural equations and the score function that evaluates the possible causal graphs. The first component is the parameterization of structural equations. Conventionally, structural equations are often assumed to be linear with additive Gaussian noise (Chickering, 2002), which introduces parameters . Each structural equation describes how a variable is causally influenced by its parent variables and a noise term. The second component is a score function which maps a candidate causal graph to a scalar based given a certain parameterization of structural equations. The Bayesian Information Criterion (BIC) score (Schwarz et al., 1978) is the most widely adopted metric:
(38) 
where is the maximum likelihood estimation of the model parameters, denotes the number of variable (dimension) and signifies the number of instances. BIC score prefers causal graphs that can maximize the likelihood of observing the data with regularization on the number of parameters and the sample size. In (Roos et al., 2008), a similar score function is proposed based on maximum likelihood estimation with a different regularizer. Moreover, from the Bayesian perspective, with priors over causal graph structure and parameters, posteriors can be used to define scores. For example, Bayesian Dirichlet score (Heckerman et al., 1995) assumes Dirichlet prior on parameters for the multinomial distributions of variables. With the two components fixed, score of a certain causal graph for a given dataset is well defined. Then we focus on searching for the causal graphs which provide the best score for a given dataset. Generally speaking, searching for the causal graph with maximal score, also known as structural learning is both NPhard and NPcomplete (Chickering et al., 1994; Chickering, 1996). So, computationally, it is not feasible to score all possible causal graphs exhaustively. Therefore, heuristics such as Greedy Equivalence Search (GES) (Chickering, 2002) and its extension, Fast GES (FGES) (Ramsey et al., 2017) are proposed to reach a locally optimal solution. Please refer to (Ramsey and Malinsky, 2016) for the TETRAD toolbox and this type of algorithms for learning causal relationships.
Algorithms for NonGaussian Models. Shimizu et al. (Shimizu et al., 2006) proposed the Linear NonGaussian Acyclic Model (LiNGAM) which enables us to distinct cause from effect between a pair of variables. In the matrix form, the LiNGAM model can be written as:
(39) 
where , and denote the vector of features for an instance, the adjacency matrix for the causal graph (connection strength matrix (Shimizu, 2014)) and the vector of noise for an instance, respectively. Columns of both and are sorted according to the causal order () of each variable, respectively. In the LiNGAM model, the task of learning causal relationships turns into estimating a strictly lower triangle matrix which can determine a unique causal order for each variable . We assume that the structural equations of the causal graph in Fig. LABEL:fig:faith can be specified by the LiNGAM with a lower triangle matrix below:
(40) 
then the causal order of the three variables is and , respectively. For learning causal relationships in the LiNGAM model, Shimizu et al. proposed the ICALiNGAM algorithm (Shimizu et al., 2006). In ICALiNGAM, the matrix is estimated in two steps. First, we can rewrite Eq. 39 as:
(41) 