Aide-mémoire de lmer de R

160

Il y a beaucoup de discussions sur ce forum sur la bonne façon de spécifier divers modèles hiérarchiques en utilisant lmer.

J'ai pensé que ce serait génial d'avoir toutes les informations au même endroit. Quelques questions pour commencer:

  1. Comment spécifier plusieurs niveaux, où un groupe est imbriqué dans l'autre: est-ce (1|group1:group2)ou (1+group1|group2)?
  2. Quelle est la différence entre (~1 + ....)et (1 | ...)et (0 | ...)etc.?
  3. Comment spécifier des interactions au niveau du groupe?
amibe
la source
11
Le manuel et les trois vignettes du lme4paquet sont disponibles sur CRAN
Henry
4
Il existe, en plus du matériel du CRAN, des diapositives de conférences et des chapitres préliminaires d'un livre que Doug écrit sur (G) LMM et R avec lme4 disponible auprès de r-forge
Gavin Simpson le
Lien direct vers la version arXiv du document JSS de Bates et al: Adaptation de modèles à effets mixtes linéaires à l'aide de lme4 (en particulier la section 2.2 "Compréhension des formules de modèles mixtes"). Voir également la section correspondante de la FAQ de Ben Bolker.
amibe
5
On peut soutenir que le langage utilisé lmerprésente un intérêt statistique général et n’est donc pas uniquement une question de programmation. Je vote donc pour garder ce fil ouvert.
whuber
2
@whuber +1 Tout à fait d'accord.
amibe

Réponses:

180

Quelle est la différence entre (~ 1 + ....) et (1 | ...) et (0 | ...) etc.?

Supposons que la variable V1 prédite par la variable catégorielle V2, traitée comme un effet aléatoire, et la variable continue V3, traitée comme un effet fixe linéaire. En utilisant la syntaxe lmer, le modèle le plus simple (M1) est:

V1 ~ (1|V2) + V3

Ce modèle estimera:

P1: une interception globale

P2: interceptions aléatoires pour V2 (c'est-à-dire que pour chaque niveau de V2, l'écart de l'interception de ce niveau par rapport à l'interception globale)

P3: Une seule estimation globale de l'effet (pente) de V3

Le modèle suivant le plus complexe (M2) est:

V1 ~ (1|V2) + V3 + (0+V3|V2)

Ce modèle estime tous les paramètres à partir de M1, mais estimera en outre:

P4: L'effet de V3 à chaque niveau de V2 (plus précisément, le degré de déviation de l'effet V3 à un niveau donné par rapport à l'effet global de V3), tout en appliquant une corrélation nulle entre les écarts d'interception et les écarts d'effet V3 à travers les niveaux de V2 .

Cette dernière restriction est assouplie dans un modèle final le plus complexe (M3):

V1 ~ (1+V3|V2) + V3

Dans lequel tous les paramètres de M2 ​​sont estimés tout en permettant une corrélation entre les déviations d'interception et les déviations d'effet V3 dans les niveaux de V2. Ainsi, dans M3, un paramètre supplémentaire est estimé:

P5: La corrélation entre les écarts d'interception et les écarts de V3 à travers les niveaux de V2

Habituellement, les paires de modèles comme M2 et M3 sont calculées puis comparées pour évaluer les corrélations existant entre les effets fixes (y compris l'interception globale).

Envisagez maintenant d'ajouter un autre prédicteur à effet fixe, V4. Le modèle:

V1 ~ (1+V3*V4|V2) + V3*V4

estimerait:

P1: une interception globale

P2: Une estimation globale unique pour l'effet de V3

P3: Une estimation globale unique pour l'effet de V4

P4: Une estimation globale unique pour l'interaction entre V3 et V4

P5: Déviations de l'interception de P1 à chaque niveau de V2

P6: Déviations de l’effet V3 par rapport à P2 dans chaque niveau de V2

P7: Déviations de l'effet V4 par rapport à P3 à chaque niveau de V2

P8: Déviations de l'interaction V3 par V4 de P4 à chaque niveau de V2

Corrélation P9 entre P5 et P6 à travers les niveaux de V2

Corrélation P10 entre P5 et P7 entre les niveaux de V2

P11 Corrélation entre P5 et P8 à travers les niveaux de V2

Corrélation P12 entre P6 et P7 entre les niveaux de V2

P13 Corrélation entre P6 et P8 à travers les niveaux de V2

Corrélation P14 entre P7 et P8 à travers les niveaux de V2

Ouf , ça fait beaucoup de paramètres! Et je n'ai même pas pris la peine d'énumérer les paramètres de variance estimés par le modèle. De plus, si vous souhaitez modéliser une variable catégorielle avec plus de 2 niveaux en tant qu'effet fixe, au lieu d'un effet unique pour cette variable, vous estimerez toujours k-1 effets (où k est le nombre de niveaux). , ce qui fait exploser encore plus le nombre de paramètres à estimer par le modèle.

Mike Lawrence
la source
1
@ Mike Lawrence Merci pour la réponse! comment un modèle à 3 niveaux est-il estimé alors? où un facteur de groupe est imbriqué dans un autre?
DBR, je ne pense pas que vous sachiez quels sont les niveaux. Vous avez demandé à ce sujet pour toujours. Craft une question qui détaille réellement la conception de votre expérience et démontre votre interprétation de "niveau".
Jean
3
Je pense que DBR fait référence à des niveaux dans la hiérarchie. Ce que j’ai décrit est un modèle hiérarchique à 2 niveaux, avec des observations imbriquées dans des sujets. DBR pose une question sur les hiérarchies à 3 niveaux, un exemple pouvant être des éléments de test au sein d’élèves dans des écoles où vous souhaitez modéliser des élèves et des écoles de manière aléatoire. effets, avec des étudiants imbriqués dans les écoles. Dans de tels cas, je suppose que les écarts de niveau scolaire sont d'abord calculés, puis les écarts entre élèves et élèves.
Mike Lawrence
2
Meilleure réponse que j'ai vue pour obtenir la configuration des modèles. M'a aidé à fournir à mon patron un cadre simple pour comprendre ce que je fais dans R avec lmer.
bfoste01
Disons que j'ai une variable indépendante (X) au niveau individuel et une variable indépendante (Z) au niveau du groupe. Les deux sont des variables continues. Si le modèle est , où l' indice désigne e personne et représente e groupe. ensuite, en utilisant syntex le modèle sera-t-il , où se trouve une autre variable dans le bloc de données pour indiquer le groupe auquel appartient l'individu? i i j j
Yij=γ00+γ10Xij+γ01Zj+γ11XijZj+u1jXij+u0j+eij
iijjlmerY~X+Z+(1|group)+(0+X|Z)group
ABC
50

L'astuce générale est, comme mentionné dans une autre réponse , que la formule suit le formulaire dependent ~ independent | grouping. Il groupings’agit généralement d’un facteur aléatoire. Vous pouvez inclure des facteurs fixes sans regroupement et vous pouvez disposer de facteurs aléatoires supplémentaires sans facteur fixe (modèle à interception uniquement). Un +entre les facteurs indique aucune interaction, un *indique une interaction.

Pour les facteurs aléatoires, vous avez trois variantes de base:

  1. Intercepte uniquement par facteur aléatoire: (1 | random.factor)
  2. Pentes uniquement par facteur aléatoire: (0 + fixed.factor | random.factor)
  3. Interceptions et pentes par facteur aléatoire: (1 + fixed.factor | random.factor)

Notez que la variante 3 a la pente et l'ordonnée à l'origine calculées dans le même groupe, c'est-à-dire au même moment. Si nous voulons que la pente et l'interception soient calculées indépendamment, c'est-à-dire sans corrélation supposée entre les deux, nous avons besoin d'une quatrième variante:

  • Et les pentes, séparément, par le facteur aléatoire: (1 | random.factor) + (0 + fixed.factor | random.factor). Une autre façon d'écrire cela consiste à utiliser la notation à double barre fixed.factor + (fixed.factor || random.factor).

Il existe également un bon résumé dans une autre réponse à cette question que vous devriez examiner.

Si vous êtes prêt à approfondir un peu les calculs, Barr et al. (2013) résument lmerassez bien la syntaxe dans leur tableau 1, adapté ici pour répondre aux contraintes du démarquage sans tableau. Ce document traitait des données psycholinguistiques, donc les deux effets aléatoires sont Subjectet Item.

Modèles et lme4syntaxe de formule équivalente :

    • Ysi=β0+β1Xi+esi
    • N / A (pas un modèle à effets mélangés)
    • Ysi=β0+S0s+β1Xi+esi
    • Y ∼ X+(1∣Subject)
    • Ysi=β0+S0s+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)
    • Ysi=β0+S0s+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)+(1∣Item)
    • Ysi=β0+S0s+I0i+β1Xi+esi
    • Y ∼ X+(1∣Subject)+(1∣Item)
    • Comme (4), mais , indépendant S0sS1s
    • Y ∼ X+(1∣Subject)+(0 + X∣ Subject)+(1∣Item)
    • Ysi=β0+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(0 + X∣Subject)+(1∣Item)

Références:

Barr, Dale J, R. Levy, C. Scheepers et HJ Tily (2013). Structure des effets aléatoires pour le test d'hypothèse de confirmation: le maintenir maximal . Journal de la mémoire et du langage, 68: 255– 278.

Livius
la source
4
Agréable. Cela pourrait être mieux avec des informations sur les facteurs '/' imbriqués et la notation à double barres '||'
Skan
1
Qu'en est-il du symbole?
eastafri
1
@eastafri Cela signifie que la même chose est faite partout dans R (formules) - l'interaction entre deux variables.
Livius
Dans (6), ma compréhension est que et n'ont aucune corrélation entre eux. En d'autres termes, en tant que variables aléatoires, leur covariance est . Dire que et sont indépendants est une déclaration plus forte et, par conséquent, pas nécessairement vraie. Est-ce que je me trompe? S0sS1s0S0sS1s
Muno
4

Le |symbole indique un facteur de regroupement dans les méthodes mixtes.

Selon Pinheiro & Bates:

... La formule désigne également une réponse et, le cas échéant, une covariable principale . Il est donné comme

response ~ primary | grouping

responseest une expression de la réponse, primaryune expression de la covariable principale et groupingune expression du facteur de groupement.

Selon la méthode que vous utilisez pour effectuer l'analyse de méthodes mixtes R, vous devrez peut-être créer un groupedDataobjet pour pouvoir utiliser le regroupement dans l'analyse (voir le nlmepackage pour plus de détails, lme4ne semble pas en avoir besoin). Je ne peux pas parler de la façon dont vous avez spécifié vos lmerdéclarations de modèle car je ne connais pas vos données. Cependant, avoir plusieurs (1|foo)dans la ligne de modèle est inhabituel de ce que j'ai vu. Qu'essayez-vous de modéliser?

Michelle
la source