Sumário executivo
De fato, é comum dizer que, se todos os níveis possíveis de fatores forem incluídos em um modelo misto, esse fator deverá ser tratado como um efeito fixo. Isso não é necessariamente verdade por duas razões distintas:
(1) Se o número de níveis for grande, ele poderá fazer sentido tratar o fator [cruzado] como aleatório.
Concordo com o @Tim e o @RobertLong aqui: se um fator tiver um grande número de níveis, todos incluídos no modelo (como por exemplo, todos os países do mundo; ou todas as escolas de um país; ou talvez toda a população de assuntos são pesquisados etc.), então não há nada de errado em tratá-lo como aleatório - isso poderia ser mais parcimonioso, poderia fornecer algum encolhimento etc.
lmer(size ~ age + subjectID) # fixed effect
lmer(size ~ age + (1|subjectID)) # random effect
(2) Se o fator estiver aninhado dentro de outro efeito aleatório, ele deverá ser tratado como aleatório, independentemente do seu número de níveis.
Houve uma grande confusão nesse tópico (ver comentários) porque outras respostas são sobre o caso 1, mas o exemplo que você deu é um exemplo de uma situação diferente , a saber, o caso 2. Aqui existem apenas dois níveis (ou seja, não "um grande número"!) E eles esgotam todas as possibilidades, mas estão aninhados dentro de outro efeito aleatório , produzindo um efeito aleatório aninhado.
lmer(size ~ age + (1|subject) + (1|subject:side) # side HAS to be random
Discussão detalhada do seu exemplo
Os lados e assuntos em seu experimento imaginário estão relacionados, como aulas e escolas, no exemplo de modelo hierárquico padrão. Talvez cada escola (nº 1, nº 2, nº 3, etc.) possua as classes A e B, e essas duas classes devem ser aproximadamente as mesmas. Você não modelará as classes A e B como um efeito fixo com dois níveis; Isso seria um erro. Mas você não modelará as classes A e B como um efeito aleatório "separado" (isto é, cruzado) com dois níveis também; isso seria um erro também. Em vez disso, você modelará classes como um efeito aleatório aninhado dentro das escolas.
Veja aqui: Efeitos aleatórios cruzados vs aninhados: como eles diferem e como são especificados corretamente no lme4?
Em seu estudo imaginário do tamanho do pé, sujeito e lado são efeitos aleatórios e lado é aninhado dentro do sujeito. Isso significa essencialmente que uma variável combinada é formada, por exemplo, John-Left, John-Right, Mary-Left, Mary-Right, etc., e existem dois efeitos aleatórios cruzados: sujeitos e sujeitos-lados. Então, por assuntoi = 1 ... n e para o lado j = 1 , 2 Nós teríamos:
Tamanhoeu j k= μ + α ⋅ Alturaeu j k+ β⋅ Pesoeu j k+ γ⋅ Idadeeu j k+ ϵEu+ ϵeu j+ ϵeu j k
ϵEu∼ N( 0 , σ2s u b j e c t s) ,Interceptação aleatória para cada sujeito
ϵeu j∼ N( 0 , σ2assunto) ,Random int. para o lado aninhado no sujeito
ϵeu j k∼ N( 0 , σ2ruído) ,Termo de erro
Como você mesmo escreveu, "não há razão para acreditar que o pé direito seja, em média, maior que o pé esquerdo". Portanto, não deve haver efeito "global" (nem fixo nem cruzado aleatoriamente) do pé direito ou esquerdo; em vez disso, pode-se pensar que cada sujeito tem "um" pé e "outro" pé, e essa variabilidade devemos incluir no modelo. Esses pés "um" e "outro" são aninhados dentro dos sujeitos, portanto, efeitos aleatórios aninhados.
Mais detalhes em resposta aos comentários. [26 de setembro]
My model above includes Side as a nested random effect within Subjects. Here is an alternative model, suggested by @Robert, where Side is a fixed effect:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+δ⋅Sidej+ϵi+ϵijk
I challenge @RobertLong or @gung to explain how this model can take care of the dependencies existing for consecutive measurements of the same Side of the same Subject, i.e. of the dependencies for data points with the same ij combination.
It cannot.
The same is true for @gung's hypothetical model with Side as a crossed random effect:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅AgeEujk+ϵi+ϵj+ϵeu j k
Ele também não considera dependências.
Demonstração via simulação [2 de outubro]
Aqui está uma demonstração direta em R.
Gero um conjunto de dados de brinquedo com cinco sujeitos medidos nos dois pés por cinco anos consecutivos. O efeito da idade é linear. Cada sujeito tem uma interceptação aleatória. E cada sujeito tem um dos pés (esquerdo ou direito) maior que outro.
set.seed(17)
demo = data.frame(expand.grid(age = 1:5,
side=c("Left", "Right"),
subject=c("Subject A", "Subject B", "Subject C", "Subject D", "Subject E")))
demo$size = 10 + demo$age + rnorm(nrow(demo))/3
for (s in unique(demo$subject)){
# adding a random intercept for each subject
demo[demo$subject==s,]$size = demo[demo$subject==s,]$size + rnorm(1)*10
# making the two feet of each subject different
for (l in unique(demo$side)){
demo[demo$subject==s & demo$side==l,]$size = demo[demo$subject==s & demo$side==l,]$size + rnorm(1)*7
}
}
plot(1:50, demo$size)
Desculpas pelas minhas terríveis habilidades em R. Aqui está como os dados são exibidos (cada cinco pontos consecutivos é um pé de uma pessoa medida ao longo dos anos; cada dez pontos consecutivos são dois pés da mesma pessoa):
Agora podemos encaixar vários modelos:
require(lme4)
summary(lmer(size ~ age + side + (1|subject), demo))
summary(lmer(size ~ age + (1|side) + (1|subject), demo))
summary(lmer(size ~ age + (1|subject/side), demo))
Todos os modelos incluem um efeito fixo de age
e um efeito aleatório de subject
, mas tratam de maneira side
diferente.
Model 1: fixed effect of side
. This is @Robert's model. Result: age
comes out not significant (t=1.8), residual variance is huge (29.81).
Modelo 2: efeito aleatório cruzado de side
. Este é o modelo "hipotético" de @ gung do OP. Resultado: age
sai não significativo (t = 1,4), a variação residual é enorme (29,81).
Modelo 3: efeito aleatório aninhado de side
. Este é o meu modelo. Resultado: age
é muito significativo (t = 37, sim, trinta e sete), a variação residual é pequena (0,07).
Isso mostra claramente que side
deve ser tratado como um efeito aleatório aninhado.
Por fim, nos comentários, o @Robert sugeriu incluir o efeito global de side
como uma variável de controle. Podemos fazer isso, mantendo o efeito aleatório aninhado:
summary(lmer(size ~ age + side + (1|subject/side), demo))
summary(lmer(size ~ age + (1|side) + (1|subject/side), demo))
Esses dois modelos não diferem muito do número 3. O modelo 4 produz um efeito fixo pequeno e insignificante de side
(t = 0,5) O modelo 5 produz uma estimativa de side
variação igual a exatamente zero.