Skip to content

对照定义与 index event bias:R9 与 R13 是两个不同的问题(2026-08-03)

一句话

R9 和 R13 的并发症端点,对照定义不一样,因此面临的偏倚也完全不一样。 R9 的对照含非糖尿病者 → 估计量是复合的(糖尿病 + 并发症); R13 的对照只有糖尿病患者 → 估计量确实是并发症特异的,但代价是引入 index event bias(指标事件偏倚,又叫 collider bias 碰撞偏倚)两者不能用同一套办法处理,把 R13 的校正法套到 R9 上是方法学错误。

一、先把 collider bias 讲清楚

什么是碰撞节点

因果图里有三种基本结构。前两种大家都熟:

  • 吸烟 → 焦油 → 肺癌(中介)
  • 年龄 → 白发年龄 → 老花(混杂,白发与老花因共同原因而相关)

第三种是碰撞(collider):两个原因指向同一个结果。

甲 ──→ 丙 ←── 乙

丙就叫碰撞节点。关键性质是:甲和乙本来互相独立,但一旦你「按丙分层」(只看丙发生的人, 或把丙放进回归模型),甲和乙就会凭空产生关联。

一个直观例子

设想大学录取只看两项:学习成绩体育特长,两者本来毫不相关。 录取(碰撞节点)之后,在被录取的学生里,两者会呈现负相关—— 因为一个学生如果成绩平平却被录取了,那他体育多半很强;反之亦然。

这个负相关是筛选造出来的,不是真的。 你只看录取名单,永远看不出来。

换成我们的问题

蛋白 X ──→ 得糖尿病 ←── 其他无数因素(BMI、TCF7L2、生活方式…)

            得视网膜病变

「得糖尿病」就是碰撞节点。只要你把分析限制在糖尿病患者内部(对照 = 无并发症的糖尿病人), 就等于按碰撞节点分层,于是:

任何一个促进糖尿病发病的因素,都会与其他促进糖尿病发病的因素凭空产生关联, 进而在「并发症」这个下游结局上表现出虚假的因果效应。

这在文献里的专名叫 index event bias(指标事件偏倚)—— 「index event」就是那个把你筛进研究的事件(这里是"得了糖尿病")。

反过来,如果对照是一般人群呢

那就没有这个筛选,碰撞偏倚不存在。但换来另一个问题: 病例全是糖尿病人、对照大多不是,于是估的效应里混着"得不得糖尿病"那一段

两害相权,只能选一个。这不是谁做错了,是设计上的固有权衡。

对照定义有没有 index event bias估计量是什么
一般人群(含非糖尿病者)没有糖尿病易感性 + 并发症(复合)
无并发症的糖尿病患者并发症特异(但被偏倚污染)

二、R9 与 R13 到底是哪一种:用数据判定

不靠读文档,直接拿三个「本不该出现」的探针位点去测。逻辑很简单:

TCF7L2 是 2 型糖尿病的头号位点,FTO 是纯粹的肥胖位点, 二者与视网膜没有任何已知的直接关系。 若对照含非糖尿病者,它们必然显著;若对照全是糖尿病人,它们应当归零。

实测结果(本地 FinnGen 原始 sumstats)

端点TCF7L2 rs7903146(纯 T2D)FTO rs1421085(纯肥胖)PTPN22 rs2476601(纯 T1D)
R9 糖网 EXMOREβ=+0.195 p=8.7e-29β=+0.077 p=9.6e-08p=8.5e-30
R9 黄斑 EXMOREβ=+0.181 p=6.4e-10β=+0.088 p=2.5e-04p=2.1e-27
R13 糖网 EXMOREβ=−0.018 p=0.27β=+0.0004 p=0.98p=2.1e-15
R13 糖网 STRICTβ=−0.017 p=0.43β=−0.003 p=0.87p=1.4e-22
R13 黄斑β=−0.029 p=0.26β=+0.020 p=0.35p=1.2e-14
R13 新生血管性青光眼β=+0.156 p=3.0e-04β=+0.057 p=0.12p=0.099

FTO 在 R13 糖网上 β = 0.0004、p = 0.98 —— 这是干净得不能再干净的零。 一个已知的强肥胖位点在糖网端点上完全无信号,只可能是因为病例和对照都是糖尿病人

结论(三条,都是实测)

  1. R9 的对照含非糖尿病者。 纯糖尿病位点、纯肥胖位点全部强显著。
  2. R13 的糖网 / 黄斑 / 糖肾对照只有糖尿病患者。 同样的位点全部归零。
  3. ★★ R13 内部并不一致。 新生血管性青光眼的 TCF7L2 仍然 p=3.0e-04 显著—— 它的对照仍是一般人群(对照数 483,921 ≈ 全队列)。 所以 R13 的各并发症端点之间不能直接横向比较。

对照数也印证

R9R13
FinnGen 全队列≈ 37.7 万≈ 48.5 万(更大)
糖网 EXMORE 对照308,633(占 87%)62,519(占 16%)
新生血管性青光眼对照366,206(97%)483,921(97%

队列变大了,糖网的对照反而缩到五分之一 —— 是定义变了,不是数据变少了。

另有旁证

FinnGen 的 Risteys 页面上,DM_RETINOPATHY_EXMORE 当前定义写的是 「Control conditions: DIABETES_FG」「Control exclude: DM_COMPLICATIONS」, 即对照须为糖尿病患者且无任何糖尿病并发症。 ⚠️ 该页显示的是**当前(R12/R13 期)**定义,我未能取到 R9 期的定义原文, 所以 R9 那一侧的判断以上面的探针实测为准,不以网页为准。


三、这对本课题各条线意味着什么

线用的 release面临的问题对策
R9 主线(本文档主体、3 个 A 级候选)R9估计量复合,无 index event bias糖尿病对照臂(27_diabetes_contrast.R)逐条比对
R13 线(DR/AMD 分家那篇)R13估计量特异,有 index event bias⚠️ 目前未做任何处理 —— 待办
R13 新生血管性青光眼R13与同批其他端点口径不同不可与糖网/黄斑并排解读

R9 主线不要套用 Slope-Hunter

文献里校正 index event bias 的主力方法(Slope-Hunter、逆概率加权、Dudbridge 法) 前提都是「病例内部的进展分析」。R9 的对照是一般人群,压根没有那个筛选, 硬做不但没用,反而会引入本来不存在的假设。 R13 线才是这些方法的适用对象。


四、R9 主线的正确做法:糖尿病对照臂 + 口径敏感性

文献里大家怎么做的:基本上不做

文章并发症对照是否分离糖尿病易感性是否报对照口径敏感性
Yuan 2023 Cell Rep Med(本课题 baseline)一般人群没有没有
T1D 蛋白 SMR/共定位(PMC11206317, 2024)一般人群没有没有
Zhang 2024 蛋白比值(Diabetes Obes Metab)一般人群没有没有

Yuan 那篇唯一沾边的是在局限里承认「结果更多反映 2 型的并发症」,说了问题、没做分析

⚠️ 上表三条系通过网页抓取由模型读原文作答,非逐字通读全文,引用前须核原文。

而 PLOS Genetics 2023 那篇讲检测碰撞偏倚时给的第一条建议,正是我们在做的事:

比较同一批变异在「发病 GWAS」与「进展 GWAS」上的效应量; 若某变异与发病强关联,就不能排除它与进展的关联纯属人为。

27_diabetes_contrast.R 就是这个比较的定量版,有方法学文献背书。

分类规则(analysis/27_diabetes_contrast.R:59-63

级联判定,命中即停:

r
cls := 无法判定      当 糖尿病端缺工具
    else 并发症特异   当 pd >= 0.05           # 糖尿病端根本没信号
    else 方向背离     当 sign(bc) != sign(bd)  # 两边都显著但方向相反
    else 并发症增强   当 zdiff > 0 且 pdiff < 0.05
    else 糖尿病驱动

★ 顺序很关键:先要求糖尿病端 p<0.05(确有信号),再看符号。 所以「方向背离」不是噪声打架,是两边都显著、方向对着干。

口径敏感性实测:拿哪个糖尿病当对照,结果差很多

现行规则是「取信号更强的那个糖尿病性状比」。把三种口径都跑一遍:

口径并发症特异并发症增强糖尿病驱动方向背离无法判定
现行(取信号更强者)10113060
一律用 T1D1982460
一律用 T2D3411903

对 7 个共定位支持蛋白的分层后果:

蛋白现行一律 T1D一律 T2D
ERMAP / IFNAR1 / APOL1AAA
NOTCH2B(糖尿病驱动)BB
APOEB(糖尿病驱动)A ← 变B
WARSB(方向背离)BA ← 变
GALNT3B(方向背离)BA ← 变

A 级数量:现行 3 个 → 一律 T1D 4 个 → 一律 T2D 5 个。

★ 最重要的一行

三个 A 级候选在三种口径下全部稳定为 A。 动的全是 B 级边界。 这是正面结果,该主动写出来。

但 B 级边界确实敏感,必须披露

(2026-08-05 更新) T1D 源等位频率修复后,方向背离由 6 条降为 1 条—— WARS、SIGLEC5×2、TRIM40×2 翻正后归入「糖尿病驱动」。仅剩的 1 条仍是跟 T1D 比出来的:

蛋白T1D β / pT2D β / p
GALNT3 × 糖网+0.117 / 2.4e-03−0.054 / 0.018(与糖网同号

FinnGen 糖网的病例以 2 型为主,却按 T1D 判了背离。 所以 WARS / GALNT3 的降级完全建立在「跟 T1D 比」这一个选择上。

为什么仍然保留现行口径

改判的 31 条里大部分是 MHC 区蛋白(HCG22、LTB、CFB、MICB_MICA、TNXB、ATP6V1G2、AIF1、TRIM40)—— MHC 本来就是 1 型糖尿病的头号位点、对 2 型基本无关,它们的 T1D 信号是真的, 不能靠换对照把它洗成「并发症特异」。

现行口径是偏保守的一侧,不夸大特异性主张27_diabetes_contrast.R 文件头已注明)。 ⇒ 主结果维持现行口径,把三口径交叉表作为敏感性分析报出来。


五、待办

  1. R13 线的 index event bias 完全没处理 —— DR/AMD 那篇用的是 R13, 对照是糖尿病患者,属于经典 index event bias 场景。至少要做检测 (负对照位点、Miami 图),有条件再做 Slope-Hunter 校正。
  2. R13 新生血管性青光眼与同批其他端点口径不同,现有图里是并排画的,需加注或分开。
  3. 每个蛋白只有 1 个 cis 工具,MVMR 条件在糖尿病易感性上理论可行但过于脆弱, 只在讨论里作为未来方向提一句。

参考

  • Dudbridge 组,PLOS Genetics 2023 pgen.1010596 《Strategies to investigate and mitigate collider bias in genetic and MR studies of disease progression》
  • Slope-Hunter(Mahmoud 等),bioRxiv 2020.01.31.928077,R 包 SlopeHunter
  • medRxiv 2026.02.26.26347193:各种 index event bias 校正法的比较
  • FinnGen Risteys 端点定义页(当前版)

⚠️ 以上文献均只读了检索摘要或网页抓取的问答,未逐字读全文,写进论文前须核原文。

相关

个人科研与运维文档 · 内容持续修订