Notação para modelagem multinível

10

A fórmula que você precisa especificar para treinar um modelo multinível (usando lmerda lme4 Rbiblioteca) sempre me entende. Eu li inúmeros livros e tutoriais, mas nunca entendi direito.

Então, aqui está um exemplo deste tutorial que eu gostaria de ver formulado em uma equação. Estamos tentando modelar a frequência da voz em função do gênero (as mulheres têm voz mais aguda do que os homens em geral) e da atitude da pessoa (respondendo de forma educada ou informal) em diferentes cenários. Além disso, como você pode ver na subjectcoluna, cada pessoa foi submetida a medições várias vezes.

> 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, gendere attitudesão fatores (com informale femaleconsiderados como níveis básicos para attitudee gendernas equações abaixo). Agora, uma idéia é treinar um modelo com interceptações diferentes para cada um subjecte scenario:

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

Se meu entendimento da notação estiver correto, isso corresponderá a:

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

iithj[i]subjectk[i]scenarioithattitudepolgendermale

Para introduzir pistas aleatórias de atitude, podemos escrever:

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

Novamente, se meu entendimento for claro, isso corresponde a:

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

Agora, a que equação o Rcomando a seguir corresponde?

politeness.null = lmer(frequency ~ gender +
 (1+attitude|subject) +  (1+attitude|scenario), data=politeness)
abhinavkulkarni
fonte
11
não é muito sensato; a inclinação média da população com relação à atitude é assumido como sendo zero ...
Ben Bolker
@BenBolker: Ei, você pode escrever em uma equação? Minhas equações anteriores estão corretas? No último modelo, ainda vejo attitudeestar condicionado subjecte scenario.
abhinavkulkarni

Respostas:

12

eu escreveria

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

Como

yiβ0+β1I(attitude=pol)+β2I(gender=male)+b1,j[i]+b2,k[i]+ϵib1N(0,σ12)b2N(0,σ22)ϵN(0,σr2)
βbI
~ attitude + gender + (1+attitude|subject) + (1+attitude|scenario)

acrescenta variação entre-sujeitos em resposta a attitudee scenario(pudemos equivalentemente escrever a parte de efeitos aleatórios como (attitude|subject) + (attitude|scenario), isto é, deixando a interseção implícita, esta é uma questão de gosto). Agora

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)
Σ1Σ2
Σ1=(σ12σ13σ13σ32)
Σ2

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

attitudeβ1=0attitude

Ben Bolker
fonte