Há muita discussão neste fórum sobre a maneira correta de especificar vários modelos hierárquicos usando lmer
.
Eu pensei que seria ótimo ter todas as informações em um só lugar. Algumas perguntas para começar:
- Como especificar vários níveis, em que um grupo está aninhado no outro: é
(1|group1:group2)
ou é(1+group1|group2)
? - Qual a diferença entre
(~1 + ....)
e(1 | ...)
e(0 | ...)
etc.? - Como especificar interações em nível de grupo?
lme4
pacote podem ser encontrados no CRANlmer
é de interesse estatístico geral e, portanto, não é apenas uma questão de programação. Por conseguinte, estou a votar para manter esta discussão em aberto.Respostas:
Digamos que você tenha a variável V1 prevista pela variável categórica V2, que é tratada como um efeito aleatório, e a variável contínua V3, que é tratada como um efeito fixo linear. Usando a sintaxe lmer, o modelo mais simples (M1) é:
Este modelo estimará:
P1: Uma interceptação global
P2: Efeito aleatório intercepta para V2 (ou seja, para cada nível de V2, o desvio desse intercepto em relação à interceptação global)
P3: Uma estimativa global única para o efeito (declive) de V3
O próximo modelo mais complexo (M2) é:
Este modelo estima todos os parâmetros de M1, mas estimará adicionalmente:
P4: O efeito de V3 em cada nível de V2 (mais especificamente, o grau em que o efeito de V3 em um determinado nível se desvia do efeito global de V3), enquanto impõe uma correlação zero entre os desvios de interceptação e os desvios de efeito V3 nos níveis de V2 .
Essa última restrição é relaxada em um modelo final mais complexo (M3):
Em que todos os parâmetros de M2 são estimados, permitindo correlação entre os desvios de interceptação e os desvios do efeito V3 dentro dos níveis de V2. Assim, em M3, um parâmetro adicional é estimado:
P5: A correlação entre os desvios de interceptação e os desvios de V3 nos níveis de V2
Geralmente, pares de modelos como M2 e M3 são calculados e comparados para avaliar a evidência de correlações entre efeitos fixos (incluindo a interceptação global).
Agora considere adicionar outro preditor de efeito fixo, V4. O modelo:
estimaria:
P1: Uma interceptação global
P2: Uma estimativa global única para o efeito de V3
P3: Uma única estimativa global para o efeito de V4
P4: Uma única estimativa global para a interação entre V3 e V4
P5: Desvios da interceptação de P1 em cada nível de V2
P6: Desvios do efeito V3 de P2 em cada nível de V2
P7: Desvios do efeito V4 de P3 em cada nível de V2
P8: Desvios da interação V3 por V4 de P4 em cada nível de V2
P9 Correlação entre P5 e P6 nos níveis de V2
P10 Correlação entre P5 e P7 nos níveis de V2
P11 Correlação entre P5 e P8 nos níveis de V2
P12 Correlação entre P6 e P7 nos níveis de V2
P13 Correlação entre P6 e P8 nos níveis de V2
P14 Correlação entre P7 e P8 nos níveis de V2
Ufa , isso é muitos parâmetros! E nem me importei em listar os parâmetros de variação estimados pelo modelo. Além disso, se você tiver uma variável categórica com mais de 2 níveis que deseja modelar como efeito fixo, em vez de um único efeito para essa variável, sempre estimará os efeitos k-1 (onde k é o número de níveis) , explodindo assim o número de parâmetros a serem estimados pelo modelo ainda mais.
fonte
lmer
Y~X+Z+(1|group)+(0+X|Z)
group
O truque geral é, como mencionado em outra resposta , é que a fórmula segue o formulário
dependent ~ independent | grouping
. Ogrouping
geralmente é um fator aleatório, você pode incluir fatores fixos sem qualquer agrupamento e você pode ter fatores aleatórios adicionais sem qualquer fator fixo (uma interceptação somente modelo). Um+
entre fatores indica nenhuma interação, a*
indica interação.Para fatores aleatórios, você tem três variantes básicas:
(1 | random.factor)
(0 + fixed.factor | random.factor)
(1 + fixed.factor | random.factor)
Observe que a variante 3 tem a inclinação e a interceptação calculadas no mesmo agrupamento, ou seja, ao mesmo tempo. Se queremos que a inclinação e a interceptação sejam calculadas independentemente, ou seja, sem nenhuma correlação assumida entre as duas, precisamos de uma quarta variante:
(1 | random.factor) + (0 + fixed.factor | random.factor)
. Uma maneira alternativa de escrever isso é usar a notação de barra duplafixed.factor + (fixed.factor || random.factor)
.Há também um bom resumo em outra resposta a esta pergunta que você deve examinar.
Se você está interessado em um pouco de matemática, Barr et al. (2013) resumem
lmer
bastante bem a sintaxe em sua Tabela 1, adaptada aqui para atender às restrições da remarcação sem tabelas. Esse artigo tratou de dados psicolinguísticos, então os dois efeitos aleatórios sãoSubject
eItem
.Modelos e
lme4
sintaxe de fórmula equivalente :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)
Referências:
Barr, Dale J, R. Levy, C. Scheepers e HJ Tily (2013). Estrutura de efeitos aleatórios para teste de hipótese confirmatória: Mantenha-o no máximo . Journal of Memory and Language, 68: 255– 278.
fonte
O
|
símbolo indica um fator de agrupamento em métodos mistos.Conforme Pinheiro & Bates:
Dependendo de qual método você usa para executar a análise de métodos mistos
R
, pode ser necessário criar umgroupedData
objeto para poder usar o agrupamento na análise (consulte onlme
pacote para obter detalhes,lme4
parece não precisar disso). Não posso falar da maneira como você especificou suaslmer
instruções de modelo porque não conheço seus dados. No entanto, ter vários(1|foo)
na linha do modelo é incomum pelo que vi. O que você está tentando modelar?fonte