Tengo un experimento de medidas repetidas donde la variable dependiente es un porcentaje, y tengo múltiples factores como variables independientes. Me gustaría usar glmer
el paquete R lme4
para tratarlo como un problema de regresión logística (especificando family=binomial
) ya que parece acomodar esta configuración directamente.
Mis datos se ven así:
> head(data.xvsy)
foldnum featureset noisered pooldur dpoolmode auc
1 0 mfcc-ms nr0 1 mean 0.6760438
2 1 mfcc-ms nr0 1 mean 0.6739482
3 0 melspec-maxp nr075 1 max 0.8141421
4 1 melspec-maxp nr075 1 max 0.7822994
5 0 chrmpeak-tpor1d nr075 1 max 0.6547476
6 1 chrmpeak-tpor1d nr075 1 max 0.6699825
y aquí está el comando R que esperaba que fuera apropiado:
glmer(auc~1+featureset*noisered*pooldur*dpoolmode+(1|foldnum), data.xvsy, family=binomial)
El problema con esto es que el comando se queja de que mi variable dependiente no es un número entero:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
y el análisis de estos datos (piloto) da respuestas extrañas como resultado.
Entiendo por qué la binomial
familia espera números enteros (sí-no cuenta), pero parece que debería estar bien regresar los datos de porcentaje directamente. ¿Como hacer esto?
Respuestas:
Para utilizar un vector de proporciones como la variable de respuesta con
glmer(., family = binomial)
, debe establecer el número de ensayos que condujeron a cada proporción utilizando elweights
argumento. Por ejemplo, usando loscbpp
datos dellme4
paquete:Si no conoce el número total de ensayos, entonces un modelo binomial no es apropiado, como se indica en el mensaje de error.
fuente
cbpp
página de ayuda.Si su respuesta es una proporción, porcentaje o algo similar que solo puede tomar valores en , normalmente usaría la regresión beta, no la binomial.( 0 , 1 )
fuente