孟加拉国口罩试验: 效应量显著地比统计显著性更重要

话题很简单, 也简单地翻译一下. 这是一系列的文章, 我进行了一些编排也额外加了小标题.

首先是故事的起始

论文概述

在孟加拉国进行的一项旨在测试戴口罩对减少新冠病毒传播的效能 (efficacy) 的大规模群组随机对照试验 (cluster-randomized controlled trial) 公布了其初步结果, 新冠专家们已经激动地议论纷纷了. 关于这份报告的吸睛评论甚多, 大多数人把这项研究作为应该戴口罩的证据. 但是在读完 94 页的报告后, 我得出了不同的结论. 我担心由于统计学上的模糊性, 这篇报告根本不能推断出什么东西.

该研究用了群组随机对照试验, 不是对参与者随机, 而是对村落随机. 虽然样本量看起来很大 (34 万人), 但有效样本数只有 600 个, 因为干预是对村落级别做的. 通过人口统计学特征配对村落, 每对村落中随机选一个进行干预, 另一个作为对照. 这 300 个实验组的村落收到免费的口罩, 关于戴口罩重要性的科普, 社区领袖的带头示范, 以及为期 8 周的当面提醒. 对照组的 300 个村庄没有受到任何干预措施.

目标是确定这些干预措施对有症状阳性患者数量的影响. 该研究报告了报告症状的精确人数 (实验组 13273 人, 对照组 13893 人), 有症状并同意抽血的精确人数 (实验组 5414 人, 对照组 5538 人), 抽血检测出新冠抗体的精确人数 (实验组 5006 人, 对照组 4971 人). 但是,这里的情况变得很模糊。在预印本中没有出现实际的阳性测试的数量。

该研究报告称, 对照组有 0.76% 的人有症状且血清阳性, 而治疗组是 0.69%. 这相当于风险降低了约 1.1 倍 (中文不能说减少了多少倍, 但总之是除一下的意思), 作者认为结果是统计显著的.

存在的问题: 效应量小且模型不对

阳性的百分比从何而来? 该论文没有明确说明计算方法. 是全体病例数除以总人数, 还是对每个村庄求个数再平均? (下面是 Simpson 悖论的例子, 略.)

当效应量 (effect size) 较小且对度量指标敏感时, 惯例我们要看作者如何论述统计显著性. 作者将有症状阳性的人数建模为一个 “基于正态分布和恒等链接函数 (identity link function) 的广义线性模型”. 这就是把计数 (count) 建模为正态分布并进行普通最小二乘回归的花哨说辞. 根据表格标题, 作者似乎将每个村落的有症状阳性率建模为正态分布, 其均值是关于村落和其他一些协变量的函数. 然后显然他们计算了该模型下村落级别阳性率的估计, 求平均后得出实验组和对照组中的最终估计.

虽然高斯模型简化了代码, 并使作者能以标准的计量经济学格式报告结果, 但模型肯定是错的. 计数不能当做正态分布的随机变量, 因为不能取负值. 事实上在 300 个村落中有 36 个村落的感染率为零, 而如果真实分布可以很好地用高斯分布逼近, 那这样的事件是极其不可能的. 作者并没有调整假设, 而是将这些村落从回归中移除, 导致平均阳性率高估.

该报告计算了这些回归的 p-values 和置信区间. 但它们 只有在模型为真时 才有效. 如果模型是错的, 那这些误差线 (error bars) 就没有意义, 我也不确定能从中得出什么结论.

作者提供了几个稳健性检验 (robustness check) 以抵御像我这样的说法. 他们还使用了未事先预设 (non-preregistered) 的模型, 将计数建模为泊松分布, 发现效果相似. 然而用泊松分布来尖兵传染性疾病也是不现实的. 泊松分布对以某种固定频率 (rate) 发生的独立事件进行建模. 这样的模型对于模拟如心脏病发作这样非传染性疾病是合理的, 但我们知道传染并不是随机的独立事件: 与其他患者的相互作用产生了复杂的动态传播, 以及我们经常在网上看到的流行病曲线. 从数学上讲, 两个模型产生相同的估计效应量并不奇怪: 它们都是广义线性模型, 其估计值用类似算法计算. 但既然两个模型都是错的, 那多个模型也无法保证任何事情.

与其提供这些统计分析, 为什么不报告阳性数量原始数据, 让读者自行判断? 尤其是考虑到症状报告都是精确到个人的.

与疫苗的随机对照试验比较

将这项口罩研究与疫苗的随机对照试验 (RCT) 进行比较很有用处. 疫苗研究幸运地可以用最纯粹的 RCT. 如果 RCT 是因果推断的 “金标准 (gold standard)”, 那么疫苗研究就是 RCT 的 “金标准”. 疫苗试验容易应用盲法 (blind), 几乎总是具有临床均势 (clinical equipoise), 只要检测在个体上的直接影响并且这些个体可以从世界人口中几乎均匀分布地采样, 还很容易验证统计学意义. 看一下辉瑞公司疫苗的例子, 其效应量巨大 (风险降低 20 倍), 并且置信区间只需基于独立的 01 随机变量的精确计算. 置信区间并不重要, 因为效应量实在太大. 你可以盯着 Kaplan-Meier 生存曲线, 沉浸于 mRNA 疫苗的惊人效果中.

In short, clinical equipoise means that there is genuine uncertainty in the expert medical community over whether a treatment will be beneficial. (wiki)

当然不幸的是, 大多数实验的效应量都不是 20 这么大的系数, 他们通常连 2 都不到. 正如我们在面具研究中看到的那样, 效应量还不到 1.1. 我之所以挑选口罩研究, 只是因为它太瞩目了. 这是一个方便的案例, 可以说明统计模型如何搅乱随机对照试验的水. 但这只是我在过去几个月里遇到的许多例子中的一个. 如果你从《新英格兰医学杂志》(New England Journal of Medicine) 或《美国经济评论》(American Economic Review) 中随便挑一篇论文, 你很可能会发现类似的统计学错误.

当我们争论 p-values 而不考虑效应量时, 我们就会忽略了整体. 卢瑟福 (Ernest Rutherford) 有句名言: “如果你的实验需要统计, 那你本应该做个更好的实验.” 卢瑟福发现了原子结构, 并因在实验设计和放大小量以度量的创新而闻名. 他并不反对探究微小的东西, 而是感兴趣研究如何最好地得到实验证据 (empirical evidence).

我认为卢瑟福箴言更温和的版本应该指导科学研究: 如果效应量如此之小, 以至于我们需要复杂的统计, 这也许意味着效果并不真实. 使用复杂的统计工具会削弱我们的判断力, 使我们最终把统计方法当作依靠, 不去从噪音中挖掘出信号, 而是为了在没有信号的情况下说服自己. 这一点对政策建议很重要. 如果一项干预措施的效果平平无奇, 只有经过统计学修正后才能表现出来, 我们怎么能用这样的研究来指导政策?

部分链接

论文作者公布了数据和代码

数据和代码在 这里.

首先, 口罩试验无法应用盲法, 因为戴不戴口罩一目了然. 其次, 试验需要征询参与者同意, 其中实验组中 95% 同意, 而对照组只有 92%. 仅仅是这个差异就可以掩盖观测到的病例数差异. 最后, 有症状阳性是很粗糙的指标, 没有排除病例事先感染的可能.

My takeaway is that a complex intervention including an educational program, free masks, encouraged mask wearing, and surveillance in a poor country with low population immunity and no vaccination showed at best modest reduction in infection.

另外, 效能 (efficacy) 这个指标也有误导性. Relative risk reduction (见 Relative risk is more informative than effectiveness) 的值 (RR) 是实验组的感染率除以控制组的感染率. 这个值越小, 表示风险降低得越多. 口罩试验的 RR = 0.9, 而疫苗是 0.05. 而效能是 1 - RR. 下面对效能的 arguments 我没太 get the point (好像没啥意思) 就略了.

TODO

还有两篇

这篇就是正儿八经开算.

还没看.