¿Por qué estoy recibiendo “algoritmo no converge” y “ajustado prob numéricamente 0 o 1” advertencias con glm?

Entonces esta es una pregunta muy simple, parece que no puede resolverlo.

Estoy ejecutando un logit usando la función glm, pero sigo recibiendo mensajes de advertencia relacionados con la variable independiente. Están almacenados como factores y los he cambiado a numéricos, pero no tuve suerte. También los codifiqué a 0/1 pero tampoco funcionó.

¡Por favor ayuda!

> mod2 <- glm(winorlose1 ~ bid1, family="binomial") Warning messages: 1: glm.fit: algorithm did not converge 2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

También lo intenté en Zelig, pero un error similar:

 > mod2 = zelig(factor(winorlose1) ~ bid1, data=dat, model="logit") How to cite this model in Zelig: Kosuke Imai, Gary King, and Oliva Lau. 2008. "logit: Logistic Regression for Dichotomous Dependent Variables" in Kosuke Imai, Gary King, and Olivia Lau, "Zelig: Everyone's Statistical Software," http://gking.harvard.edu/zelig Warning messages: 1: glm.fit: algorithm did not converge 2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

EDITAR:

 > str(dat) 'data.frame': 3493 obs. of 3 variables: $ winorlose1: int 2 2 2 2 2 2 2 2 2 2 ... $ bid1 : int 700 300 700 300 500 300 300 700 300 300 ... $ home : int 1 0 1 0 0 0 0 1 0 0 ... - attr(*, "na.action")=Class 'omit' Named int [1:63021] 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 ... .. ..- attr(*, "names")= chr [1:63021] "3494" "3495" "3496" "3497" ... 

Si miras a ?glm (o incluso haces una búsqueda en Google de tu segundo mensaje de advertencia), puedes tropezar con esto desde la documentación:

Para el fondo de los mensajes de advertencia sobre “probabilidades ajustadas numéricamente 0 o 1” para los GLM binomiales, ver Venables y Ripley (2002, pp. 197-8).

Ahora, no todos tienen ese libro. Pero suponiendo que es kosher para mí hacer esto, aquí está el pasaje relevante:

Hay una circunstancia bastante común en la que pueden ocurrir tanto problemas de convergencia como el fenómeno de Hauck-Donner. Esto es cuando las probabilidades ajustadas son extremadamente cercanas a cero o uno. Considere un problema de diagnóstico médico con miles de casos y alrededor de 50 variables explicativas binarias (que pueden surgir de la encoding de menos variables categóricas); uno de estos indicadores rara vez es cierto, pero siempre indica que la enfermedad está presente. Entonces, las probabilidades ajustadas de casos con ese indicador deberían ser uno, lo cual solo puede lograrse tomando β i = ∞. El resultado de glm serán las advertencias y un coeficiente estimado de alrededor de +/- 10. Ha habido una discusión bastante extensa de esto en la literatura estadística, por lo general alegando la inexistencia de estimaciones de máxima verosimilitud; ver Sautner y Duffy (1989, p.234).

Uno de los autores de este libro comentó con algo más de detalle aquí . Entonces, la lección aquí es observar cuidadosamente uno de los niveles de tu predictor. (¡Y Google el mensaje de advertencia!)