imd 统计教程 · 预测模型与机器学习
← 教程首页 返回本模块

BMJ-预试验样本量怎么算?RCT和队列预试验软件复现全文

聂志强实战医学统计2026-03-02 14:37:23广东

随机对照试验RCT和队列开展中预试验pilot study发挥着关键作用,但其样本量如何计算?很可惜一直没有定论。 昨天上RCT设计课程真好讲到预试验部分,就顺便把之前存档的一篇BMJ文章拎出来给大家分享。《Determining sample size for pilot trials: a tutorial,BMJ文章》。

我针对BMJ样本量过程,复刻并优化了中文预实验版程序方便国内同行使用,发布在https://shiny.zhihuishuju.com/pilot/。BMJ案例和R实操见下文,我一并做进了工具中。


BMJ提示预试验,计算原则是pilot 的样本量必须由“试验目标”决定,并且要和你计划采用的分析与解释框架一致。


一、pilot study

pilot study又名前导/先导性/探索性研究,是为正式临床试验服务的小型临床研究,其研究设计(分组、干预措施和结局指标等)可能随机也可能不随机!例如,研究人员可能会检查现有数据库,通过估计拟议的确证性试验中符合条件的患者数量来评估招募的可行性。

预试验是研究人员设想未来的确定性试验(definitive RCT),并对其进行小规模的版本,可以是全部或部分。可以是内部的(嵌入在确定性试验中,数据包含在最终分析中)或外部的(独立研究,数据不贡献于确定性试验的分析)!定义十分灵活!大量 RCT 失败的根源不是“疗效不显著”,而是招募不足与运营问题导致试验中止,从而造成研究浪费与证据偏倚。外部随机 pilot trial 的价值,就是把未来 definitive RCT 的关键流程先小规模跑一遍,降低“正式开大试验后才发现跑不起来”的风险。

如果设计合理并正确解读,预试验可以降低操作失败的风险,提高方法学质量,并减少确定性试验中的偏倚。预试验是各种干预开发框架的一部分,例如用于行为治疗开发的 ORBIT(肥胖相关行为干预试验)模型、用于外科创新的 IDEAL 框架,以及英国医学研究委员会用于复杂干预的框架。在药物开发中,试点试验可能被进行以评估为大型 3 期疗效试验或 4 期有效性试验计划的方法的可行性。

下面的内容都是针对外部预试验的样本量计算,这样需要注意!外部(external) pilot trial(数据不并入未来 definitive 的主分析),设计限定为固定两臂、个体随机;不覆盖集群随机或 adaptive 等复杂设计。

二、样本量怎么算

研究人员通常不确定在预试验中应纳入多少参与者,预试验报告中也经常缺少样本量说明,这是一个长期以来的通病!终于解决了。

首先要明确一个核心概念:预试验不是小样本疗效试验!目的不是为了评估或测试干预措施的有效性或效果!所以千万别再滥用“初步有效性 (preliminary efficacy)”这种误导性的词汇。预试验的核心目的是评估可行性,即“这个试验能不能做、该不该做、以及如何做” 。正因如此,用于正式试验的传统样本量计算方法,不能直接套用到预试验上。pilot 样本量必须“由目标驱动”,并与计划的分析,解释方式一致。先定“pilot要产出什么决策信息”,再定“需要多精度/多有把握”,最后才是算 n。

三、 目标1:评估正式试验的可行性

当预试验的首要目的是评估方案可行性时,样本量的计算应围绕如何精准估计关键的可行性参数(如受试者脱落率、招募率、随机化接受度等)展开 。临床上这三类参数直接决定:你是否能在限定时间内收够样本、是否会出现系统性缺失、以及未来大试验成本/周期会不会失控。

3.1 用置信区间CI

研究者通常需要估算脱落率或招募率等关键参数 。在计算时,你需要提供参数的预期值、期望的精度(置信区间半宽)以及置信水平,precision / CI half-width。

从统计学角度,我们需要计算出一个能够提供足够精度(即置信区间的半宽,half-width of the confidence interval)的样本量 。研究者需要设定三个条件:参数的预期值、期望的精度(CI 半宽)以及置信水平(通常为 95%)。下面是案例12和R操作,BMJ英文界面见 https://r-pilotsize.sph.unc.edu/PilotSize/,我的中文版见https://shiny.zhihuishuju.com/pilot



3.2 基于“红绿灯”域值Go/Amend/Stop

为了更明确地决定是否推进到正式试验,研究者可以采用单样本假设检验,设定可行性参数的“底线(最低阈值)”和“目标(目标阈值)” 。

3.3可行性漏洞

有些罕见但致命的后勤或技术问题足以摧毁整个正式试验 。此时的统计学目标是:计算出在给定的置信水平下(通常为 95%),能够至少观察到一次该问题事件所需的样本量 。研究者仅需预估该问题发生的最低概率即可 。


四、目标2:为正式试验的样本量做依据

虽然预试验不应用于估计“效应量(Effect Size)”,但它非常适合用来估计研究结局的变异程度(Variability,即标准差或方差),从而为正式试验的 Power 计算提供基准 。

4.1 变异度估计与正式试验的样本量“通胀(Inflation)”

对于连续型结局变量,经验法则建议预试验每组纳入 12 或 35 名受试者,即可获得合理精度的方差估计 。但需注意,由于预试验样本量小,方差估计存在不确定性,直接使用可能导致正式试验把握度不足(Underpowered)。因此,在计算正式试验样本量时,应采用预试验方差估计值的 80% 或 95% 置信区间上限(UCL)进行向上调整(Inflation),或在正式试验中采用盲态样本量重新估计(Sample size re-estimation)。

4.2 最小化预试验与正式试验的“总样本量”

从卫生经济学和资源统筹的角度,预试验样本量越大,其方差估计越准,计算出的正式试验所需样本量就越小,二者总和呈现 U 型曲线 。通过迭代计算:从小规模预试验(如每组 8 人)开始,计算正式试验所需人数并进行通胀调整;逐步增加预试验人数,直到找到总计样本量(预试验+正式试验)最小的“拐点” 。


五、目标三:提前排除无临床意义的干预措施

如果一项创新疗法的有效性值得怀疑,研究者希望在启动昂贵的正式试验前,利用预试验排除那些不太可能达到最小临床重要差异(Minimum Clinically Important Difference, MCID)的干预措施。MCID,我之前推文写过,BMJ指南:P<0.05统计意义还要加临床意义MCID


六、发散思维

6.1 队列预试验-

RCT预试验的外部预试验计算有了BMJ算法,那队列呢?队列研究(Cohort Study)属于观察性研究,两者的研究设计、实施逻辑和推断目的都有本质区别。BMJ中其中关于“可行性评估”的底层统计学逻辑,对队列研究的预评估(Pilot/Feasibility phase)具有极高的借鉴价值。简单来说,可以借BMJ的壳(可行性参数估计和变异度估计),去掉它的核(干预效能评估和两臂随机设计)。尤其是去除MCID、组间均衡性假设这2条,其他都可以嫁接到队列预试验!

  1. 估算可行性参数(如失访率、招募率)适用场景:队列研究最怕的就是失访(Loss to follow-up)。在启动万人大队列之前,你可以先做一个小规模的预想队列,来精准估算失访率。完全可以使用教程里的“基于置信区间精度的参数估计”方法 。比如,你预估 1 年失访率为 15%,你希望估算误差不超过 5%(采用 95% 置信区间),你可以用教程提供的单样本比例公式算出这个预想队列需要招募多少人 。招募率评估:同样,如果你想评估在特定门诊每月能入组多少暴露/非暴露患者,教程里基于泊松分布(Poisson rate)的精确检验也是完全适用的 。

  2. 捕捉致命的可行性漏洞适用场景:在队列研究中,你可能需要采集患者的特殊生物样本(如脑脊液)或填写极为冗长的量表。你担心样本变质率高,或者患者填量表的拒绝率极高。你可以设定一个“不可接受的灾难概率”(例如,若问卷有效率低于 90%,或血液样本溶血率高于 10%,大型队列就无法开展)。你可以直接套用教程中计算检测罕见问题所需的样本量方法 。

  3. 估算结局变量或暴露因素的变异度适用场景:在计算大型队列研究的样本量时,你同样需要知道连续型结局变量的标准差,或者暴露水平的分布情况。如何借用:可以通过小规模预想队列来获取这些参数。小样本方差估计的“80% 或 95% 置信上限通胀法(UCL)”,从统计学原理上讲,也同样可以用于调整队列研究样本量计算中的方差输入参数,以防止正式队列的把握度不足(Underpowered) 。 4.队列其实也是不同目的计算不同。预测模型样本量,我之前写过很多可以公众号放大镜搜索。其实就是基于预想队列(Pilot Cohort)提供的基线风险分布、结局事件发生率以及预期 R2,来精确计算正式队列所需的人数和事件数。思维借鉴123,在软件中实现能解释即可。

6.2 检验效能-精度-概率曲线

我相比BMJ额外新增了类似PASS软件的检验效能-精度曲线-概率曲线,用于反推N以及参数。相当于作弊反向获取我能力之下获取的参数,再正向证明这些参数下我能完成预试验。


七、最终样本量

  1. 一个外部预试验可能同时肩负上述多个目标,需分别按照上面步骤逐步计算各目标所需样本量,并取其中的最大值max作为最后预试验N

  2. 实战医学统计工具网页,https://shiny.zhihuishuju.com


本公众号建立了学术交流群(群8),仅供SCI学术交流,人数有限需要实名制。入群请加笔者微信 popnie请备注说明:姓名-学校(单位)-专业。二维码往期找。