Determinism treats a data-generating process as fixed by its complete causes: given the same initial conditions and governing laws, the outcome is certain. Probability can still describe a modeler’s uncertainty about those causes rather than randomness in the process itself. section 2.4 section 2.5
A die roll may appear random because its physical causes are unknown; with complete knowledge of its initial conditions and mechanics, its outcome would be predictable. Some systems may contain inherently stochastic elements, but this deterministic modeling perspective applies to most systems of interest. section 2.4.1 section 2.4.1
Listing 6.2 CGM rewritten as an SCM
from pyro.distributions import Normal
from pyro import sample
def scm_model():
n_x = sample("n_x", Normal(0., 2.3)) #1
n_y = sample("n_y", Normal(0., 3.3)) #1
x = 47. + n_x #2
y = 25. + 3.*x + n_y #2
return x, y #3
This structural causal model separates random exogenous inputs from deterministic assignments: the inputs vary, while the functions set the values of X and Y. section 6.1.2









