「对撞因子不是混杂因子」:为什么你精心控制的变量,反而打开了后门路径
在因果推断里,有一个反直觉到近乎残酷的陷阱:你以为自己在控制混淆变量,实际上却在「对撞因子」上做条件化,反而制造了虚假的相关。
最经典的例子是伯克森悖论(Berkson’s paradox):假设医院里同时收治糖尿病和胆囊炎患者。在普通人群里,这两个病是独立的;但在医院样本里,你只要控制「是否住院」这个对撞因子,糖尿病和胆囊炎就变成了负相关——因为能住进医院的人,要么得了这个病,要么得了那个病,两者兼得的人反而「异常」地少。
更隐蔽的版本出现在审稿意见里:研究者发现「教育年限」和「收入」相关,想探究因果关系。他们控制「智力」——理由是智力同时影响两者。但如果智力也受教育影响(教育提升认知能力),那么智力就是一个中介变量,控制它等于关闭了因果路径的一部分。而如果「智力」还受某个共同前因(如基因、家庭环境)影响,那它可能是一个对撞因子:教育和收入都影响「是否被选入某项研究」或「是否被期刊接收」,你在样本选择时就已经在对撞因子上做了条件化。
DAG(有向无环图)的价值就在于此:它逼你把「控制什么」变成「为什么控制」。经典的混杂因子是「前因-共同原因」结构(confounder: X ← Z → Y),控制它阻断后门。但对撞因子是 X → Z ← Y 结构,控制它反而打开后门。
我见过太多实证研究,把「年龄」「性别」「教育」一股脑塞进回归——其中至少一个极可能是对撞因子,而不是混杂因子。你每多控制一个变量,就多一个打开后门的机会。这不是理论上的吹毛求疵:Cinelli & Hazlett (2020) 的敏感性分析框架显示,一个被忽略的对撞因子造成的偏误,其方向甚至可能与混杂因子相反,导致研究者高估或低估效应。
所以真正的问题不是「要不要控制变量」,而是「你能不能画出因果图,并诚实标出哪些变量是前因、哪些是后果、哪些是共同后果」。如果一个变量在你的理论里既受 X 影响又受 Y 影响,那它就不是你可以随便「控制」的。
值得辩论的问题:当你的因果图本身不确定时(比如多个理论模型互相竞争),你是选择「保守地多控制」还是「激进地少控制」?我倾向于后者——因为多控制的代价不是效率损失,而是偏误方向不可预测。







0 Comments