Olá, tenho dois problemas que parecem candidatos naturais a modelos multiníveis / mistos, que nunca usei. O mais simples, e que espero tentar como introdução, é o seguinte: Os dados se parecem com muitas linhas do formulário
x y innergroup outergroup
onde x é uma covariável numérica na qual desejo regredir y (outra variável numérica), cada y pertence a um grupo interno e cada grupo interno é aninhado em um grupo externo (ou seja, todo o y em um determinado grupo interno pertence ao mesmo grupo externo) . Infelizmente, o grupo interno possui muitos níveis (muitos milhares) e cada nível tem relativamente poucas observações de y, então pensei que esse tipo de modelo poderia ser apropriado. Minhas perguntas são
Como escrevo esse tipo de fórmula multinível?
Uma vez que o lmer se encaixa no modelo, como proceder para prever a partir dele? Eu ajustei alguns exemplos de brinquedos mais simples, mas não encontrei uma função predict (). A maioria das pessoas parece mais interessada em inferência do que em predição com esse tipo de técnica. Como tenho vários milhões de linhas, os cálculos podem ser um problema, mas sempre posso cortá-los conforme apropriado.
Não precisarei fazer o segundo por um tempo, mas é melhor começar a pensar e brincar com ele. Eu tenho dados semelhantes como antes, mas sem x, e agora é uma variável binomial do formulário . y também exibe muita sobredispersão, mesmo dentro de grupos internos. A maioria dos não é maior que 2 ou 3 (ou menos), portanto, para derivar estimativas das taxas de sucesso de cada , tenho usado o estimador de retração beta-binomial , onde esão estimados pelo MLE para cada grupo interno separadamente. Isso tem sido um pouco adequado, mas a escassez de dados ainda me atormenta, então eu gostaria de usar todos os dados disponíveis. De uma perspectiva, esse problema é mais fácil, pois não há covariável, mas, por outro, a natureza binomial torna-o mais difícil. Alguém tem alguma orientação de nível alto (ou baixo!)?
Respostas:
A relação de fatores de expressão usando fórmulas R segue a notação de Wilkinson, em que '*' denota cruzamento e '/' aninhamento, mas existem algumas particularidades na maneira como a fórmula para modelos de efeitos mistos, ou mais geralmente aleatórios, é tratada. Por exemplo, dois efeitos aleatórios cruzados podem ser representados como
(1|x1)+(1|x2)
. Interpretei sua descrição como um caso de aninhamento, assim como as classes são aninhadas nas escolas (aninhadas nos estados etc.); portanto,lmer
seria uma fórmula básica com (a menos que seja indicado o contrário, umagaussian
família é usada por padrão):onde A e B correspondem aos seus fatores internos e externos, respectivamente. B está aninhado dentro de A e ambos são tratados como fatores aleatórios. No pacote nlme mais antigo , isso corresponderia a algo como
lme(y ~ x, random=~ 1 | A/B)
. Se A fosse considerado um fator fixo, a fórmula deveria ser liday ~ x + A + (1|A:B)
.Mas vale a pena verificar com mais precisão as especificações de D. Bates para o pacote lme4 , por exemplo, em seu próximo livro, lme4: Modelagem de Efeitos Mistos com R , ou os diversos folhetos disponíveis na mesma página. Em particular, não é um exemplo de tais relações do assentamento em Fitting lineares mistos de efeitos modelos, o pacote lme4 em R . Tutorial de John Maindonald também fornece uma boa visão geral: A Anatomia de um Modelo de Análise de Mixed, com Pacote lme4 de R . Por fim, a seção 3 da vinheta R sobre a implementação do lme4 inclui um exemplo da análise de uma estrutura aninhada.
Não há(essa função agora existe, veja o comentário abaixo), e você deve calcular os valores individuais previstos usando os efeitos fixos estimados (verpredict()
função no lme4?fixef
) e aleatórios (ver?ranef
), mas consulte também este tópico sobre a falta da função de previsão no lme4 . Você também pode gerar uma amostra da distribuição posterior usando amcmcsamp()
função Às vezes, pode colidir, no entanto. Consulte a lista de discussão sig-me para obter informações mais atualizadas.fonte
lme4
agora inclui uma predizer a função inside-r.org/packages/cran/lme4/docs/predict.mermodO pacote ez contém a função ezPredict (), que obtém previsões de modelos mais recentes, nos quais a previsão é baseada apenas nos efeitos fixos. É realmente apenas um invólucro em torno da abordagem detalhada no wiki do glmm .
fonte
Eu usaria a função "logit.mixed" em Zelig , que é um wrapper para o lime4 e torna muito conveniente fazer previsões e simulações.
fonte
A versão de desenvolvimento do lme4 possui uma função de previsão incorporada (predict.merMod). Pode ser encontrado em https://github.com/lme4/lme4/ .
O código para instalar os "Binários de desenvolvimento quase atualizados do repositório lme4 r-forge" pode ser encontrado na página acima e é:
fonte
predict
está disponível há alguns anos.Stephen Raudenbush tem um capítulo de livro no Manual de Análise Multinível sobre " Muitos Pequenos Grupos ". Se você está interessado apenas nos efeitos de x em y e não tem interesse em efeitos de nível superior, sua sugestão é simplesmente estimar um modelo de efeitos fixos (ou seja, uma variável dummy para todos os possíveis agrupamentos de nível superior).
Não sei como isso é aplicável à previsão, mas imagino que parte do que ele escreve é aplicável ao que você está tentando realizar.
fonte