Допустим, у нас есть модель
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 и ConditionB. С другой стороны, использование blme
позволяет мне сохранить X: ConditionB и оценить данную корреляцию. Я не вижу причин, по которым мне следует даже использовать небайесовские оценки и удалять случайные эффекты, когда происходят единичные совпадения, когда я могу оценить все с помощью байесовского подхода.
Может ли кто-нибудь объяснить мне преимущества и проблемы, используя любой из этих методов, чтобы справиться с единичными приступами?
Спасибо.