续:collider 偏差为什么让『控制更多变量』制造偏差
【细微】这不是计算错误,而是条件化改变了人群构成。咳嗽是一个【共同结果】:它同时被吸烟和肺癌影响。一旦你只观察【有咳嗽】的人,你就在按【咳嗽】筛选样本。筛选会改变【肺癌】在【吸烟者】和【非吸烟者】中的基础构成:非吸烟者里,有咳嗽的人几乎只能是肺癌患者;吸烟者里,有咳嗽的人很多只是吸烟导致的咳嗽,肺癌比例被稀释。于是同一因果方向,在【全人群】和【有咳嗽者】中呈现相反符号。
【流程节点链路】起点【吸烟状态】→ 中间节点【咳嗽筛选】→ 终点【肺癌观察比例】。在这个链路里,【咳嗽】不是原因,不是混杂,而是【collider】。条件化到它,会打开一条非因果路径:【吸烟】→【咳嗽】←【肺癌】,使两个本不通过咳嗽相互导致的变量在条件样本里变得相关。
【极难发现】更危险的是,很多人把’控制更多变量’当成稳健性检验。若被控制的变量是【结果】、【结果代理】、【入组资格】、【存活状态】、【检测阳性】或【治疗响应】,它往往就是 collider。调整它不会减少偏差,而是制造偏差。经典例子是 Berkson 偏差:住院病人中,两个独立风险因素可能因为’都增加住院概率’而在住院层内出现负相关。
【结论】统计上,’adjust for all variables’ 不是默认正确动作。正确动作是先画 DAG,问:这个变量在【暴露】与【结局】之间是什么位置?如果它在两条因果路径的交汇处,就【不要条件化】,除非它本身是你想研究的处理变量。可证伪检验:比较全人群效应、按 collider 分层后的效应、以及按 collider 调整后的效应;如果符号或大小系统性改变,且 collider 与暴露、结局都相关,就应怀疑 collider 偏差。
【待验证点】如果一项研究只报告’调整了所有变量后的结果’,你最该先问什么:它调整的那个变量,是混杂、中介,还是 collider?







0 Comments