Section 40 Causal Inference

What kinds of questions can we answer with causal inference? These:

  • can diagram X be deduced / synthesised from (a more complicated) diagram Y?
  • show how having even a simple feedback loop makes causal inference often unpredictable
  • what is the overall causal power or “contribution” or effect size which one variable has on any descendent?
  • which information is unimportant?

… and more.

40.1 Specifying the map

40.1.1 Exogenous variables and the Grid

Ideally the coder would also specify the levels of all the endogenous or “no-parent” variables, the ones at the beginning of the causal chains. In practice, much of this information isn’t known in any detail.

If one or more of the influencing variables do not have a level specified for them, the app opens up a “Bayesian grid of scenarios” and calculates the consequences for several different levels, usually 3, of the exogenous variable in question.

So if there are 5 exogenous variables, this means there will be 3*3*3*3*3*3 = 35 combinations to work out. Non-parametric reasoning is computationally expensive.

Anyway, we can’t display all of those possibilities to the user, so we have to ultimately resort to statistics like the mean of the values for the variables across all the possibilities.

40.1.2 Inference in action

When you’ve specified your diagram, the app can calculate the consequences on the downstream variables.

By default, the app then calculates the mean of all the scenarios in the Grid.

At the moment, the app can cope with a network which included feedback loops, but it does not actually follow the causal path right around the loop but stops before repeating itself.