Vérification des hypothèses des modèles mixtes lmer / lme dans R

25

J'ai exécuté une conception répétée selon laquelle j'ai testé 30 hommes et 30 femmes à travers trois tâches différentes. Je veux comprendre en quoi le comportement des hommes et des femmes est différent et comment cela dépend de la tâche. J'ai utilisé à la fois le package lmer et lme4 pour enquêter sur cela, cependant, je suis coincé à essayer de vérifier les hypothèses pour l'une ou l'autre méthode. Le code que je lance est

lm.full <- lmer(behaviour ~ task*sex + (1|ID/task), REML=FALSE, data=dat)
lm.full2 <-lme(behaviour ~ task*sex, random = ~ 1|ID/task, method="ML", data=dat)

J'ai vérifié si l'interaction était le meilleur modèle en le comparant avec le modèle plus simple sans l'interaction et en exécutant une anova:

lm.base1 <- lmer(behaviour ~ task+sex+(1|ID/task), REML=FALSE, data=dat)
lm.base2 <- lme(behaviour ~ task+sex, random= ~1|ID/task), method="ML", data=dat)
anova(lm.base1, lm.full)
anova(lm.base2, lm.full2)

Q1: Est-il acceptable d'utiliser ces prédicteurs catégoriels dans un modèle mixte linéaire?
Q2: Dois-je comprendre correctement que la variable de résultat ("comportement") n'a pas besoin d'être distribuée normalement elle-même (par sexe / tâches)?
Q3: Comment puis-je vérifier l'homogénéité de la variance? Pour un modèle linéaire simple que j'utilise plot(LM$fitted.values,rstandard(LM)). L'usage est-il plot(reside(lm.base1))suffisant?
Q4: Pour vérifier la normalité, utilisez le code suivant, ok?

hist((resid(lm.base1) - mean(resid(lm.base1))) / sd(resid(lm.base1)), freq = FALSE); curve(dnorm, add = TRUE)
crazjo
la source
Une chose que j'ai remarquée est également que la version de lme4 que j'utilisais n'était pas la plus récente et que le simple complot (myModel.lm) n'a pas fonctionné, peut-être que cela est utile pour les autres lecteurs.
Crazjo

Réponses:

26

Q1: Oui - comme tout modèle de régression.

Q2: Tout comme les modèles linéaires généraux, votre variable de résultat n'a pas besoin d'être normalement distribuée en tant que variable univariée. Cependant, les modèles LME supposent que les résidus du modèle sont normalement distribués. Ainsi, une transformation ou l'ajout de poids au modèle serait un moyen de prendre soin de cela (et de vérifier avec des parcelles de diagnostic, bien sûr).

Q3: plot(myModel.lme)

Q4: qqnorm(myModel.lme, ~ranef(., level=2)). Ce code vous permettra de faire des tracés QQ pour chaque niveau des effets aléatoires. Les modèles LME supposent que non seulement les résidus intra-grappes sont normalement distribués, mais que chaque niveau des effets aléatoires l'est également. Faites varier les valeurs levelde 0, 1 à 2 afin de pouvoir vérifier les résidus de rat, de tâche et intra-sujet.

EDIT: Je dois également ajouter que si la normalité est supposée et que la transformation aide probablement à réduire les problèmes avec des erreurs / effets aléatoires non normaux, il n'est pas clair que tous les problèmes sont réellement résolus ou qu'aucun biais n'est introduit. Si vos données nécessitent une transformation, soyez prudent quant à l'estimation des effets aléatoires. Voici un document traitant de cela .

élan
la source
Merci pour votre réponse. Je voudrais partager mon jeu de données et mon script pour l'analyse, y compris la sortie, pour voir si ce que j'ai fait est bien correct. Est-il possible en échange de pile? De plus, je pense que j'ai utilisé le mauvais facteur aléatoire (1 | rat / tâche), ne devrait-il pas simplement être (1 | rat)? J'ai testé 60 rats (30 de chaque sexe) sur trois tâches.
crazjo
9
J'ai essayé le code pour Q4 récemment et j'ai eu une erreur sur un objet de type 'S4' non sous-réglable. Ce code était-il destiné aux modèles compatibles avec le package lme? Et avec lme4?
emudrak
En ce qui concerne le quatrième trimestre, les personnes réalisant ces parcelles doivent garder à l'esprit que le N pour chacune des parcelles produites sera sensiblement plus petit que le total et donc les parcelles seront beaucoup plus variables. Ne vous attendez pas à ce qu'ils aient l'air aussi uniformément distribués que l'ensemble.
John
14

Vous semblez assez trompeur sur les hypothèses entourant les modèles à plusieurs niveaux. Il n'y a pas d'hypothèse d'homogénéité de variance dans les données, juste que les résidus doivent être distribués approximativement normalement. Et les prédicteurs catégoriques sont utilisés dans la régression tout le temps (la fonction sous-jacente dans R qui exécute une ANOVA est la commande de régression linéaire).

Pour plus de détails sur l'examen des hypothèses, consultez le livre Pinheiro et Bates (p. 174, section 4.3.1). De plus, si vous prévoyez d'utiliser lme4 (dans lequel le livre n'est pas écrit), vous pouvez répliquer leurs tracés en utilisant plot avec un lmermodèle ( ?plot.merMod).

Pour vérifier rapidement la normalité, ce serait juste qqnorm(resid(myModel)).

John
la source
Merci pour votre commentaire. Suggérez-vous d'utiliser le lmer sur la méthode lme4? Et ai-je raison de comprendre que la variable de réponse n'a pas besoin d'être distribuée normalement? J'aurai une bonne lecture du livre de Pinheiro et Bates.
crazjo
De plus, êtes-vous sûr que l'exécution de qqnorm (resid (myModel)) sur un modèle mixte avec plusieurs facteurs fonctionne?
crazjo
La nouvelle fonction lmer a plus de capacités et de meilleures performances. Avez-vous essayé qqnorm? Suivez les conseils au début du livre sur la façon de le lire.
John
L'intrigue que j'avais initialement eu l'air étrange, peut-être parce que je n'avais en effet pas la dernière version de lmer. Merci de noter cela, cela fonctionne maintenant selon les besoins.
crazjo
12

Concernant Q2:

Selon le livre de Pinheiro et Bates, vous pouvez utiliser l'approche suivante:

"La lmefonction permet de modéliser l'hétéroscasticité du groupe intra-erreur via un weightsargument. Ce sujet sera traité en détail au § 5.2, mais, pour l'instant, il suffit de savoir que la varIdentstructure de la fonction de variance permet des variances différentes pour chaque niveau de un facteur et peut être utilisé pour s'adapter au modèle hétéroscédastique [...] "

Pinheiro et Bates, p. 177

Si vous souhaitez vérifier des écarts égaux entre sexvous pouvez utiliser cette approche:

plot( lm.base2, resid(., type = "p") ~ fitted(.) | sex,
  id = 0.05, adj = -0.3 )

Si les écarts sont différents, vous pouvez mettre à jour votre modèle de la manière suivante:

lm.base2u <- update( lm.base2, weights = varIdent(form = ~ 1 | sex) )
summary(lm.base2u)

De plus, vous pouvez jeter un œil à l' robustlmmemballage qui utilise également une approche de pesée. La thèse de Koller sur ce concept est disponible en libre accès ("Robust Estimation of Linear Mixed Models"). Le résumé déclare:

"Une nouvelle estimation d'échelle, l'estimation de l'échelle adaptative de conception, est développée dans le but de fournir une base solide pour les tests robustes ultérieurs. Elle le fait en égalisant l'hétéroscédasticité naturelle des résidus et en ajustant l'équation d'estimation robuste pour l'échelle elle-même. Ces corrections adaptatives de la conception sont cruciales dans les petits échantillons, où le nombre d'observations peut être seulement cinq fois le nombre de paramètres à estimer ou moins. "



Je n'ai pas assez de points pour les commentaires. Je vois cependant la nécessité de clarifier un aspect de la réponse de @John ci-dessus. Pinheiro et Bates déclarent à la p. 174:

Hypothèse 1 - les erreurs intra-groupe sont indépendantes et identiquement normalement distribuées, avec un zéro moyen et une variance σ2, et elles sont indépendantes des effets aléatoires.

Cette affirmation n'est en effet pas claire sur les variances homogènes et je ne suis pas assez en profondeur dans les statistiques pour connaître tous les mathématiques derrière le concept LME. Cependant, à la p. 175, §4.3.1, la section traitant de l' hypothèse 1, ils écrivent:

Dans cette section, nous nous concentrons sur les méthodes permettant d'évaluer l'hypothèse selon laquelle les erreurs intra-groupe sont normalement distribuées, centrées sur zéro et ont une variance constante .

De plus, dans les exemples suivants, les " variances constantes " sont en effet importantes. Ainsi, on peut spéculer s'ils impliquent des variances homogènes lorsqu'ils écrivent " identiquement normalement distribués" sur p. 174 sans y répondre plus directement.

ToJo
la source
-6

Q1: Oui, pourquoi pas?

Q2: Je pense que l'exigence est que les erreurs soient normalement distribuées.

Q3: Peut être testé avec le test de Leven par exemple.

user12719
la source