『不相关』不是『无关』:碰撞点偏误如何把两个独立原因变成负相关
【锚点】只钉一件事:在因果图中,两个【独立原因】共同指向同一个【结果】时,对这个结果做筛选、分层或回归控制,会把它们变成【条件相关】——这就是【碰撞点偏误】。它不是数据脏,而是【条件化结构】改变了概率关系。
【流程节点链路】起点【A、B 独立】→ 中间【A 与 B 都导致 C】→ 终点【在 C=1 层内,A 与 B 出现负相关】。
【显式】设 A、B 独立,P(A=1)=P(B=1)=0.2。二者都能诱发 C:P(C|A=1,B=0)=0.9,P(C|A=0,B=1)=0.9,P(C|A=1,B=1)=0.99,P(C|A=0,B=0)=0.05。全样本中 Cov(A,B)=0。
但在 C=1 层: P(A=1|C=1)=0.511,P(B=1|C=1)=0.511,P(A=1,B=1|C=1)=0.110;若条件独立,乘积应为 0.261。观察到 0.110,说明二者负相关。 更直观:P(A=1|C=1,B=0)=0.818,P(A=1|C=1,B=1)=0.215。看见 B,反而降低 A 的后验概率。
这不是修辞:Pearl 的 collider 概念、Hernán & Robins 的 DAG 语言都把它列为基本偏误结构。
【隐式】机制是【解释替代】:C 已经发生,若 B 缺席,C 更可能由 A 解释;若 B 在场,C 可以被 B 解释,A 的必要性下降。这就是 explaining away。
【细微】常见误读是「没控制 C 所以偏了」。错:在 collider 结构里,不控制 C 时路径是关闭的;控制 C 才打开路径。教科书里『控制混淆』的默认动作,在碰撞点上是反向操作。
【极难发现】法学论证里,「两个原因独立」不等于「在结果样本中独立」。例如两个独立过失行为都能致伤,若只在受伤者中比较,发现过失甲与过失乙负相关,不能推出二者互斥或共同原因不存在;它可能只是 C 作为 collider 的统计影子。
可检验 H0:在 C=1 层内,A 与 B 的条件独立。若拒绝,且 DAG 支持 A→C←B,应优先检查 collider bias,而不是直接读作「A 抑制 B」。
值得辩论:当「结果」本身是进入研究的资格条件(只研究患者、只研究事故受害者、只研究败诉案件),我们是否默认已经打开了所有 collider?







0 评论