R数据分析:非劣效性研究设计的统计处理方法,原理和实例

在我们经常接触的统计模式中,我们是在寻求推翻原假设,证明差异,这种统计模型在传统的临床试验中,在各种统计推断中已经成为默认了。在传统的临床试验中通常会将一种新的治疗方法与标准治疗或安慰剂进行比较,从而证明这种新治疗具有更好的疗效,这类试验的原假设是这两种治疗方案的治疗效果没有差异。如果统计分析拒绝这一假设,说明这两种治疗的疗效是有差别的,即出现统计学上差异性展示出显著的P值,这个时候就证明了我们的研究目的。

Traditional statistical methods were designed to demonstrate differences and cannot easily show that a new treatment is similar to an older one.

但是,当我们开发新药或者新的治疗方法的时候,这个时候我们的目的可能并不是找到一种更有效的方法,而是找到一种与标准治疗疗效相似的新疗法,同时具有其他一些优势,如成本更低、副作用更少,或更加便捷。因其具备的这些优势,这种几乎与标准治疗一样有效的新治疗方法,在实践中对某些特定的患者来说可能是首选。换成统计语言就是我们这个时候的统计目的并不是要证明差异性,而是要证明相似性。我们要回答的问题是“这个新药或者新方法是不是不劣于现有的治疗方法”而非“新方法是否有效”。传统的统计推断证明差异存在的思路就行不通了。

上面这种情况所对应的试验设计就是非劣效性试验(等效性实验也是如此理解)。目的是严格评估一种新的治疗方案,通过与公认有效的治疗方案进行对比,来证明该治疗方案几乎与标准治疗方案的疗效一致性(即不存在劣势)。

In another context, the new treatment may offer lower cost and/or better patient compliance but might have a lower efficacy than the standard treatment. A non-inferiority study is designed to show that the new treatment is not less effective than the standard treatment to within a pre-specified margin of clinical indifference

传统统计为什么不行

为了大家更好地理解,在写非劣实验正确的统计方法之前,我们先帮助大家理解“为什么传统统计推断不能回答“非劣效”的问题”。

同学们经常有一个比较容易陷进去的逻辑是:既然统计显著可以说明两组间有差异,那么反过来一想统计不显著不就是两组差异不显著吗,这不是就是说两组效果相近----就证明了“非劣效”吗?这个逻辑似乎说的通,但是是不对的。统计不显著并不意味着没差异,并不意味着两个方法效果一样。

比如,看下图:

上图描述的是三种治疗方案ABC的效应值分布,在上图中B和C的效应相对于0效应线都是不显著的,但是其分布不同(点估计和置信区间不同),我们就不能简单说B和C都不劣于原方法。如果这样说了,和方案A比较就矛盾了(A是一定优于原方案,而且也优于B,但是不优于C,那么B个C能一样吗?);从另外的角度也可以理解这个问题:统计上不显著是没有达到小概率的标准,比如新药事实上在94%的情况下都比原药劣,但是其没达到我们设定的小概率标准,这个时候在统计上两药是没差异的,但是以此来说明新药的非劣效性肯定是错的离谱了嘛(本身新药在94%的情况下都比原药效果劣怎么能说是非劣呢)。所以直接以统计差异来证明“非劣效”是很荒唐的。

以上希望能帮助大家理解为什么统计不显著不能证明相似性。要记住:'No statistically significant difference’ can-not be used to support a conclusion of ‘no difference’ or of ‘equivalence'.

非劣效界值

上面讲过非劣效并不是一个简单的统计推断得到个显著性就行的,要说明新药不比老药差我们需要提前设定“不比老药差的标准”,然后将差异的置信区间和这个标准进行比较从而得出结论。这个标准就叫做“非劣效界值”,关于这个界值的理解,下面文献给出了很好的示例说明:

非劣效性界值的选择往往是主观的,而不是基于特定的标准,自己去文献荟萃或者自己能自圆其说就行。但一点是明确的的这个界值一定比目前方法能达到的效应值小很多。

https://support.sas.com/resources/papers/proceedings20/4641-2020.pdf

统计原理

通常在进行非劣效性试验结果分析的时候,我们会为两种药效果之间的差异构建一个单侧95%或97.5%的置信区间(从L到∞;负值代表了试验治疗的劣效性),并将下限“-L”与非劣效性界值进行比较。如果置信区间的下限值高于或位于非劣效性界值的右侧,则证明了其非劣效性。

设定好非劣效界值之后我们判断结果时遇到的可能性有三个,像下图中一样,蓝色的情况就是新药与老药效应差的效应置信区间全部在非劣效界值区域,效应的置信区间低点都在非劣效界值内,就意味着A是非劣效的;同理绿色的就是可能非劣效也可能不是;红色则是劣效。

实际例子

下图中是一个简明的非劣效性试验结果分析的实际例子:

上面的例子的效应是连续的,整个统计分析过程已经写的非常清楚了,我们再来看一个分类变量的做法,依然是做差比置信区间的思想:

在上面的例子中,依然是将效应差值的置信区间求出来,将区间和非劣效界值进行对比。

但是很多的时候对于分类结局很多的时候我们的效应表示是OR或者RR,这个时候就不是做差了,而是直接将OR或RR和界值进行比较,如下:

那么这个时候我们需要计算OR或RR的置信区间,示例如下:

可以看到这个时候我们是估计的RR的置信区间,然后和界值比较得到的非劣效结论。

实际上有学者提出来,做差好一点,建议大家还是去做差。

testing NI using RD not only controls well the Type I error and achieves the highest statistical power but also requires the smallest sample size compared to RR and OR

We performed a search for non-inferiority trials with binary outcomes reported in the New England Journal of Medicine between 2016 and 2019. Of the 24 randomized controlled trial (RCTs) found, 16 used an RD to specify the non-inferiority margin. Two used RR and six used OR.

实操

在弄明白原理并且看到了实际例子之后我们再来看操作。RD的置信区间计算,我们来看一个分类结局的置信区间的计算实例

下面的统计结果表达来自The Lancet。结果变量是分类变量,使用的率差来进行非劣效性的判断,方法就是得到两组率差的置信区间,将置信区间下限和非劣效界值进行对比从而得到结论。

我们来实操一波,在R语言的dani包中test.NI函数是专门用来进行非劣实验的数据法分析的。

还有我们也可以使用catfun包中的riskdiff函数

我们按照相应的参数说明,写出分类变量的四格表,运用两函数后两函数结果一模一样,结果如下:

推荐阅读:

Walker J. Non-inferiority statistics and equivalence studies. BJA Educ. 2019 Aug;19(8):267-271. doi: 10.1016/j.bjae.2019.03.004. Epub 2019 Apr 24. PMID: 33456901; PMCID: PMC7808096.

Tunes da Silva G, Logan BR, Klein JP. Methods for equivalence and noninferiority testing. Biol Blood Marrow Transplant. 2009 Jan;15(1 Suppl):120-7. doi: 10.1016/j.bbmt.2008.10.004. PMID: 19147090; PMCID: PMC2701110.

Testing Hypotheses for Equivalence and Non-inferiority with Binary and Survival

Outcomes. Joseph C. Gardiner, Department of Epidemiology and Biostatistics,

Michigan State University, East Lansing, MI 48824

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公众号Codewar原创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值