Estoy tratando de predecir un resultado binario usando 50 variables explicativas continuas (el rango de la mayoría de las variables es a ). Mi conjunto de datos tiene casi 24,000 filas. Cuando corro en R, obtengo:glm
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
He leído las otras respuestas que sugieren que podría estar ocurriendo una separación perfecta, pero estoy seguro de que ese no es el caso en mis datos (aunque podría existir una separación casi completa; ¿cómo puedo probar para ver si ese es el caso?) . Si elimino algunas variables, el error "no convergió" podría desaparecer. Pero eso no siempre es lo que pasa.
Intenté usar las mismas variables en una bayesglm
función y obtuve los mismos errores.
¿Qué pasos tomarías para descubrir exactamente qué está pasando aquí? ¿Cómo averiguar qué variables están causando los problemas?
bayesglm
trata de evitar la separación agregando un previo, pero con 24,000 filas, el anterior probablemente se ve inundado por la probabilidad. Intente reducir prior.scale
, posiblemente en gran cantidad. También considere aumentar los grados de libertad del prior, lo que ayudará a descartar grandes valores asociados con la separación.
bayesglm
documento , argumentan que la separación es "un problema común, incluso cuando el tamaño de la muestra es grande y el número de predictores es pequeño"