Causal graph

From Infogalactic: the planetary knowledge core
(Redirected from Causal graphs)
Jump to: navigation, search

In statistics, econometrics, epidemiology, genetics and related disciplines, causal graphs (also known as path diagrams, causal Bayesian networks or DAGs) are graphical models used to encode assumptions about the data-generating process. They can also be viewed as a blueprint of the algorithm by which Nature assigns values to the variables in the domain of interest.

Causal graphs can be used for communication and for inference. As communication devices, the graphs provide formal and transparent representation of the causal assumptions that researchers may wish to convey and defend. As inference tools, the graphs enable researchers to estimate effect sizes from non-experimental data,[1][2][3][4][5] derive testable implications of the assumptions encoded,[1][6][7][8] test for external validity,[9] and manage missing data[10] and selection bias.[11]

Causal graphs were first used by the geneticist Sewall Wright[12] under the rubric "path diagrams". They were later adopted by social scientists[13][14][15][16][17][18] and, to a lesser extent, by economists.[19] These models were initially confined to linear equations with fixed parameters. Modern developments have extended graphical models to non-parametric analysis, and thus achieved a generality and flexibility that has transformed causal analysis in computer science, epidemiology,[20] and social science.[21]

Construction and terminology

The causal graph can be drawn in the following way. Each variable in the model has a corresponding vertex or node and an arrow is drawn from a variable X to a variable Y whenever Y is judged to respond to changes in X when all other variables are being held constant. Variables connected to Y through direct arrows are called parents of Y, or "direct causes of Y." and are denoted by Pa(Y).

Causal models often include "error terms" or "omitted factors" which represent all unmeasured factors that influence a variable Y when Pa(Y) are held constant. In most cases, error terms are excluded from the graph. However, if the graph author suspects that the error terms of any two variables are dependent (e.g. the two variables have an unobserved or latent common cause) then a bidirected arc is drawn between them. Thus, the presence of latent variables is taken into account through the correlations they induce between the error terms, as represented by bidirected arcs.

Fundamental tools

A fundamental tool in graphical analysis is d-separation, which allows researchers to determine, by inspection, whether the causal structure implies that two sets of variables are independent given a third set. In recursive models without correlated error terms (sometimes called Markovian), these conditional independences represent all of the model's testable implications.[22]

Example

Suppose we wish to estimate the effect of attending an elite college on future earnings. Simply regressing earnings on college rating will not give an unbiased estimate of the target effect because elite colleges are highly selective, and students attending them are likely to have qualifications for high-earning jobs prior to attending the school. Assuming that the causal relationships are linear, this background knowledge can be expressed in the following structural equation model (SEM) specification.

Model 1


\begin{align}
Q_1 &= U_1\\
C &= a \cdot Q_1 + U_2\\
Q_2 &= c \cdot C + d \cdot Q_1 + U_3\\
S &= b \cdot C + e \cdot Q_2 + U_4,
\end{align}

where Q_1 represents the individual's qualifications prior to college, Q_2 represents qualifications after college, C contains attributes representing the quality of the college attended, and S the individual's salary.

File:College notID.png
Figure 1: Unidentified model with latent variables (Q_1 and  Q_2 ) shown explicitly
File:College notID proj.png
Figure 2: Unidentified model with latent variables summarized

Figure 1 is a causal graph that represents this model specification. Each variable in the model has a corresponding node or vertex in the graph. Additionally, for each equation, arrows are drawn from the independent variables to the dependent variables. These arrows reflect the direction of causation. In some cases, we may label the arrow with its corresponding structural coefficient as in Figure 1.

If Q_1 and Q_2 are unobserved or latent variables their influence on C and S can be attributed to their error terms. By removing them, we obtain the following model specification:

Model 2


\begin{align}
C &= U_C \\
S &= \beta C + U_S
\end{align}

The background information specified by Model 1 imply that the error term of S, U_S, is correlated with C's error term, U_C. As a result, we add a bidirected arc between S and C, as in Figure 2.

File:College.png
Figure 3: Identified model with latent variables (Q_1 and  Q_2 ) shown explicitly
File:College proj.png
Figure 4: Identified model with latent variables summarized

Since U_S is correlated with U_C and, therefore, C, C is endogenous and \beta is not identified in Model 2. However, if we include the strength of an individual's college application, A, as shown in Figure 3, we obtain the following model:

Model 3


\begin{align}
Q_1 &= U_1\\
A &= a \cdot Q_1 + U_2 \\
C &= b \cdot A + U_3\\
Q_2 &= e \cdot Q_1 + d \cdot C + U_4\\
S &= c \cdot C + f \cdot Q_2 + U_5,
\end{align}

By removing the latent variables from the model specification we obtain:

Model 4


\begin{align}
A &= a \cdot Q_1 + U_A \\
C &= b \cdot A + U_C\\
S &= \beta \cdot C + U_S,
\end{align}

with U_A correlated with U_S.

Now, \beta is identified and can be estimated using the regression of S on C and A. This can be verified using the single-door criterion,[1][23] a necessary and sufficient graphical condition for the identification of a structural coefficients, like \beta, using regression.

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.