Section 29 Coding individual causal fragments using propositions (revised)

Propositional maps differ from variable-based maps in many ways. Propositional maps encode answers to the question: what happened here and what caused it? Variable-based maps encode answers to the question: what causes what around here?

Here, I will discuss the most basic coding rule for bare-bones propositional causal maps, and discuss minimal extensions to it. My aim is to be able to code statements like this:

The small government subsidy helped, but it wasn’t enough. Due to big price rises, my available income still went down a bit.

– using the propositional approach: propositions (and sets of propositions) causing other propositions. You are still dealing with historically true stories, not chatting about abstract models or what-might-happen-if. You still have something closer to an evaluation than to research. I’ll try to show here how this is still possible as long as we assume that different contributions are combined in a linear, additive way (“linear superposition”) as often assumed in natural sciences.

[But: I argue that even the most basic causal coding anyway presupposes an understanding of an underlying causal claim behind the propositional claims, and that those causal claims always go beyond any specific piece of evidence. So it is not the case that “ooh, these extensions are risky, they go beyond the evidence to talk about abstract stuff”. Even the simplest propositional causal claim relies on background models of how things work.]

29.1 Basic coding rule

The basic coding unit is of the form “B causes E”.

B and E are both propositions. Both are true.

A proposition like B or E only has two possibilities; it is the case (which indeed it is), or it is not the case.

A proposition expresses a Difference. A good example of a Difference is a change, but other things can be Differences too (states, events, etc). It says that things are one way rather than some other, perhaps expected, contrast.

Examples

  • I bought a cow (as opposed to not buying one)
  • Yields have got worse (as opposed to not getting worse)
  • I am fairly happy (as opposed to not being fairly happy)
  • There is unemployment in the country at the moment (as opposed to there not being unemployment)

We have no way to code a proposition on its own; only as part of a causal statement.

We can be vague about the timing of things. The consequence has to come after the influence, or be concurrent in such a way that effects are still happening after causes.

29.1.1 Every causal propositional claim is actually three claims

The basic coding rule encodes three claims:

  1. the influence item is true
  2. the consequence item is true
  3. the first caused the second

This last claim is really important. We do not encode simple observations that things merely happen together. We are in fact encoding, in a minimal way, the causal knowledge of the respondent, a minimal part of her implicit causal map of the world. There is no way that merely observing B and E on their own warrants the causal conclusion.

The way that people tell stories usually implies beliefs that there are causal connections between the links of the story. We can usually assume that causal claims are being made. They don’t have to be made explicitly. “I got the cow. Now we have milk.”

29.1.2 The items have been witnessed

In general, the propositions are / have been personally true for, or at least personally experienced by the source or sources. We treat the source as a witness.

29.1.3 The propositions have contrastive implications

If someone makes a claim of the form that “X caused Y”, then this implies that if X had not happened in that way, Y wouldn’t have happened, and that if Y hadn’t happened, X can’t have happened. This is a strong claim: within this narrow context, holding everything else constant, X is necessary and sufficient for Y. Whenever X is true, Y is true, and vice versa.

This is quite another thing from saying that the people making it have to be in possession of corresponding statistical evidence, and is compatible with a proposition-based as well as a variable-based approach. Mosquito-bite claims are based on a more fundamental experience of causation than comparing a state of affairs with a counterfactual. But they do have counterfactual implications.

29.1.4 Can include claims about absence of expected states

I was expecting support from a safety net program but they excluded me from being a beneficiary so I am in financial difficulties

There is no reason not to code this kind of claim; the influence item is still a Difference, a difference from an expected state. It is no more or less hypothetical than any other causal claim.

29.2 Mini Extension: causal chains

Often we have to code narratives which take the form of chains. In this case, as the intervening item is one and the same proposition, we can join the two mini-maps into a causal chain. In practice we can do this as a single piece of coding. This is what QuIP has always done.

This involves what I have elsewhere called the “chaining rule”. This also implies that we can deduce that as B causes C and C causes E, also B causes E. Of course this might seem naïve, of course other things explain my family’s health, but then all causal claims like this are naïve. Indeed, in QuIP, C is offered as an explanation of E and B is offered as an explanation of C.

29.3 Extension: propositional claims about additive contributions

The small government subsidy helped, but it wasn’t enough. Due to big price rises, my available income still went down a bit.

It isn’t obvious how to do this with the propositional approach, keeping the simplicity of “this causes that”.

We can write this:

The contributions, on the right, are expressed as simple propositions; our respondent can really provide evidence about each contribution, for example shows us the receipt from the subsidy and the record of money spent in shops. (This is only possible because “available income” is conceived of as an additive, linear combination.)

But there is another fact here, the resulting small decrease in available income, which we can also measure and report independently and express as a proposition. And as if by magic, this decrease is equal to the price increase minus the subsidy. I’m not sure if this is due to a causal law or a definition (what would we do if we found there was a discrepancy?).

In this diagram, we have combined the two contributions into one resultant proposition. I’ve put the information about the actual result in brackets. You can think of it as just a summary of the two separate original claims as in the previous diagram, or you can read it as something new: “the combination of getting the subsidy and the price increases caused a small overall increase in available income”. The second version involves multiple causation.

It seems that the causal model in the background involves continuous variables too, but the actual causal claims are still expressed as propositions.

We have chosen to make the distinction about the size and polarity of the influences on the arrows rather than on the items. We have discussed this kind of notation before, we can standardise it by perhaps using a notation like “strength=.3” instead of “small PLUS”.

We have our first case of what looks like multiple causation, with two arrows pointing to the same item. But there is no need for all the general mechanics of multiple causation; we can treat these like two separate causal claims, as we did in the previous diagram. This is because of the special magic of assuming that the different influences combine separately, additively, without interaction. One influence doesn’t need to know about the other influence.

Here, we have explicitly coded the fact that the respondent said that the overall result was negative, by writing “small decrease..…” on the consequence item, but we didn’t need to because anyone could have worked that out, from the fact that roughly speaking big MINUS + small PLUS = small MINUS.

In the app, it doesn’t matter if you code the two contributions at the same time or separately. In each case, the consequence item is named as the resultant (in this case, small decrease), as long as the arrow mentions the actual contribution, like this:

got subsidy--small PLUS-->small decrease in available income

prices increased)--big MINUS-->small decrease in available income

… and the individual claims wouldn’t be false; the first could be read “got the subsidy, this made a small positive contribution to available income (which experienced a small resultant decrease overall)”. You can even do this in Excel, you don’t need to link the two rows, as long as there is a way to express the strengths of the contributions in each row. In the app it is also possible to code both arrows at once, as you would more generally in the variable-based approach.


Remember, this is all about combining separate statements from the same source which mention a single consequence. This is not the same as aggregating different statements from different sources which happen to mention the same item. We’ll look at that later.

29.3.1 Encoding incomplete claims about additive contributions

The river pollution levels have risen a lot; one part of the reason is that factory over there.

Factory B did not cause much worse pollution. There is an implicit claim that there are other causes, that the contributions add up in some way, and that the net effect is a large one. So we could code the above like this:

But it would be confusing because it suggests the small contribution causes the large change.

Perhaps we should code like this because there is really extra information which shouldn’t go missing. I have put the information about the Difference on the consequence item in brackets.

There are issues here about scaling – what counts as large, a lot, etc.

29.4 Examples we can code

We work hard but the gain is very minimal and much less compared to what we invest. I don’t know whether it is due to the climate change or the problem with the soil but the land isn’t giving sufficient product.

The project gave us two cows, that was really useful, and the other project gave us eight.

The project gave us two cows, that was really useful, unfortunately one died of disease.

[More…]

29.5 Examples we cannot code

The project trained us about cows, but the other project never gave us any, so we got no benefit and no milk.

We can’t code this with our simple additive model because the contributions are not independent. It is hard to say what the contribution of the project was to the outcome (which was zero).

29.6 That’s it

That’s it.

We can cover most claims, even most of the problematic ones, using these simple ideas. Anything which doesn’t involve an interaction.

The result of several acts of causal coding is a heap of unconnected mini-maps and/or chains. We have no way so far of doing anything else with them, like aggregation. In fact, even classic QuIP goes beyond this, with (conservative) rules for joining individual maps. That’s what we need to look at next.