Dec 7, 2022·edited Dec 7, 2022Liked by Max Goodbird
Great piece. I research causal inference and causal AI at Microsoft research, and write about causality and other topics at newsletter.altdeep.ai. Causal reasoning with dynamic systems is an active and interesting area of research. There was recently a workshop on the topic at NeurIPS (the biggest research conference on AI). https://nips.cc/Conferences/2022/ScheduleMultitrack?event=49992
There are a few ways researchers in causality are addressing the points you raise here.
1. Looking at formal causal abstractions beyond the directed acyclic graph that capture dynamics. One example I find exciting is causal Petri nets (eg. https://openreview.net/pdf?id=utSQ6aPB_X7).
2. Finding the right causal abstractions/causal representation learning. This address how you select the right abstractions for nodes in the graph such that they are not affected by the issues you bring up. For example, arguably causal graphs only apply for systems at equilibrium. One could choose a level of abstraction where subcomponents are dynamic and have loops, while the overall components are at equilibrium.
Dec 5, 2022·edited Dec 5, 2022Liked by Max Goodbird
Really well written and important piece. Great work communicating clearly and including lots of easy to digest and attractive figures.
I love the framing of creating DAGs from the cyclic graphs that more accurately model the world. DAGs are the way we wished things work, and I think your point that it seems benign to prune some of connections is crucial. It reminds me of people (even statistically competent people) controlling for mediators and then concluding that there is no relationship.
This is a problem with a lot of academic papers. With so many factors interacting with one another, causation can be found based on whatever arbitrary factors a researcher chooses to use as controls.
And multicollinearity (basically inherent in social science) prevents even controlling for all relevant factors from sufficiently finding true causation.
And of course there’s publication bias when there’s an incentive to show causality, especially as part of a grand theory.
You seem to be using the word "rate" incorrectly. Larger population -> more people to die will increase the TOTAL number of deaths, but not necessarily the "rate". Fewer resources per person, on the other hand, will. Likewise, "births per person" is just another way of describing the birth rate, not an independent factor that contributes to it.
Karl Smith defends monocausal explanations from those who deride them as unsophisticated here:
Thanks for the comment! I do still want to look more into the lead hypothesis. I'm skeptical but intrigued, and the last time I looked I found it moderately convincing.
In terms of "rate", I think you're right. Typically the word "rate" would just imply units over time, but it seems like "birth rate" and "death rate" are terms of art that also include population size in the denominator.
there is discussion on how various theories represented by various graphical models *could* be true but there isn't any mention of empirical studies estimating a specific edge of the graph.
practically speaking we're usually running a bunch of experiments (in economics, health, polisci, et al) to empirically estimate these one-edge causal effects to make policy decisions that nudge towards progress.
we're generally not equipped to answer the bigger graph - nor should we expect that graph to have any long term stability given the complexity of social systems. if we were to make some incremental progress in this direction, assembling a series of single edge RCTs feels like the most practical way forward.
What's interesting to me is that the causal loop diagram appears to be an alternate interpretation of differential equations-- one of the most prevalent and powerful tools that exist for describing physical phenomena in mathematical terms. In particular, this makes me wonder if any mathematicians have taken to quantifying rhe validity of whatever a causal projection becomes when you frame it in their language.
I'm actually mucking about with simulating CLDs using differential equations. They're absolutely related. I'm still working out how to represent some equations though, currently working on a damped harmonic oscillator. Predator/prey was tricky but I think I got it working.
I’ve been thinking about this and am hesitant to accept it. The birth rate / death rate / population example is a great one, thought. It’s neat to watch myself attempting to salvage an idea that I like, while simultaneously wondering if maybe it is wrong. I’m wondering if the problem is that if you choose concepts poorly, you get these feedback loops. Yet I tried to formulate this same dynamic without the loops, and simply couldn’t do it.
I had the impression that our brains used conceptual DAG based models of the world, but I’m wondering if this is even true.
Ok, I think I’m now convinced this is right and you can’t use dags because you need cycles.
What causes eggs? Hens, of course. But what causes Hens? You simply can’t model the hen/egg relationship with a DAG, and the old saw of a question is basically saying as much.
Yes, you can model reality as a DAG. The chicken/egg example is perfect. What you can’t do is imagine that “chicken count” and “egg count” are arranged in a DAG.
But each egg really does have a pair of chickens as its cause, and each egg causes some fixed number of chickens.
So there really is a causal DAG, but it’s massive and doesn’t really work for our purposes. Every single egg and every single chicken, ever, get their own nodes. This DAG looks more like a description of history than a predictive model.
For the model, what we have to do is glom together aggregate properties of multiple nodes, which then creates loops so that the graph is no longer directed.
Yeah a handful of folks have pointed out the difference between modeling specific events versus changes in time dependent variables. For the former, a DAG definitely fits best. People also talk about “unrolling” the CLD like you would a recurrent neural, so you can still treat eggs and chickens as time dependent variables. You just have nodes for eggs@t=0, eggs@t=1, etc
> I had the impression that our brains used conceptual DAG based models of the world, but I’m wondering if this is even true.
I think this is very true--our brains love to model things in terms of classical (DAG) causality. But as you've pointed out, the map is not the territory!
Great piece. I research causal inference and causal AI at Microsoft research, and write about causality and other topics at newsletter.altdeep.ai. Causal reasoning with dynamic systems is an active and interesting area of research. There was recently a workshop on the topic at NeurIPS (the biggest research conference on AI). https://nips.cc/Conferences/2022/ScheduleMultitrack?event=49992
There are a few ways researchers in causality are addressing the points you raise here.
1. Looking at formal causal abstractions beyond the directed acyclic graph that capture dynamics. One example I find exciting is causal Petri nets (eg. https://openreview.net/pdf?id=utSQ6aPB_X7).
2. Finding the right causal abstractions/causal representation learning. This address how you select the right abstractions for nodes in the graph such that they are not affected by the issues you bring up. For example, arguably causal graphs only apply for systems at equilibrium. One could choose a level of abstraction where subcomponents are dynamic and have loops, while the overall components are at equilibrium.
The lead story for crime and other behaviors is really compelling. Check out Kevin Drum's writing on it.
Really well written and important piece. Great work communicating clearly and including lots of easy to digest and attractive figures.
I love the framing of creating DAGs from the cyclic graphs that more accurately model the world. DAGs are the way we wished things work, and I think your point that it seems benign to prune some of connections is crucial. It reminds me of people (even statistically competent people) controlling for mediators and then concluding that there is no relationship.
This is a problem with a lot of academic papers. With so many factors interacting with one another, causation can be found based on whatever arbitrary factors a researcher chooses to use as controls.
And multicollinearity (basically inherent in social science) prevents even controlling for all relevant factors from sufficiently finding true causation.
And of course there’s publication bias when there’s an incentive to show causality, especially as part of a grand theory.
Amazing piece!
You seem to be using the word "rate" incorrectly. Larger population -> more people to die will increase the TOTAL number of deaths, but not necessarily the "rate". Fewer resources per person, on the other hand, will. Likewise, "births per person" is just another way of describing the birth rate, not an independent factor that contributes to it.
Karl Smith defends monocausal explanations from those who deride them as unsophisticated here:
https://modeledbehavior.wordpress.com/2012/01/08/on-lead/
Thanks for the comment! I do still want to look more into the lead hypothesis. I'm skeptical but intrigued, and the last time I looked I found it moderately convincing.
In terms of "rate", I think you're right. Typically the word "rate" would just imply units over time, but it seems like "birth rate" and "death rate" are terms of art that also include population size in the denominator.
Love this! Unfortunately in my email client all the diagrams show up as blank.
Same problem was happening in some other clients too--images with white text on a transparent background also considered harmful.
Thanks again!
Huh! That's unfortunate. Thanks for letting me know
maybe try clicking on 'View entire message'
Yup, they show up fine here in the web client.
For those interested, the causal revolution in many sciences (most notably, Epidemiology) was initiated by Judea Pearl, see https://www.amazon.com/Book-Why-Science-Cause-Effect/dp/046509760X . There is an actual science to it.
why isn't there a single mention of anything empirical in this post or the comments?
What do you mean by "empirical" here?
there is discussion on how various theories represented by various graphical models *could* be true but there isn't any mention of empirical studies estimating a specific edge of the graph.
practically speaking we're usually running a bunch of experiments (in economics, health, polisci, et al) to empirically estimate these one-edge causal effects to make policy decisions that nudge towards progress.
we're generally not equipped to answer the bigger graph - nor should we expect that graph to have any long term stability given the complexity of social systems. if we were to make some incremental progress in this direction, assembling a series of single edge RCTs feels like the most practical way forward.
What's interesting to me is that the causal loop diagram appears to be an alternate interpretation of differential equations-- one of the most prevalent and powerful tools that exist for describing physical phenomena in mathematical terms. In particular, this makes me wonder if any mathematicians have taken to quantifying rhe validity of whatever a causal projection becomes when you frame it in their language.
I'm actually mucking about with simulating CLDs using differential equations. They're absolutely related. I'm still working out how to represent some equations though, currently working on a damped harmonic oscillator. Predator/prey was tricky but I think I got it working.
I’ve been thinking about this and am hesitant to accept it. The birth rate / death rate / population example is a great one, thought. It’s neat to watch myself attempting to salvage an idea that I like, while simultaneously wondering if maybe it is wrong. I’m wondering if the problem is that if you choose concepts poorly, you get these feedback loops. Yet I tried to formulate this same dynamic without the loops, and simply couldn’t do it.
I had the impression that our brains used conceptual DAG based models of the world, but I’m wondering if this is even true.
Ok, I think I’m now convinced this is right and you can’t use dags because you need cycles.
What causes eggs? Hens, of course. But what causes Hens? You simply can’t model the hen/egg relationship with a DAG, and the old saw of a question is basically saying as much.
I can't believe I didn't think of that example!
I think there’s a neat conclusion here:
Yes, you can model reality as a DAG. The chicken/egg example is perfect. What you can’t do is imagine that “chicken count” and “egg count” are arranged in a DAG.
But each egg really does have a pair of chickens as its cause, and each egg causes some fixed number of chickens.
So there really is a causal DAG, but it’s massive and doesn’t really work for our purposes. Every single egg and every single chicken, ever, get their own nodes. This DAG looks more like a description of history than a predictive model.
For the model, what we have to do is glom together aggregate properties of multiple nodes, which then creates loops so that the graph is no longer directed.
Yeah a handful of folks have pointed out the difference between modeling specific events versus changes in time dependent variables. For the former, a DAG definitely fits best. People also talk about “unrolling” the CLD like you would a recurrent neural, so you can still treat eggs and chickens as time dependent variables. You just have nodes for eggs@t=0, eggs@t=1, etc
> I had the impression that our brains used conceptual DAG based models of the world, but I’m wondering if this is even true.
I think this is very true--our brains love to model things in terms of classical (DAG) causality. But as you've pointed out, the map is not the territory!