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:
- Comment spécifier plusieurs niveaux, où un groupe est imbriqué dans l'autre: est-ce
(1|group1:group2)
ou(1+group1|group2)
? - Quelle est la différence entre
(~1 + ....)
et(1 | ...)
et(0 | ...)
etc.? - Comment spécifier des interactions au niveau du groupe?
lme4
paquet sont disponibles sur CRANlmer
pré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.Réponses:
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:
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:
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):
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:
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.
la source
lmer
Y~X+Z+(1|group)+(0+X|Z)
group
L'astuce générale est, comme mentionné dans une autre réponse , que la formule suit le formulaire
dependent ~ independent | grouping
. Ilgrouping
s’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 | random.factor)
(0 + fixed.factor | random.factor)
(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:
(1 | random.factor) + (0 + fixed.factor | random.factor)
. Une autre façon d'écrire cela consiste à utiliser la notation à double barrefixed.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
lmer
assez 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 sontSubject
etItem
.Modèles et
lme4
syntaxe de formule équivalente :Y ∼ X+(1∣Subject)
Y ∼ X+(1 + X∣Subject)
Y ∼ X+(1 + X∣Subject)+(1∣Item)
Y ∼ X+(1∣Subject)+(1∣Item)
Y ∼ X+(1∣Subject)+(0 + X∣ Subject)+(1∣Item)
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.
la source
Le
|
symbole indique un facteur de regroupement dans les méthodes mixtes.Selon Pinheiro & Bates:
Selon la méthode que vous utilisez pour effectuer l'analyse de méthodes mixtes
R
, vous devrez peut-être créer ungroupedData
objet pour pouvoir utiliser le regroupement dans l'analyse (voir lenlme
package pour plus de détails,lme4
ne semble pas en avoir besoin). Je ne peux pas parler de la façon dont vous avez spécifié voslmer
dé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?la source