Notation pour la modélisation à plusieurs niveaux

10

La formule que l'on doit spécifier pour la formation d'un modèle à plusieurs niveaux (à l'aide lmerde la lme4 Rbibliothè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 subjectcolonne, 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, genderet attitudesont des facteurs (avec informalet femaleconsidérés comme des niveaux de base pour attitudeet genderdans les équations ci-dessous). Maintenant, une idée est de former un modèle avec des interceptions différentes pour chacun subjectet scenario:

politeness.model=lmer(frequency ~ attitude + gender + 
 (1|subject) + (1|scenario), data=politeness)

Si ma compréhension de la notation est correcte, cela correspond à:

yi=aj[i]1+ak[i]2+β attitudepoli+γ gendermalei

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.iithj[i]subjectk[i]scenarioithattitudepolgendermale

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 à:

yi=aj[i]1+ak[i]2+(βj[i]1+βk[i]2) attitudepoli+γ gendermalei

Maintenant, à quelle équation la Rcommande suivante correspond-elle?

politeness.null = lmer(frequency ~ gender +
 (1+attitude|subject) +  (1+attitude|scenario), data=politeness)
abhinavkulkarni
la source
1
pas très sensible; la pente moyenne de la population par rapport à l'attitude est supposée être nulle ...
Ben Bolker
@BenBolker: Hé, pouvez-vous l'écrire sous forme d'équation? Mes équations précédentes sont-elles correctes? Dans le dernier modèle, je vois encore attitudeêtre conditionné sur subjectet scenario.
abhinavkulkarni

Réponses:

12

Je souhaiterai écrire

~ attitude + gender + (1|subject) + (1|scenario)

comme

yiβ0+β1I(attitude=pol)+β2I(gender=male)+b1,j[i]+b2,k[i]+ϵib1N(0,σ12)b2N(0,σ22)ϵN(0,σr2)
où indique un coefficient d'effet fixe, indique une variable aléatoire, est une fonction d'indicateur (c'est essentiellement la même chose que ce que vous avez dit ci-dessus, juste une notation légèrement différente).βbI
~ attitude + gender + (1+attitude|subject) + (1+attitude|scenario)

ajoute une variation entre les sujets en réponse à attitudeet scenario(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). Maintenant

yiβ0+β1I(attitude=pol)+β2I(gender=male)+b1,j[i]+b3,j[i]I(attitude=pol)+b2,k[i]+b4,k[i]I(attitude=pol)+ϵi{b1,b3}MVN(0,Σ1){b2,b4}MVN(0,Σ2)ϵN(0,σr2)
où et sont des matrices de variance-covariance non structurées, c'est-à-dire qu'elles sont symétriques et positives (semi) défini mais sans autre contrainte: et de même pour .Σ1Σ2
Σ1=(σ12σ13σ13σ32)
Σ2

Il 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.

yi(β0+b1,j[i]+b2,k[i])+(β1+b3,j[i]+b4,k[i])I(attitude=pol)+β2I(gender=male)+ϵi

Maintenant, si vousattitude 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 ...)β1=0attitude

Ben Bolker
la source