报告多项等效性检验的最佳方法是什么?

机器算法验证 报告 托斯特
2022-03-19 04:09:29

我正在做一项涉及多项等效性测试的研究。是否有报告此类结果的标准表格?

更详细的编辑:这是一项有 5 个时间点的纵向研究。我们的假设是,从基线到 1 个月有变化,然后是稳定。最初,我想到了一个多级模型,但除了时间之外没有自变量。所以我决定在基线和 1 个月之间进行 t 检验,并在 1 和 3 个月、3 和 6、6 和 9 以及 9 和 12 之间进行 TOST 测试。

还测试了5个区域。

所以,我需要一种方法将所有这些测试总结在一个表格中

3个回答

回归表表示很容易修改以适应等价测试,包括相关性测试- 您可以根据差异测试(测试)和等价测试(测试例如(假设您在回归上下文中呈现多个测试,因此是):H0+H0β

展示 TOST 结果

您可以从等效性测试中呈现单边测试统计量()及其相关的p值(),此外还可以为测试提供测试统计量p值()区别。t1t2p1p2tp

此外,如果它因测试而异,您可能希望包含一列用于定义等效性(我使用表示以我的度量单位定义的等效/相关性阈值,并表示以单位定义的此阈值我的测试统计)。如果您对所有测试使用一致定义的等效/相关性阈值,您可能会在表格的脚注中指出这一点。Δε

您还可以通过包含列来明确阐明等价和差异检验的拒绝决定,从而促进解释。包括一个相关性测试列(结合我在此处说明的结果)也可能有助于解释。

当然,也可以使用这种格式来呈现独立的测试,并呈现不同类型的 TOST 测试统计(例如z测试统计,如与非参数测试一起使用的那些,精确的二项式测试统计等)。

我认为可以在单个线性混合模型中进行所有这些多重等价测试。假设您在更改发生后有多个 (2+) 测量,那么将这些多个测试作为单个重复测量模型的一部分呈现是很自然的。

特别是,可以在连续步骤之间定义指标变量,然后检查它们的重要性;基本上一次性进行多次我认为对于每个主题具有简单截距和斜率的随机结构就可以了。我不认为除了时间之外没有自变量是结构性问题。如果有的话,我认为它可以进一步简化问题。t

根据我的理解,给定一个起始值(),在从第一个测量周期到第二个测量周期时val0会发生一些事情( )。step0对于随后的测量内时间段 ( step1, step2, step3) 没有任何反应。假设测量误差恒定。所以有这样的东西:

粗略模拟样本

我使用以下代码创建此示例:

set.seed(123)
sampleTimes <- seq(0,1, length.out = 5); 
N = 10^2;
val0 <- rnorm(N, mean = 0, sd = 5); # Starting values
slopeAt0 <- rnorm( N, mean = -10, sd = 5); # Effect kicks in
val1to5 <- val0 + slopeAt0 * diff(sampleTimes[1:2]) # so val0 is +2.5 higher

trueMeans <- cbind( val0, t(matrix(rep(val1to5,4), 4, byrow = TRUE)))
obsSample <- trueMeans + rnorm(N*5)
subject <- (1:N)
matplot(sampleTimes, t(obsSample),type = 'l', ylab= 'Obs. Sample') # Visualise   

并为从一个测量点到下一个测量点的周期定义一系列指标变量。请注意,我没有定义“最后一步” step4我们不知道在的最后一个测量点之后会发生什么。t4

Q <- data.frame( t = rep(sampleTimes, times = N), 
                 ID = rep(subject, each = 5), reads = as.vector(t(obsSample)),
                 step0 = rep(c(1,0,0,0,0), times = N), 
                 step1 = rep(c(0,1,0,0,0), times = N),
                 step2 = rep(c(0,0,1,0,0), times = N), 
                 step3 = rep(c(0,0,0,1,0), times = N))

使用这种设计,拟合 LME 并检查stepX变量是否具有统计显着性是一项相对简单的任务。截距和斜率将吸收任何特定于主题的变化,并直接引导该模型。也可以使用原始 LMEt

library(lme4)
m1 <- lmer(reads ~ step0 + step1 + step2 + step3 + (t+1|ID), Q)
summary(m1)
confZ = confint(m1, method='boot', nsim= 1000)
print(confZ)
# Computing bootstrap confidence intervals ...
#                 2.5 %     97.5 %
# .sig01       3.7653500  5.0961341
# .sig02      -0.2043878  0.9843421
# .sig03       0.3396433  1.2702728
# .sigma       0.9869698  1.1579640
# (Intercept) -3.2169570 -1.2982469
# step0        2.5430254  3.2526163
# step1       -0.2465836  0.4475912
# step2       -0.0728649  0.5659132
# step3       -0.1625806  0.4023341

我认为结果非常合理,即使对于使用的样本量适中()也是如此。为了安全起见,我加入了一个随机斜率,这可能是多余的( : 期间发生了一些事情N=102sig02step0

其他人已经为您的问题提供了更直接的答案,但我将尝试为该问题提供不同的解决方案。除非我误解了你,否则似乎双向(周期区域)固定效应模型效果最好(当然,使用强大的 SE!)。

yi=kαk×1[iperiodk]+jβj×1[iareaj]+ϵi

您可以对所有进行 F 检验(联合空值检验),以查看是否有任何随时间变化的变化,并且您可以进行 Wald 检验以查看系数子集(在您的情况下,)是相同的。如果你在做一堆成对的测试,这也解决了你应该担心的所有多个测试问题。αkα2=α3==αK

以上所有内容都可以在正文中完成。进行目视检查.. 我知道您要一张桌子,但我认为像这样具有 95% 间隔的情节更有说服力。但也许这只是我的领域的风格。

在此处输入图像描述