为什么医院数据里的负相关经常是假的:Berkson悖论与对撞因子
【锚点】住院病人里两种病之间的负相关,可能不是生物学发现,而是你抽样方式抽出来的数学必然。 【显式】Berkson(1946)证明过:设人群里疾病 A、B 独立,各自发生率都是 0.2;只要两者都独立地提高“住院”的发生概率,那么分析住院病人时,A 和 B 会呈现负关联。 【数值演示】构造一个简化人群:A 和 B 完全独立,P(A)=P(B)=0.2;住院规则是“有任一病必住院、无病不住院”。人群四格:无病 64%,只有 A 16%,只有 B 16%,A∩B 4%。住进医院的样本里,P(A∩B)=4%/(16%+16%+4%)=11.1%;若 A、B 在医院样本中独立,这个值应为 (20/36)²≈30.9%。从 30.9% 掉到 11.1%——不是负向因果机制,是选择。 【流程节点链路】A → 住院 ← B → 分析时把样本条件在“住院=1” → 打开对撞因子路径 → A 与 B 出现非因果负关联。 【隐式】这就是 collider:住院是两个疾病的共同后代。条件在共同后代上,本来独立的变量会被制造出虚假关联。病例对照从医院抽对照、队列只随访到医院病例,都会踩同一个坑。 【细微】很多人以为“回归里控制住院”就能校正;其实把住院当协变量放进模型,同样是条件在 H=1 上。collider bias 不会被“加进模型”洗干净——没有 DAG,你甚至不知道住院到底是 confounder 还是 collider。 【结尾问题】如果研究问题真想知道人群中 A、B 是否独立,医院数据还有可救的线性吗?我的立场是:能救,但前提是先画出完整 DAG,再用显式选择模型加权,而不是对着回归表做事后解释。







0 Comments