对具有交叉随机效应的纵向数据进行建模

机器算法验证 r 混合模式 lme4-nlme 随机变量 随机效应模型
2022-03-20 03:33:22

假设我有 40 名参与者。它们分别测量 3 次 ( session)。在每次访问中,他们都会看到十种刺激物 ( item),它们可以是两种类型 ( type) 中的一种。然后他们为每个刺激获得一些分数。如何使用lme4 模拟刺激类型、会话数及其交互的影响?

我已经包含了一些示例数据,以及我对具有以下完整随机效应结构的模型的最佳猜测。

library("lme4")

participant <- rep(1:40, each = 30)
session <- rep(rep(1:3, each = 10), times = 40)
item <- rep(1:10, times = 120)
type <- rep(1:2, times = 600)
score <- rnorm(1200)

data <- cbind(participant, session, item, type, score)
data <- as.data.frame(data)

data$participant <- factor(data$participant)
data$session <- factor(data$session)
data$item <- factor(data$item)
data$type <- factor(data$type)

m <- lmer(score ~ type * session + (1 + type | participant / session) + 
                  (1 | item / session), data = data)
1个回答

首先,请注意,上面的模拟数据会产生奇异的模型拟合,因为任何随机因素之间的响应都没有变化。这可以通过简单的修改来克服:

library(lme4)

set.seed(15)
participant <- rep(1:40, each = 30)
session <- rep(rep(1:3, each = 10), times = 40)
item <- rep(1:10, times = 120)
type <- rep(1:2, times = 600)
# score <- rnorm(1200)                        ##### This line removed
score <- participant + item + rnorm(1200)     ##### This line added

data <- cbind(participant, session, item, type, score)
data <- as.data.frame(data)

data$participant <- factor(data$participant)
data$session <- factor(data$session)
data$item <- factor(data$item)
data$type <- factor(data$type)

m <- lmer(score ~ type * session + (1 + type | participant / session) + 
              (1 | item / session), data = data)

其次,现在注意m上面的模型不收敛。这是因为固定效应session也作为随机分组因子包含在内,没有任何意义。一个更明智的选择是:

m0 <- lmer(score ~ type * session + (1 | participant) + (1 | item), data = data)

鉴于数据是简单的随机抽取,我还删除了随机斜率/系数,typeparticipant也没有任何意义——也就是说,每个score和都没有系统关联typeparticipant

> summary(m0)
Linear mixed model fit by REML ['lmerMod']
Formula: score ~ type * session + (1 | participant) + (1 | item)
   Data: data

REML criterion at convergence: 3828.3

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.2095 -0.6430  0.0437  0.6908  3.1569 

Random effects:
 Groups      Name        Variance Std.Dev.
 participant (Intercept) 136.623  11.689  
 item        (Intercept)   9.856   3.139  
 Residual                  1.024   1.012  
Number of obs: 1200, groups:  participant, 40; item, 10

Fixed effects:
                Estimate Std. Error t value
(Intercept)    25.557744   2.322048  11.007
type2           0.988240   1.988126   0.497
session2       -0.025759   0.101185  -0.255
session3       -0.042207   0.101185  -0.417
type2:session2 -0.028411   0.143098  -0.199
type2:session3 -0.002558   0.143098  -0.018

Correlation of Fixed Effects:
            (Intr) type2  sessn2 sessn3 typ2:2
type2       -0.428                            
session2    -0.022  0.025                     
session3    -0.022  0.025  0.500              
type2:sssn2  0.015 -0.036 -0.707 -0.354       
type2:sssn3  0.015 -0.036 -0.354 -0.707  0.500

该模型估计刺激类型、会话数及其交互的固定效应,同时根据要求控制 和 的交叉随机participant效应item

type如果数据支持这种结构(模拟数据不支持)并且数据生成过程的基本理论表明了这些,session则可能包括 的随机斜率及其相互作用。从最大随机效应结构开始通常不是一个好主意。