对比度编码方案似乎会影响LME模型是否会收敛,但为什么呢?

时间:2016-01-21 16:33:28

标签: r lme4

我不确定是否应该在此处或CrossValidated发布此问题,如果您认为它不属于此,请告诉我们。

我最近使用因子版本(A,B)和单词类型(IC,SC)进行了2x2实验。我使用lme4软件包(版本1.1-7)分析了我的数据,并在Excel中手工编写了我的分类预测器(仅仅因为我发现更容易,没有反对R)。我目前正在准备一个更大的5x2实验的预注册(有5个版本而不是2个版本)。对于这个实验的分析,对版本使用虚拟编码会更有意义,因为有一个" basic"我希望将其他4个版本与基本版本进行比较。

由于我发现很难绕过使用一种编码方案而不是使用另一种编码方案的后果,我想看看使用虚拟编码而不是偏差编码会影响任何主要(或交互)效果的重要性,我的意思是通过删除与某个因子相关的所有预测变量(例如,所有4个编码版本的预测变量)得到的主效应,并将此模型与完整模型进行比较,以获得该模型的主效应的显着性值。因子(并且类似于交互,因为将有4个预测器来编码交互)。

所以我尝试在我的2x2实验中使用虚拟编码。然而,尽管具有偏差编码预测器的LME模型没有任何问题地收敛,但具有虚拟编码预测器的LME模型不会收敛。下面是(部分)我的代码。

## coding schemes

#     deviation coding    dummy coding
# A:  -0.5                1
# B:  +0.5                0
# IC: -0.5                1
# SC: +0.5                0

该模型使用偏差编码来预测逆变换的RT。它收敛并且看起来很好。为了以防万一,我已经包含了该模型的摘要。

> RT.dev<-lmer(invRT ~ 1 + type.dev * version.dev
         + (1 + type.dev|QualtricsID) 
         + (1 + version.dev|item), 
         data = ICandSConly, REML = FALSE)
> summary(RT.dev)
Linear mixed model fit by maximum likelihood  
    t-tests use  Satterthwaite approximations to degrees of freedom 
    ['merModLmerTest']
Formula: invRT ~ 1 + type.dev * version.dev + (1 + type.dev | QualtricsID)
    + (1 + version.dev | item)
Data: ICandSConly

     AIC      BIC   logLik deviance df.resid 
     9.1     69.9      6.5    -12.9     1847 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.8402 -0.6158  0.0832  0.6524  3.3694 

Random effects:
 Groups      Name         Variance  Std.Dev. Corr 
 item        (Intercept)  0.0041857 0.06470       
             version.code 0.0006977 0.02641  0.73 
 QualtricsID (Intercept)  0.0068272 0.08263       
             type.code    0.0016339 0.04042  -0.13
 Residual                 0.0535732 0.23146       
Number of obs: 1858, groups:  item, 112; QualtricsID, 18

Fixed effects:
                      Estimate Std. Error       df t value Pr(>|t|)    
(Intercept)            1.52845    0.02123 21.33000  71.992  < 2e-16 ***
type.dev              -0.03339    0.01894 40.22000  -1.763 0.085503 .  
version.dev            0.22991    0.04073 18.13000   5.644 2.29e-05 ***
type.dev:version.dev  -0.12246    0.02932 17.43000  -4.176 0.000604 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
                       (Intr) typ.dv vrsn.d
type.dev               -0.058              
version.dev             0.118 -0.005       
type.dev:version.dev   -0.006  0.158 -0.079

然后这个模型使用虚拟编码,但没有收敛并给我两条警告信息。

> RT.dum<-lmer(invRT ~ 1 + type.dum * version.dum
             + (1 + type.dum|QualtricsID) 
             + (1 + version.dum|item), 
             data = ICandSConly, REML = FALSE)
Warning messages:
  1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
    unable to evaluate scaled gradient
  2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
    Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
> summary(RT.inv.dummy)
Model is not identifiable...
summary from lme4 is returned
some computational error has occurred in lmerTest
Linear mixed model fit by maximum likelihood  ['merModLmerTest']
Formula: invRT ~ 1 + type.dummy + version.dummy + interaction.dummy +
    (1 + type.dummy | QualtricsID) + (1 + version.dummy | item)
Data: ICandSConly

     AIC      BIC   logLik deviance df.resid 
    44.8    105.6    -11.4     22.8     1847 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.7637 -0.6233  0.0926  0.6728  3.4959 

Random effects:
 Groups      Name          Variance Std.Dev. Corr 
 item        (Intercept)   0.000000 0.00000       
             version.dummy 0.002630 0.05129   NaN 
 QualtricsID (Intercept)   0.006796 0.08244       
             type.dummy    0.001469 0.03832  -0.11
 Residual                  0.056314 0.23731       
Number of obs: 1858, groups:  item, 112; QualtricsID, 18

Fixed effects:
                  Estimate Std. Error t value
(Intercept)        1.59932    0.03140   50.93
type.dummy         0.09270    0.02127    4.36
version.dummy     -0.17037    0.04269   -3.99
interaction.dummy -0.12132    0.03026   -4.01

Correlation of Fixed Effects:
            (Intr) typ.dm vrsn.d
type.dummy  -0.271              
versin.dmmy -0.736  0.199       
intrctn.dmm  0.191 -0.703 -0.289
convergence code: 0
unable to evaluate scaled gradient
Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

我认为使用不同的编码方案并不重要,所以这让我很困惑。任何人都可以向我解释为什么使用虚拟编码预测变量的模型不会收敛?我已经尝试过谷歌搜索和搜索SO,但到目前为止我还没有找到影响模型是否会收敛的编码风格。非常感谢大家!

伊娃

0 个答案:

没有答案