重复测量的混合效应模型与更简单测试的多个时间点比较

机器算法验证 重复测量 多重比较 混合模式
2022-04-05 13:28:26

我有一个非常标准的研究情况,其中重复测量来自同一个人。有两个因素:“组”(两组各有 25 人)和“日”(时间在这里被视为分类变量)。为了简单起见,让我们只考虑两个时间点,第 1 天和第 2 天。在 R 中工作时,数据如下所示(ID - 受试者的 ID;组 - 组的标签;日 - 指示日期的因素采样,有 2 个级别;BW - 体重,kg):

 dat
     ID Group   Day       BW
 1   ID1     A Day 1 2333.231
 2   ID2     A Day 1 2615.744
 3   ID3     A Day 1 2282.484
 4   ID4     A Day 1 2796.806
 5   ID5     A Day 1 2262.759
 6   ID6     A Day 1 2520.216
 7   ID7     A Day 1 2606.598
 8   ID8     A Day 1 2617.347
 9   ID9     A Day 1 2439.651
 10 ID10     A Day 1 2515.900
 11 ID11     B Day 1 2692.253
 12 ID12     B Day 1 2208.707
 13 ID13     B Day 1 2343.652
 14 ID14     B Day 1 2564.080
 15 ID15     B Day 1 2411.044
 16 ID16     B Day 1 2774.001
 17 ID17     B Day 1 2634.651
 18 ID18     B Day 1 2514.433
 19 ID19     B Day 1 2198.449
 20 ID20     B Day 1 2505.220
 21  ID1     A Day 2 2314.214
 22  ID2     A Day 2 2302.396
 23  ID3     A Day 2 2319.029
 24  ID4     A Day 2 2533.612
 25  ID5     A Day 2 2290.300
 26  ID6     A Day 2 2168.727
 27  ID7     A Day 2 2466.597
 28  ID8     A Day 2 2223.379
 29  ID9     A Day 2 2441.762
 30 ID10     A Day 2 2288.917
 31 ID11     B Day 2 1984.846
 32 ID12     B Day 2 2702.819
 33 ID13     B Day 2 2793.834
 34 ID14     B Day 2 2563.337
 35 ID15     B Day 2 2666.664
 36 ID16     B Day 2 2399.159
 37 ID17     B Day 2 2586.255
 38 ID18     B Day 2 2193.912
 39 ID19     B Day 2 2797.592
 40 ID20     B Day 2 3043.074

这是这些数据的图形表示(来自同一主题的数据点用虚线连接,以便更容易理解该数据集的结构):

在此处输入图像描述

为了测试 Group 和 Day 的效果,我可以使用例如 R 的 nlme 包来拟合混合效果模型:

# Fit the model:
M <- lme(BW ~ Day * Group, random = ~ 1 | ID, data = dat)

# check the significance of effects:
anova(M)
            numDF denDF  F-value p-value
(Intercept)     1    18 5564.085  <.0001
Day             1    18    0.326  0.5753
Group           1    18    2.849  0.1087
Day:Group       1    18    3.631  0.0728

因此,根据拟合的混合效应模型(这对于这些数据来说已经足够了——运行了诊断但这里没有给出),所检查的因素(天和组)都不会影响响应变量;此外,这两个因素之间没有相互作用。

如果有人要求我这样做,这就是我会为这样的数据集做的分析类型。然而,在我的组织中,很多人对混合效应模型一无所知。他们通常会做的是应用一堆 t 检验(或类似检验)来检测“组”对每个抽样日期的影响。例如,对于上面显示的数据,第 1 天进行 t 检验,第 2 天进行另一个 t 检验,得到以下结果:

第 1 天:P = 0.271

第 2 天:P < 0.001

因此,他们会声称在第 2 天有显着的群体效应。我试图解释这个结果是不正确的,因为数据中存在相关性,这源于对同一受试者进行的重复测量。但是,我的一位同事提出了一个我无法轻易回答的问题。他说:

“好吧,观察结果是相关的,我明白了。但是现在,忘记我们有来自第 1 天的数据这一事实,并假设只有来自第 2 天的数据。A 组和 B 组中的观察彼此独立,因此我们可以应用 t 检验或类似的东西。当我们应用 t 检验 [如上所示] 时,我们会得到显着的组效应。那么我们应该如何处理这个结果?

这正是我被卡住的重点。事实上,如果一个人只有第 2 天的信息并进行简单的 t 检验,那么与使用混合效应模型获得的结论相比,一个人会得到一个非常不同的(并且原则上是合理的)结论。那么哪种分析方法值得信赖呢?群效应是真的吗?

我觉得我错过了一些重要的部分来证明使用混合模型的合理性。任何提示将不胜感激。

2个回答

首先考虑您的第二点,您对 Day 的分析着眼于跨天的聚合,平均而言没有 Day 效应。第 2 天可能会有一个,但你真的应该有理由相信第 2 天比其他日子更多。

第 1 点,第 1 天并不重要,而第 2 天确实显示出效果,这是一个毫无意义的观点。忽略相关性和分析技术,即使你的同事声称是真的,它也没有用。隐含的论点是第 1 天组的效果与第 2 天不同,并且没有经过测试这就是你的交互测试,它并不重要。

最后,从这份报告的主旨来看,似乎有很多人在纠结什么是重要的,什么是不重要的。例如,如果第 1 天和第 2 天的影响都在同一个方向,但一个是显着的,一个不是,它们真的是矛盾的吗?考虑一下。

这可能会给您带来比它回答的问题更多的问题,但考虑到您可以通过直接查看模型的系数(加上它们的标准误差)并将它们线性组合来直接测试 A2 与 B2

> summary(M) 
Linear mixed-effects model fit by REML 
...
Fixed effects: BW ~ Day * Group  
                 Value Std.Error DF  t-value p-value 
(Intercept)  2499.0736  66.30508 18 37.69053  0.0000 
DayD2        -164.1803  93.76955 18 -1.75089  0.0970 
GroupB        -14.4246  93.76955 18 -0.15383  0.8795 
DayD2:GroupB  252.6805 132.61017 18  1.90544  0.0728 

特别是,A 和 B 在第 2 天的组平均值差异为 238.26,在测试时

> anova(M, L=c(0,0,1,1)) 
F-test for linear combination(s) 
      GroupB DayD2:GroupB  
           1            1  
  numDF denDF  F-value p-value 
1     1    18 6.456002  0.0205 

> t.test(subset(dat, Day=="D2" & Group=="B")$BW, subset(dat, Day=="D2" & Group=="A")$BW) 
...
t = 2.2832, df = 11.332, p-value = 0.04264 
...
mean of x mean of y  
 2573.149  2334.893