r statistics r-zelig

¿Por qué recibo las advertencias con "glm" del algoritmo "no convergió" y "se ajustó el problema numéricamente 0 o 1"?



statistics r-zelig (1)

Si observa ?glm (o incluso hace una búsqueda en Google para su segundo mensaje de advertencia) puede encontrar esto en la documentación:

Para obtener información sobre los mensajes de advertencia sobre "probabilidades ajustadas numéricamente 0 o 1 ocurridas" para GLM binomiales, consulte 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 están extremadamente cerca de 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 codificación 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 advertencias y un coeficiente estimado de alrededor de +/- 10. Ha habido una discusión bastante extensa de esto en la literatura estadística, generalmente alegando que no existen 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 here . Entonces, la lección aquí es observar cuidadosamente uno de los niveles de tu predictor. (Y Google el mensaje de advertencia!)

Así que esta es una pregunta muy simple, simplemente parece que no puede resolverlo.

Estoy ejecutando un logit utilizando 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 eso 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" ...