Gostaria de obter um valor-p e um tamanho de efeito de uma variável categórica independente (com vários níveis) - que é "geral" e não para cada nível separadamente, como é o resultado normal de lme4
R. É exatamente como a coisa que as pessoas relatam ao executar uma ANOVA.
Como posso conseguir isso?
r
hypothesis-testing
anova
mixed-model
lme4-nlme
user3288202
fonte
fonte
anova()
função para obter uma tabela anova com modelos lineares mistos, assim como nos modelos lineares.lme4
Respostas:
Ambos os conceitos mencionados (valores de p e tamanhos de efeito de modelos lineares mistos) têm problemas inerentes. Com relação ao tamanho do efeito , citando Doug Bates, o autor original de
lme4
,Para obter mais informações, você pode olhar para este tópico , este tópico e esta mensagem . Basicamente, a questão é que não existe um método acordado para a inclusão e decomposição da variação dos efeitos aleatórios no modelo. No entanto, existem alguns padrões usados. Se você der uma olhada no Wiki configurado para / pela lista de discussão r-sig-mixed-models , existem algumas abordagens listadas.
Um dos métodos sugeridos analisa a correlação entre os valores ajustados e os observados. Isso pode ser implementado no R, conforme sugerido por Jarrett Byrnes em um desses threads:
Por exemplo, digamos que estimamos o seguinte modelo misto linear:
Podemos calcular o tamanho do efeito usando a função definida acima:
Com relação aos valores-p , essa é uma questão muito mais controversa (pelo menos na comunidade R /
lme4
). Veja as discussões nas perguntas aqui , aqui e aqui, entre muitas outras. Fazendo referência à página Wiki novamente, existem algumas abordagens para testar hipóteses sobre efeitos em modelos lineares mistos. Listado do "pior ao melhor" (de acordo com os autores da página da Wiki que acredito incluir Doug Bates e Ben Bolker, que contribui muito aqui):anova
oudrop1
) ou via perfis de verossimilhança de computaçãoEles recomendam a abordagem de amostragem Monte Carlo da cadeia de Markov e também listam várias possibilidades para implementá-la a partir de abordagens pseudo e totalmente bayesianas, listadas abaixo.
Pseudo-Bayesiano:
mcmcsamp
(se disponível para o seu problema: por exemplo, LMMs com efeitos aleatórios simples - não GLMMs ou efeitos aleatórios complexos)Via
pvals.fnc
nolanguageR
pacote, um wrapper paramcmcsamp
)glmmADMB
pacote (use amcmc=TRUE
opção) ou doR2admb
pacote (escreva sua própria definição de modelo no AD Model Builder) ou fora de Rsim
função doarm
pacote (simula o posterior apenas para os coeficientes beta (efeito fixo)Abordagens totalmente bayesianas:
MCMCglmm
pacoteglmmBUGS
(uma interface R / wrapper do WinBUGS )rjags
/r2jags
/R2WinBUGS
/BRugs
packagesPara fins de ilustração, para mostrar como isso pode ser, abaixo é uma
MCMCglmm
estimativa usando oMCMCglmm
pacote que você verá produz resultados semelhantes aos do modelo acima e possui algum tipo de valor p Bayesiano:Eu espero que isso ajude de algum jeito. Eu acho que o melhor conselho para alguém que começa com modelos mistos lineares e tenta estimar em R é ler os faqs do Wiki de onde a maioria dessas informações foi extraída. É um excelente recurso para todos os tipos de temas de efeitos mistos, do básico ao avançado, da modelagem à plotagem.
fonte
Em relação ao cálculo dos valores de significância ( p ), Luke (2016) Avaliando a significância em modelos lineares de efeitos mistos em R relata que o método ideal é a aproximação de Kenward-Roger ou Satterthwaite para graus de liberdade (disponível em R com pacotes como
lmerTest
ouafex
)(enfase adicionada)
fonte
lmerTest
pacote.Eu uso o
lmerTest
pacote. Isso inclui convenientemente uma estimativa do valor p naanova()
saída para minhas análises de MLM, mas não fornece um tamanho de efeito pelas razões indicadas em outros posts aqui.fonte