Estou tentando usar lme4::glmer()
para ajustar um modelo misto generalizado binomial (GLMM) com variável dependente que não é binária, mas uma variável contínua entre zero e um. Pode-se pensar nessa variável como uma probabilidade; de fato, é a probabilidade relatada por seres humanos (em um experimento que ajudo a analisar). Ou seja, não é uma fração "discreta", mas uma variável contínua.
Minha glmer()
ligação não funciona conforme o esperado (veja abaixo). Por quê? O que eu posso fazer?
Edição posterior: minha resposta abaixo é mais geral que a versão original desta pergunta, então eu modifiquei a questão para ser mais geral também.
Mais detalhes
Aparentemente, é possível usar a regressão logística não apenas para DV binário, mas também para DV contínuo entre zero e um. De fato, quando eu corro
glm(reportedProbability ~ a + b + c, myData, family="binomial")
Recebo uma mensagem de aviso
Warning message:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
mas um ajuste muito razoável (todos os fatores são categóricos, para que eu possa verificar facilmente se as previsões do modelo estão próximas das médias entre sujeitos e elas são).
No entanto, o que eu realmente quero usar é
glmer(reportedProbability ~ a + b + c + (1 | subject), myData, family="binomial")
Dá-me o mesmo aviso, retorna um modelo, mas esse modelo está claramente muito errado; as estimativas dos efeitos fixos estão muito longe glm()
daquelas e das médias entre sujeitos. (E preciso incluir glmerControl(optimizer="bobyqa")
na glmer
chamada, caso contrário ela não converge de maneira alguma.)
glmmadmb(reportedProbability ~ a + b + c + (1 | subject), myData, family="beta")
, obtenho o ajuste correto e intervalos razoáveis de confiança, mas uma convergência falhou : - / Tentando descobrir como aumentar o número de iterações. A versão beta pode funcionar para mim porque não tenho casos DV = 0 ou DV = 1.
+ (1 | rowid)
à minha chamada glmer e isso gera estimativas estáveis e intervalos de confiança estáveis, independentemente da minha escolha de peso (tentei 100 e 500). Eu também tentei rodar o lmer no logit (reportsProbability) e recebo quase exatamente a mesma coisa. Então, ambas as soluções parecem funcionar bem! O Beta MM com glmmadmb também oferece resultados muito próximos, mas, por algum motivo, não converge completamente e leva uma eternidade para ser executado. Considere postar uma resposta listando essas opções e explicando um pouco as diferenças e os prós / contras! (Intervalos de confiança que eu mencionei são todos Wald.)