生物医学网络科学Biomedical Network Science
研究问题、可复现分析与敏感性分析07 / 16

敏感性分析与替代解释

阅读
约 3 分钟

分析选择的“分岔花园”

一个网络分析要经过许多选择:节点怎么定义、边用什么统计量、阈值取多少、社团算法用哪个、随机基线怎么构造……每个选择都“合理”,但组合起来,结论可能截然不同。Botvinik-Nezer 等(2020)请 70 个团队独立分析同一份 fMRI 数据、检验同样 9 个事先确定的假设:没有两个团队选择了完全相同的分析流程,各团队对同一假设给出的“显著/不显著”结论差异相当大,即使在中间统计图高度相关的团队之间也是如此。

敏感性分析(sensitivity analysis):系统改变关键分析选择,观察主要结论是否保持。若在合理范围内结论都成立,结论是稳健的;若只在某个选择下成立,必须如实报告。把所有合理选择组合起来逐一运行、汇总结果的做法称为多元宇宙分析(multiverse analysis),见多元宇宙分析与设定曲线。

网络分析中常见的敏感点

分析环节 常见选择 敏感性做法 相关专题
节点定义 不同脑图谱与分辨率;基因 ID 映射规则;症状条目合并与否 至少比较两种节点定义 脑连接组、网络构建
边的定义 相关、偏相关、互信息 至少比较两种 脑连接组、症状网络、基因网络推断
阈值/密度 绝对阈值、比例阈值、加权 扫描一段密度区间并画曲线 脑连接组
数据库置信度 STRING 0.4 / 0.7 / 0.9 报告三档下的结果 生物分子网络、网络医学
预处理 是否全局信号回归、头动处理策略、批次校正 主要预处理选择各跑一次 脑连接组
社团检测 Louvain 种子、分辨率参数 多种子、共识划分、报告 Q 的范围 社团结构与社区发现
零模型 ER、度保持重连、度匹配抽样 说明选择理由,必要时比较两种 网络结构指标与随机图、网络医学
样本 全部样本、去除离群、子样本 bootstrap 或留一法 症状网络、网络构建与统计验证

替代解释排查表

看到一个“有趣”的结果时,先问下面五个问题:

  1. 密度/规模差异:两组网络的边数不同,是否就足以解释指标差异?(见本专题代码示例“替代解释”)
  2. 度与研究偏倚:结果是否只是“热门基因/节点连边多”的反映?是否做了度匹配?
  3. 混杂因素:头动、批次、细胞组成、年龄、用药是否可能同时影响网络和结果?
  4. 多重比较:检验了多少个节点、多少个指标?是否做了 FDR 校正?
  5. 循环论证(double dipping):是否用同一份数据既选择特征又检验特征?例如先挑出差异最大的边再比较它们的组间差异。

循环分析(circular analysis, double dipping):用同一份数据既做选择(选边、选脑区、选基因、选参数),又对选择结果做统计检验或估计效应量。Kriegeskorte 等(2009)系统说明了它在系统神经科学中的危害:被选中的特征在同一数据中的效应被系统性高估,在纯噪声中也能得到“显著”结果。解决办法是选择与检验使用独立数据(分半、留出集、交叉验证),或者把选择步骤整体放进置换检验的每一次循环中。

本专题的代码示例“循环论证”在不存在任何组间差异的模拟数据上演示:先在全部数据中挑出差异最大的 10 条边再检验,几乎每次都“显著”;改为一半数据选边、另一半检验后,“显著”比例回到名义水平 5% 左右。

敏感性分析不是“找一个让结果显著的设置”。正确顺序是:先在研究计划中写明主分析的选择和要检查的敏感点,再运行并如实报告所有结果。反过来做,就成了 Simmons 等(2011)所说的“研究者自由度”导致的假阳性。Wicherts 等(2016)把研究设计、执行、分析和报告各阶段的研究者自由度整理成检查清单,可在写分析计划时对照。