分享

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

 CodewarCodewar 2024-01-27 发布于山东

在我们经常接触的统计模式中,我们是在寻求推翻原假设,证明差异,这种统计模型在传统的临床试验中,在各种统计推断中已经成为默认了。在传统的临床试验中通常会将一种新的治疗方法与标准治疗或安慰剂进行比较,从而证明这种新治疗具有更好的疗效,这类试验的原假设是这两种治疗方案的治疗效果没有差异。如果统计分析拒绝这一假设,说明这两种治疗的疗效是有差别的,即出现统计学上差异性展示出显著的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,那么BC能一样吗?);从另外的角度也可以理解这个问题:统计上不显著是没有达到小概率的标准,比如新药事实上在94%的情况下都比原药劣,但是其没达到我们设定的小概率标准,这个时候在统计上两药是没差异的,但是以此来说明新药的非劣效性肯定是错的离谱了嘛(本身新药在94%的情况下都比原药效果劣怎么能说是非劣呢)。所以直接以统计差异来证明“非劣效”是很荒唐的。

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

非劣效界值

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

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

统计原理

通常在进行非劣效性试验结果分析的时候,我们会为两种药效果之间的差异构建一个单侧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

小结

今天给大家写了非劣实验研究的统计分析原理、示例和实操,希望大家可以将相应内容迁移到等效应性研究中去,进一步理解其与传统统计推断的区别。感谢大家耐心看完,自己的文章都写的很细,重要代码都在原文中,希望大家都可以自己做一做,请转发本文到朋友圈后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先记得收藏,再点赞分享。

也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,有疑问欢迎私信,有合作意向请直接滴滴我。

如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、模型构建,科研统计设计等发愁,如果你在使用SPSS, R,Mplus中遇到任何问题,都可以联系我。因为我可以给您提供最好的,最详细和耐心的数据分析服务。

如果你对Z检验,t检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取详细和耐心的指导。

如果你或你的团队需要专业的科研数据清洗,建模服务,教学培训需求等等。请联系我。

If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #Reports, #Composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.

Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??

Then Contact Me. I will solve your Problem...

If You or Your Research Team Need Professional Scientific Data Cleaning, Model Building Services or Statistical Consulting... Please Contact Me.

往期精彩

R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析

R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解

R数据分析:反事实框架和因果中介的理论理解

R数据分析:解决科研中的“可重复危机”,理解Rmarkdown

R数据分析:多项式回归与响应面分析的理解与实操

R数据分析:生存数据的预测模型建立方法与评价(二)

R数据分析:生存数据的预测模型建立方法与评价

R数据分析:生存分析的列线图的理解与绘制详细教程

R数据分析:结合APA格式作图大法讲讲ggplot2和ggsci,请收藏

R数据分析:变量间的非线性关系,多项式,样条回归和可加模型

Mplus数据分析:性别差异gendergap的相关研究如何做?

R机器学习:分类算法之logistics回归分类器的原理和实现

R数据分析:PLS结构方程模型介绍,论文报告方法和实际操作

R数据分析:跟随top期刊手把手教你做一个临床预测模型

R数据分析:如何用层次聚类分析做“症状群”,实例操练

R数据分析:工具变量回归与孟德尔随机化,实例解析

R数据分析:潜类别轨迹模型LCTM的做法,实例解析

R文本挖掘:中文词云生成,以2021新年贺词为例

R机器学习:分类算法之判别分析LDA,QDA的原理与实现

R机器学习:重复抽样在机器学习模型建立过程中的地位理解

R数据分析:用lme4包拟合线性和非线性混合效应模型

R数据分析:孟德尔随机化中介的原理和实操

R数据分析:生存分析的列线图的理解与绘制详细教程

R数据分析:cox模型如何做预测,高分文章复现

R数据分析:广义估计方程式GEE的做法和解释

R数据分析:潜类别轨迹模型LCTM的做法,实例解析

R数据分析:潜变量与降维方法(主成分分析与因子分析)

R数据分析:如何给结构方程画路径图,tidySEM包详解

R数据分析:生存分析与有竞争事件的生存分析的做法和解释

R机器学习:朴素贝叶斯与支持向量机的原理与实现

R数据分析:混合效应模型的可视化解释,再不懂就真没办法

R数据分析:tableone包的详细使用介绍

R数据分析:如何用lavaan包做结构方程模型,实例解析

R机器学习:分类算法之K最邻进算法(KNN)的原理与实现

R数据分析:潜增长模型LGM的做法和解释,及其与混合模型对比

R数据分析:论文中的轨迹的做法,潜增长模型和增长混合模型

R数据分析:纵向分类结局的分析-马尔可夫多态模型的理解与实操

R数据分析:临床预测模型实操,校准曲线和DCA曲线做法示例

R数据分析:国产新冠口服药比辉瑞好的文章的统计做法分享

R数据分析:再写潜在类别分析LCA的做法与解释

R数据分析:潜在转化分析LTA的做法和解释(一)

R机器学习:分类算法之K最邻进算法(KNN)的原理与实现

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多