Monday, April 19, 2010

Causal Models (Part 1): Constructing a Causal Model

This post is part of my series on Steve Sloman's book Causal Models. For an index, see here.

Over the next few posts, I will be going through Chapter 4 of Sloman's book. In this chapter, Sloman introduces the causal model framework that is currently in vogue with computer scientists and statisticians. Sloman's presentation of this is based on the more comprehensive version provided by Judea Pearl.

The causal model framework provides an abstract language for representing causal systems. It is a graphical probabilistic model. In other words, it allows us to model a causal system even if we are ignorant or uncertain about the likelihood of something happening. In doing so, it relies on Bayesian network theory.

In this part I will simply sketch the main components of this modeling framework. Fuller consideration of the implications will have to wait.

1. The Three Parts to a Causal Model
Scientific modeling is all about representation. In other words, about depicting one state of affairs or event in terms of something else. For example, the Hodgkin-Huxley model of the action potential (discussed here) represents the flow of electrical current across the membrane of a neuron in a mathematical equation.

A causal model has three main components. First, there is the causal system that you want to represent. Second, there is a set of probability distributions that represent this causal system. And finally, there is the graph that represents both the causal system and the associated probability distribution.

The basic schematic for all causal models is illustrated below. The arrows are to indicate what is represented by what.

It is difficult to make sense of this in the abstract, so let's consider an example. Fire is a causal system. It includes oxygen, an energy source, and sparks, all of which contribute to produce the entity or event we call "fire".

Fire can be represented by a set of probability distributions. First, there is the marginal probability of the fire occurring, i.e. Pr(Fire) in the absence of other conditions. We can assume that this probability is low. Second, there is the conditional probability of the fire, i.e. the probability of the fire given certain conditions. So, for example, the probability of fire given the presence of oxygen, sparks and an energy source is high; the probability of the fire given sparks, an energy source but no oxygen is low; and so on.

Fire can also be represented as a causal graph. This is a simple box and arrow diagram showing the causal relations between oxygen, sparks, energy sources and fire. In this instance, the three conditions jointly contribute to the production of fire. 

This gives us the following model.

2. Independence
It is possible to derive conditional probabilities for virtually everything. For example, I could work out the probability of my laptop exploding given the presence of a full moon. I would probably find that the probability of my laptop exploding is unchanged by the presence of the full moon. In other words that the marginal probability of the exploding laptop is equal to the conditional probability. This implies that the events are independent.

Independence is one of the most important pieces of information we can have when constructing causal models. It allows us to make the graph and the probability distributions much simpler.

3. Structural Equations
Even relatively simple causal systems, like the fire system outlined above, can have complex sets of probability distributions associated with them.

For instance, when I first introduced the notion of conditional probability in relation to the fire-system I only listed a couple of examples. I should have listed the probability of fire given all possible states of the three conditions (oxygen, sparks and energy sources). This would be as follows:

  • Pr(Fire | sparks, oxygen, energy source) = High
  • Pr(Fire | sparks, oxygen, no energy source) = 0
  • Pr(Fire | sparks, no oxygen, energy source) = 0
  • Pr(Fire | sparks, no oxygen, no energy source) = 0
  • Pr(Fire | no sparks, oxygen, energy source) = very low
  • Pr(Fire | no sparks, oxygen, no energy source) = 0
  • Pr(Fire | no sparks, no oxygen, energy source) = 0
  • Pr(Fire | no sparks, no oxygen, no energy source) = 0

Even this is a simplification. It assumes that the conditions come in just two states "present" or "absent". In reality, they could assume a range of values.

If this level of complexity is present in a relatively simple example like fire, imagine the amplification of complexity when modeling a complex causal system like cancer. This would involve many variables (lifestyle factors, genetic factors) with many possible values.

To overcome this complexity, modelers use structural equations. These represent the functional relationships between the elements of the causal mechanism (illustrated by the graph) in a single equation instead of a list of probability distributions. The structural equation for the fire-system is the following:
  • Fire = f(spark, oxygen, energy source)
The f denotes a conjunction, i.e. all three conditions must be present for fire to occur. This version of the equation does not include probabilities. To do so would simply require the inclusion of an additional variable called "error" or "noise". This would represent randomness and thereby make the equation probabilistic.

That's it for now, in the next part we will tease apart the probabilistic nature of the causal modeling framework.

No comments:

Post a Comment