Folha de dicas do Lmer de R


160

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:

  1. Como especificar vários níveis, em que um grupo está aninhado no outro: é (1|group1:group2)ou é (1+group1|group2)?
  2. Qual a diferença entre (~1 + ....)e (1 | ...)e (0 | ...)etc.?
  3. Como especificar interações em nível de grupo?

11
O manual e as três vinhetas do lme4pacote podem ser encontrados no CRAN
Henry

4
Há, além dos materiais CRAN, slides de aula, mais projectos de capítulos de um livro Doug é escrito em (G) LMMs e R com lme4 disponível a partir de r-forja
Gavin Simpson

Link direto para a versão arXiv do artigo JSS de Bates et al .: Ajustando modelos lineares de efeitos mistos usando lme4 (em particular a Seção 2.2 "Entendendo as fórmulas de modelos mistos"). Veja também a seção relevante das Perguntas frequentes de Ben Bolker.
Ameba

5
Indiscutivelmente, a linguagem usada por lmeré 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.
whuber

2
@whuber +1 Concordo plenamente.
Ameba

Respostas:


180

Qual é a diferença entre (~ 1 + ....) e (1 | ...) e (0 | ...) etc.?

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) é:

V1 ~ (1|V2) + V3

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) é:

V1 ~ (1|V2) + V3 + (0+V3|V2)

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

V1 ~ (1+V3|V2) + V3

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:

V1 ~ (1+V3*V4|V2) + V3*V4

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.


1
@ Mike Lawrence Obrigado pela resposta! como é estimado um modelo de três níveis? onde um fator de agrupamento está aninhado dentro de outro?

DBR, acho que você não sabe o que são níveis. Você está perguntando sobre isso para sempre. Crie uma pergunta que realmente detalha o design do seu experimento e demonstre sua interpretação de "nível".
John

3
Eu acho que o DBR está se referindo a níveis na hierarquia. O que eu descrevi é um modelo hierárquico de dois níveis, com observações aninhadas nas disciplinas, e a DBR está perguntando sobre hierarquias de três níveis, um exemplo dos quais podem ser itens de teste em alunos de escolas nas quais você deseja modelar alunos e escolas de forma aleatória efeitos, com os alunos aninhados nas escolas. Nesses casos, presumo que os desvios no nível escolar sejam computados primeiro e depois os desvios entre alunos e a escola.
30811 Mike Mike Lawrence

2
Melhor resposta que eu já vi para configurar os modelos. Ajudou-me a fornecer uma estrutura fácil para meu chefe entender o que estou fazendo no R com o lmer.
bfoste01

Digamos que eu tenha uma variável independente (X) no nível individual e uma variável independente (Z) no nível do grupo. Ambos são variáveis ​​contínuas. Se o modelo for , em que o índice denota th individual e indica a th grupo. usando syntex, será o modelo . Onde está outra variável no quadro de dados para indicar em qual grupo o indivíduo pertence? i i j j
Yij=γ00+γ10Xij+γ01Zj+γ11XijZj+u1jXij+u0j+eij
iijjlmerY~X+Z+(1|group)+(0+X|Z)group
ABC

50

O truque geral é, como mencionado em outra resposta , é que a fórmula segue o formulário dependent ~ independent | grouping. O groupinggeralmente é 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. Intercepta apenas por fator aleatório: (1 | random.factor)
  2. Inclinações apenas por fator aleatório: (0 + fixed.factor | random.factor)
  3. Intercepta e inclina por fator aleatório: (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:

  • E do declive, separadamente, por fator aleatório: (1 | random.factor) + (0 + fixed.factor | random.factor). Uma maneira alternativa de escrever isso é usar a notação de barra dupla fixed.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 lmerbastante 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ão Subjecte Item.

Modelos e lme4sintaxe de fórmula equivalente :

    • Ysi=β0+β1Xi+esi
    • N / A (Não é um modelo de efeitos mistos)
    • Ysi=β0+S0s+β1Xi+esi
    • Y ∼ X+(1∣Subject)
    • Ysi=β0+S0s+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)
    • Ysi=β0+S0s+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)+(1∣Item)
    • Ysi=β0+S0s+I0i+β1Xi+esi
    • Y ∼ X+(1∣Subject)+(1∣Item)
    • Como (4), mas , independente S0sS1s
    • Y ∼ X+(1∣Subject)+(0 + X∣ Subject)+(1∣Item)
    • Ysi=β0+I0i+(β1+S1s)Xi+esi
    • 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.


4
Agradável. Poderia ser melhor com informações sobre fatores aninhados '/' e notação de barra dupla '||'
skan 23/09/2015

1
E o símbolo:?
eastafri

1
@eastafri Significa que o mesmo ocorre em todos os lugares em R (fórmulas) - a interação entre duas variáveis.
Lívio

Em (6), meu entendimento é que e não têm correlação entre eles. Em outras palavras, como variáveis ​​aleatórias, sua covariância é . Dizer que e são independentes é uma afirmação mais forte e, portanto, não necessariamente verdadeira. Estou enganado? S 1 s 0 S 0 s S 1 sS0sS1s0S0sS1s
Muno 24/06

4

O |símbolo indica um fator de agrupamento em métodos mistos.

Conforme Pinheiro & Bates:

... A fórmula também designa uma resposta e, quando disponível, uma covariável primária . É dado como

response ~ primary | grouping

onde responseé uma expressão para a resposta, primaryé uma expressão para a covariável primária e groupingé uma expressão para o fator de agrupamento.

Dependendo de qual método você usa para executar a análise de métodos mistos R, pode ser necessário criar um groupedDataobjeto para poder usar o agrupamento na análise (consulte o nlmepacote para obter detalhes, lme4parece não precisar disso). Não posso falar da maneira como você especificou suas lmerinstruçõ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?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.