Eu tenho um GLMM com uma distribuição binomial e uma função de link de logit e tenho a sensação de que um aspecto importante dos dados não está bem representado no modelo.
Para testar isso, eu gostaria de saber se os dados estão bem descritos por uma função linear na escala de logit. Por isso, gostaria de saber se os resíduos são bem comportados. No entanto, não consigo descobrir em que plotagem de resíduos traçar e como interpretar a trama.
Observe que estou usando a nova versão do lme4 ( a versão de desenvolvimento do GitHub ):
packageVersion("lme4")
## [1] ‘1.1.0’
Minha pergunta é: como inspecionar e interpretar os resíduos de um modelo misto linear generalizado binomial com uma função de link logit?
Os dados a seguir representam apenas 17% dos meus dados reais, mas o ajuste já leva cerca de 30 segundos na minha máquina, então deixo assim:
require(lme4)
options(contrasts=c('contr.sum', 'contr.poly'))
dat <- read.table("http://pastebin.com/raw.php?i=vRy66Bif")
dat$V1 <- factor(dat$V1)
m1 <- glmer(true ~ distance*(consequent+direction+dist)^2 + (direction+dist|V1), dat, family = binomial)
A plotagem mais simples ( ?plot.merMod
) produz o seguinte:
plot(m1)
Isso já me diz alguma coisa?
type=c("p","smooth")
emplot.merMod
, ou movendo-se paraggplot
se você quiser intervalos de confiança) é que parece que há um pequeno, mas significativo padrão, que você pode ser corrigido adotando uma função de link diferente. É isso até agora ...true ~ distance*(consequent+direction+dist)^2 + (direction+dist|V1)
funciona? Será que a estimativa give modelo de interação entredistance*consequent
,distance*direction
,distance*dist
e inclinação dedirection
edist
que varia comV1
? O que o quadrado(consequent+direction+dist)^2
denota?Warning message: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge with max|grad| = 0.123941 (tol = 0.001, component 1)
. Por quê ?Respostas:
Resposta curta, já que não tenho tempo para melhorar: esse é um problema desafiador; dados binários quase sempre requerem algum tipo de classificação ou suavização para avaliar a qualidade do ajuste. Foi um pouco útil usar
fortify.lmerMod
(delme4
, experimental) em conjuntoggplot2
e particularmentegeom_smooth()
desenhar essencialmente o mesmo gráfico residual versus ajustado que você tem acima, mas com intervalos de confiança (eu também reduzi um pouco os limites de y para ampliar o ( -5,5) região). Isso sugeriu alguma variação sistemática que poderia ser aprimorada ajustando a função de link. (Também tentei traçar resíduos contra os outros preditores, mas não foi muito útil.)Tentei ajustar o modelo com todas as interações de três vias, mas não houve muita melhoria no desvio ou no formato da curva residual suavizada.
Então usei esse pouco de força bruta para tentar funções de link inverso da forma , para variando de 0,5 a 2,0: λ( logística ( x ) )λ λ
Descobri que um de 0,75 era um pouco melhor que o modelo original, embora não significativamente - talvez eu tenha interpretado demais os dados.λ
Veja também: http://freakonometrics.hypotheses.org/8210
fonte
Esse é um tema muito comum nos cursos de bioestatística / epidemiologia, e não há soluções muito boas para isso, basicamente devido à natureza do modelo. Freqüentemente, a solução foi evitar diagnósticos detalhados usando os resíduos.
Ben já escreveu que os diagnósticos geralmente exigem binning ou suavização. O binning de resíduos está (ou estava) disponível no braço da embalagem R, consulte, por exemplo, esta rosca . Além disso, existem alguns trabalhos realizados que usam probabilidades previstas; uma possibilidade é o gráfico de separação que foi discutido anteriormente neste tópico . Eles podem ou não ajudar diretamente no seu caso, mas podem ajudar na interpretação.
fonte
Você pode usar o AIC em vez de gráficos residuais para verificar o ajuste do modelo. Comando em R: AIC (modelo1), ele fornecerá um número ... então você precisará comparar isso com outro modelo (com mais preditores, por exemplo) - AIC (modelo2), que produzirá outro número. Compare as duas saídas e você desejará o modelo com o valor mais baixo da AIC.
A propósito, itens como AIC e razão de verossimilhança de log já estão listados quando você obtém o resumo do seu modelo glmer, e ambos fornecem informações úteis sobre o ajuste do modelo. Você deseja que um número negativo grande para a razão de verossimilhança de log rejeite a hipótese nula.
fonte
A plotagem ajustada versus residual não deve mostrar nenhum padrão (claro). O gráfico mostra que o modelo não funciona bem com os dados. Consulte http://www.r-bloggers.com/model-validation-interpreting-residual-plots/
fonte