Digamos que temos um modelo
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 ***
Aqui observamos um ajuste singular, porque a correlação entre efeitos de interceptação e x aleatórios é -1. Agora, de acordo com este link útil, uma maneira de lidar com esse modelo é remover efeitos aleatórios de ordem superior (por exemplo, X: CondiçãoB) e ver se isso faz diferença ao testar a singularidade. O outro é usar a abordagem bayesiana, por exemplo, o blme
pacote para evitar a singularidade.
Qual é o método preferido e por quê?
Estou perguntando isso porque usar o primeiro ou o segundo leva a resultados diferentes - no primeiro caso, removerei o efeito aleatório X: ConditionB e não poderei estimar a correlação entre os efeitos aleatórios X e X: ConditionB. Por outro lado, usar blme
me permite manter X: ConditionB e estimar a correlação fornecida. Não vejo razão para usar as estimativas não bayesianas e remover efeitos aleatórios quando ocorrem ajustes singulares quando posso estimar tudo com a abordagem bayesiana.
Alguém pode me explicar os benefícios e problemas usando qualquer um dos métodos para lidar com ataques singulares?
Obrigado.