lmer 中被试间因素的自由度错误

Wrong degree of freedom for between-subject factor in lmer

我正在测试视觉视角(1,完全是第一人称 -> 11,完全是第三人称)如何随着文化(AA、EA)、效价(正面、负面)和事件类型(记忆)的变化而变化,想象力)同时控制年龄(连续)、性别(男、女)和社会经济地位(连续)并允许个体差异。

这是一个不平衡的设计,因为我们给参与者 10 个提示,但参与者可以选择回忆或想象相关事件。因此,每个参与者可以有多少个记忆(不超过10个)和多少个想象(不超过10个)。我们总共有 363 名参与者。

我的数据集如下所示:

我拟合的模型看起来像

VP.full.lm <- lmer(Visual.Perspective ~ Culture * Event.Type * Valence + 
                   Sex + Age + SES +
                   (1|Participant.Number),
                 data=VP_Long)

当我运行anova()函数查看所有变量的效果时,这里是输出:

Type III Analysis of Variance Table with Satterthwaite's method
                            Sum Sq Mean Sq NumDF  DenDF  F value    Pr(>F)    
Culture                      30.73   30.73     1  859.1   4.9732 0.0260008 *  
Valence                       6.38    6.38     1 3360.3   1.0322 0.3097185    
Event.Type                 1088.61 1088.61     1 3385.9 176.1759 < 2.2e-16 ***
Sex                          45.12   45.12     1  358.1   7.3014 0.0072181 ** 
Age                           7.95    7.95     1  358.1   1.2869 0.2573719    
SES                           6.06    6.06     1  358.7   0.9807 0.3226824    
Culture:Valence               6.39    6.39     1 3364.6   1.0348 0.3091004    
Culture:Event.Type           71.53   71.53     1 3389.7  11.5766 0.0006756 ***
Valence:Event.Type            2.89    2.89     1 3385.4   0.4682 0.4938573    
Culture:Valence:Event.Type    3.47    3.47     1 3390.6   0.5617 0.4536399    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

如您所见,文化影响的 DF 已关闭 -- 由于文化是主体间因素,因此其 DF 不能大于我们的样本量。我已经尝试使用 ddf = Roger-Kenward 并使用 emmeans::test(contrast(emmeans(VP.full.lm,c("Culture")), "trt.vs.ctrl"), joint = T) 测试了文化的效果,但是 none 这些方法解决了自由度问题。

我还想到,也许那些没有同时提供记忆和想象的参与者混淆了 lmer 模型,所以我将我的数据子集化为只包括提供两种类型事件的参与者。然而,自由度问题仍然存在。还值得一提的是,一旦我去除了 Culture 和 Event.Type 之间的交互,自由度就变得合理了。

我想知道是否有人知道这里发生了什么,我们该如何解决这个问题?或者我们有什么办法可以解释这个奇怪的问题...?

提前致谢!

这个问题可能更适合 CrossValidated ...

不是一个完整的解决方案,但有一些想法:

  • 从实用的角度来看,363(甚至 350)分母 df 和 859 ddf 之间的差异非常小:基于 4.9732 的 F 统计量的手动 p 值计算得出 pf(4.9732,1,350,lower.tail=FALSE) =0.0264,与您的值 0.260 几乎没有区别。
  • 由于您正在拟合一个简单模型(LMM 而不是 GLMM,只有一个简单的随机效应等),您可以在 lme 中重新拟合您的模型(来自 nlme package): 它使用更简单的 df 计算,在这种情况下可能会给你 'right' 答案。或者,您可以从 here 获取代码,该代码实现了 lme.
  • 算法的(稍微扩展的)版本
  • 因为你在做 III 型方差分析,你应该非常小心模型中的 parameterization/contrasts:如果你没有使用居中(总和为零)对比,你的结果可能不是你想的那样(afex::mixed() 函数会做一些检查以确保这是真的)。可以想象(虽然我对此表示怀疑)对比也会抛出你的 ddf 计算。
  • 不清楚你是如何衡量的"visual perspective",但如果它是评级量表,你可能最好使用有序响应模型...