处理混合模型中的奇异拟合


16

假设我们有一个模型

mod <- Y ~ X*Condition + (X*Condition|subject)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

在这里我们观察到奇异拟合,因为拦截和x随机效应之间的相关性是-1。现在,根据此有用的链接,处理此模型的一种方法是删除高阶随机效应(例如X:ConditionB),并查看在测试奇异性时是否有所不同。另一种是使用贝叶斯方法,例如使用blme包以避免奇异性。

什么是首选方法,为什么?

我之所以这样问是因为使用第一个或第二个会导致不同的结果-在第一种情况下,我将删除X:ConditionB随机效应,并且无法估计X和X:ConditionB随机效应之间的相关性。另一方面,使用blme允许我保留X:ConditionB并估计给定的相关性。当我可以用贝叶斯方法估计所有事物时,我认为没有理由为什么我甚至应该使用非贝叶斯估计并消除出现奇异拟合时的随机效应。

有人可以使用这两种方法处理奇异拟合时给我解释的好处和问题吗?

谢谢。


您担心corr = -1吗?它是随机效应之间的相关性。
user158565 '18

因此,每个主题给您两次Y的测量,一个在条件A下进行,另一个在B条件下进行?如果是这样,您还可以告诉我们连续变量X的值是否在条件A和B之间对于任何给定的主题发生变化?
Isabella Ghement

为什么将Condition放在随机效果中?您是否测试了是否需要?
Dimitris Rizopoulos

@ user158565是的,但它表明存在阴险……
User33268 '18

@IsabellaGhement确实。是的,确实如此,对于任何给定的主题,A和B之间的x都会发生变化。此外,有理论上的理由认为,每个主题的X上Y的回归都是不同的
User33268 '18

Answers:


21

当您获得奇异拟合时,这通常表明模型过度拟合-也就是说,随机效应结构太复杂而无法由数据支持,这自然导致建议删除随机效应中最复杂的部分结构(通常是随机斜率)。这种方法的好处在于,它导致了一个更简约的模型,但并不太适合。

但是,做任何事情之前,你有一个很好的理由为希望XCondition和他们互动,所有科目摆在首位改变?数据如何生成的理论是否暗示了这一点?

如果您希望使用最大随机效应结构来拟合模型并lme4获得奇异拟合,那么在贝叶斯框架中拟合相同的模型可能会很好地通过检查迹线图以及各种参数估计的收敛程度来告知您为什么 lme4会有问题。采用贝叶斯方法的优点是,这样做可能会发现原始模型(即)的问题。数据不支持最大随机效应结构的原因),或者它可能揭示为什么lme4无法拟合模型。我曾经遇到过这样的情况,除非使用了先验的先验知识,否则贝叶斯模型无法很好地收敛-可能会或可能不会。

简而言之,两种方法都有其优点。

但是,我总是从这样的地方开始:初始模型是简约的,并通过专家领域的知识来确定最合适的随机效应结构。指定分组变量是比较容易的,但随机斜坡通常不会被包括在内。仅当它们具有合理的理论意义并且受到数据支持时,才包括它们。

编辑:在评论中提到,有合理的理论理由适合最大随机效应结构。因此,一个相对简单的方式继续进行等效贝叶斯模型是将呼叫交换到glmerstan_glmerrstanarm包-它被设计成即插即用。它具有默认优先级,因此您可以快速安装模型。该软件包还提供了许多评估收敛性的工具。如果发现所有参数都收敛到合理值,那么一切都很好。但是,可能存在许多问题,例如,方差估计为零或低于零,或者估计仍在继续漂移。mc-stan.org网站具有大量信息和用户论坛。


1
是的,我有充分的理论理由来假设,对于条件A和B,Y在X上的回归应该因主体而异。回归表明处理方式。您能否给我更多有关如何将轨迹图解释为奇异原因的诊断工具的信息?
User33268 '18

11

这是一个非常有趣的主题,带有有趣的答案和评论!由于尚未提出,因此我想指出,每个主题的数据很少(据我了解)。实际上,每个受试者对于每个响应变量Y都只有两个值,即类别变量Condition和连续变量X。特别地,我们知道Condition的两个值分别是A和B。

如果我们要采用两阶段回归建模而不是混合效应建模,那么我们甚至无法将线性回归模型拟合到特定主题的数据,如以下玩具示例中针对一个主题的说明所示:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

此特定主题模型的输出为:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

请注意,模型拟合存在奇点,因为我们试图仅使用2个观测值来估计4个回归系数和误差标准偏差。

即使我们在每种情况下两次(而不是一次)观察到此主题,奇异性也会持续存在。但是,如果我们在每种条件下观察对象3次,我们将摆脱奇点:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

这是第二个示例的相应R输出,奇异点已从中消失:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

当然,混合效果模型并不适合于每个受试者无关的,单独的线性回归模型-它适合于“相关”模型,其截距和/或斜率围绕典型的截距和/或斜率随机偏离,因此与典型的截距和/或典型的斜率遵循正态分布,均值为零,并且存在一些未知的标准偏差。

即便如此,我的直觉还是表明,对于每个对象而言,只有少数观察结果(只有2个)可以使用混合效果模型。模型加载的随机斜率越多,它可能遇到的困难就越大。我怀疑,如果每个受试者贡献6个观测值而不是2个观测值(即每个条件3个观测值),它将不再难以适应所有随机斜率。

在我看来,这可能是(?)当前研究设计不支持复杂建模雄心的情况-为了支持这些雄心,在每种情况下对每个主题(或至少对于某些主题需要更多的观察)。主题?)。这只是我的直觉,所以我希望其他人可以将他们的见解添加到上面的观察中。先感谢您!


我必须纠正你-每个参与者在A和B条件下都对X和Y进行30次观察!
User33268 '18

2
哦,您的最初回答中没有指出,所以我无法猜测您实际上对每个主题和条件有多少观察结果。那时还有其他事情。您是否尝试过标准化X变量?这有助于lme适应吗?另外,您是否针对每个主题分别查看了条件= A与条件= B的Y与X(或标准化X)的关系图?这可能会为您提供有关正在发生的事情的其他线索。
Isabella Ghement

我没有对x进行标准化,因为它是反应时间数据,并且对于解释回归系数很重要。但是,数据是集中的。我将研究各个图,并看到...
User33268 '18

2
@ User33268我来晚了一点,但是您仍然可以解释标准化的系数,您只需要存储用于缩放的值,然后在运行模型后进行反向转换。
弗朗斯·罗登堡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.