L'occurrence pas si rare lorsqu'il s'agit de modèles mixtes maximaux complexes (estimation de tous les effets aléatoires possibles pour des données et un modèle donnés) est parfaite (+1 ou -1) ou une corrélation presque parfaite entre certains effets aléatoires. Aux fins de la discussion, observons le modèle et le résumé de modèle suivants
Model: Y ~ X*Cond + (X*Cond|subj)
# 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
Random effects:
Groups Name Variance Std.Dev. Corr
subject (Intercept) 0.85052 0.9222
X 0.08427 0.2903 -1.00
CondB 0.54367 0.7373 -0.37 0.37
X:CondB 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 ***
CondB -0.19707 0.06382 -3.09 0.00202 **
X:CondB 0.22809 0.05356 4.26 2.06e-05 ***
La raison supposée de ces corrélations parfaites est que nous avons créé un modèle trop complexe pour les données dont nous disposons. Le conseil commun qui est donné dans ces situations est (par exemple, Matuschek et al., 2017; papier ) de fixer les coefficients sur-paramétrisés à 0, car de tels modèles dégénérés ont tendance à réduire la puissance. Si nous observons un changement marqué des effets fixes dans un modèle réduit, nous devons l'accepter; s'il n'y a pas de changement, il n'y a aucun problème à accepter l'original.
Supposons cependant que nous ne nous intéressions pas seulement aux effets fixes contrôlés pour les RE (effets aléatoires), mais aussi à la structure des RE. Dans le cas donné, il serait théoriquement judicieux de supposer que Intercept
la pente X
a une corrélation négative non nulle. Plusieurs questions suivent:
Que faire dans de telles situations? Doit-on rapporter la corrélation parfaite et dire que nos données ne sont pas "assez bonnes" pour estimer la "vraie" corrélation? Ou devrions-nous signaler le modèle de corrélation 0? Ou devrions-nous peut-être essayer de mettre une autre corrélation à 0 dans l'espoir que celle "importante" ne sera plus parfaite? Je ne pense pas qu'il y ait de réponses 100% correctes ici, je voudrais surtout entendre vos opinions.
Comment écrire le code qui fixe la corrélation de 2 effets aléatoires spécifiques à 0, sans influencer les corrélations entre les autres paramètres?
blme
, MCMCglmm
, rstanarm
, brms
...)