La formule que l'on doit spécifier pour la formation d'un modèle à plusieurs niveaux (à l'aide lmer
de la lme4
R
bibliothèque) m'obtient toujours. J'ai lu d'innombrables manuels et tutoriels, mais je ne l'ai jamais bien compris.
Voici donc un exemple de ce tutoriel que j'aimerais voir formulé dans une équation. Nous essayons de modéliser la fréquence vocale en fonction du sexe (les femmes ont une voix plus aiguë que les hommes en général) et de l'attitude de la personne (qu'elle ait répondu de manière polie ou informelle) dans différents scénarios. De plus, comme vous pouvez le voir dans la subject
colonne, chaque personne a été soumise à des mesures plusieurs fois.
> head(politeness, n=20)
subject gender scenario attitude frequency
1 F1 F 1 pol 213.3
2 F1 F 1 inf 204.5
3 F1 F 2 pol 285.1
4 F1 F 2 inf 259.7
5 F1 F 3 pol 203.9
6 F1 F 3 inf 286.9
7 F1 F 4 pol 250.8
8 F1 F 4 inf 276.8
9 F1 F 5 pol 231.9
10 F1 F 5 inf 252.4
11 F1 F 6 pol 181.2
12 F1 F 6 inf 230.7
13 F1 F 7 inf 216.5
14 F1 F 7 pol 154.8
15 F3 F 1 pol 229.7
16 F3 F 1 inf 237.3
17 F3 F 2 pol 236.8
18 F3 F 2 inf 251.0
19 F3 F 3 pol 267.0
20 F3 F 3 inf 266.0
subject
, gender
et attitude
sont des facteurs (avec informal
et female
considérés comme des niveaux de base pour attitude
et gender
dans les équations ci-dessous). Maintenant, une idée est de former un modèle avec des interceptions différentes pour chacun subject
et scenario
:
politeness.model=lmer(frequency ~ attitude + gender +
(1|subject) + (1|scenario), data=politeness)
Si ma compréhension de la notation est correcte, cela correspond à:
attitude
gender
où désigne point de données, désigne le niveau de groupe pour et désigne le niveau de groupe pour pour point de données. et sont des indicateurs binaires.subject
scenario
attitude
gender
Pour introduire des pentes aléatoires d'attitude, nous pouvons écrire:
politeness.model = lmer(frequency ~ attitude + gender +
(1+attitude|subject) + (1+attitude|scenario), data=politeness)
Encore une fois, si ma compréhension est claire, cela correspond à:
attitude
gender
Maintenant, à quelle équation la R
commande suivante correspond-elle?
politeness.null = lmer(frequency ~ gender +
(1+attitude|subject) + (1+attitude|scenario), data=politeness)
la source
attitude
être conditionné sursubject
etscenario
.Réponses:
Je souhaiterai écrire
comme
ajoute une variation entre les sujets en réponse à
attitude
etscenario
(nous pourrions écrire de manière équivalente la partie à effets aléatoires comme(attitude|subject) + (attitude|scenario)
, c'est-à-dire laisser l'interception implicite; c'est une question de goût). MaintenantIl peut être utile de regrouper les termes comme suit: afin que vous puissiez voir quels effets aléatoires affectent l'interception et qui affectent la réponse à l'attitude.
Maintenant, si vousβ1=0
attitude
terme à effet fixe (c.-à- , ou supprimez le terme de la formule), vous pouvez voir (sans tout réécrire) que, parce que les effets aléatoires sont supposés avoir une moyenne nulle, nous serons en supposant que la réponse moyenne à l'attitude entre les sujets et les scénarios sera exactement nulle, alors qu'il y a encore des variations entre les sujets et les scénarios. Je ne dirai pas que cela n'a jamais de sens d'un point de vue statistique, mais c'est rarement le cas. Il y a des discussions sur ce problème sur la liste de diffusion [email protected] de temps en temps ... (ou il peut être discuté sur StackExchange quelque part - sinon, cela ferait un bon suivi -up SE question ...)attitude
la source