Part of the review of ‣.

A *structural causal model* (SCM) is a set of equations that corresponds to some Causal diagram, where every variable is equated to (i. e., modelled as) a function of its direct causes and an extra random variable for modelling factors that are absent from the diagram, either because they are unknown, intentionally omitted, or unobservable. Each function has its “own” extra random variable, and these random variables are independent of each other. For example, the set of equations corresponding to the above diagram may look like this:

`X = f_X(hidden factor, U_X)`

`Z = f_Z(X, U_Z)`

`Y = f_Y(Z, hidden factor, U_Y)`

Any functions can be used, including non-analytical. For example, the function could be piece-wise, or the entire form of the function might depend on one of its discrete-valued arguments. Of course, artificial neural networks could be used as these functions, too. If some variable doesn’t need an extra random factor, the latter could be omitted (or a constant random variable used).

When modelling time-series (dynamic processes), the function of each variable value X_i also accepts as an argument its value in the previous moment [1]: `X_i = f_X(X_{i-1}, ..., U_X)`

.

How well a structural causal model fits the observational or experimental data is, of course, one of the factors in judging whether the causal model accurately represents reality. The other factor is how generalisable is the model in response to *interventions*, discussed below in the section ”‣”.

Fully specified structural causal models encode more information about the system than bare causal diagrams: they specify more concretely how variables depend on each other and, possibly, the distributions of the extra random variables. However, a causal diagram can be useful (allows to answer certain questions) even without an accompanying structural causal model.

A structural causal model also embeds implicit or explicit assumptions about the kinds of *interventions* that are allowed in the model [2].

[2] ‣