2010-07-26 6 views
7

Estoy ejecutando un modelo de regresión logística en R. He usado tanto los paquetes de Zelig como los de automóvil. Sin embargo, me pregunto si existe una manera simple de obtener las estadísticas de ajuste del modelo para el modelo. (pseudo R-cuadrado, chi-cuadrado, probabilidad de registro, etc.)Estadísticas de ajuste del modelo para una Regresión logística

+0

Puede encontrar algunos ejemplos aquí: http://www.ats.ucla.edu/stat/r/dae/mlogit.htm – nico

+0

Parece que obtuvo la respuesta que le gustaba (a continuación), ¿estaría dispuesto a seleccionarlo como su respuesta preferida? –

+1

Es posible que este Sitio de preguntas y respuestas sea mejor para preguntas sobre estadísticas: http://stats.stackexchange.com/ –

Respuesta

1

Por lo general, esto se hace usando la función summary().

+0

summary() me proporciona los coeficientes y los parámetros de regresión. Eso es importante, pero no es lo que estoy buscando. Además, con la salida Zelig, consigo el siguiente resultado: desviación nula: 1.068,24 en 772 grados de libertad desviación residual: 939,48 sobre 761 grados de libertad (941 observaciones eliminadas debido a missingness) AIC: 963,48 – Tony

+1

¡¡¡Gracias!!! También encontré que la ejecución de la regresión logística utilizando la función lrm del paquete de diseño da el pseudo-R^2 como salida. – Tony

1

Es difícil responder a esta pregunta sin saber cuál es el objeto modelo. No estoy seguro de qué produce Zelig.

Me gustaría mirar names(model), names(summary(model)) o names(anova(model,test = "Chisq")) para ver si las estadísticas que desea están allí. Sé que para la probabilidad de registro, logLik(model) le dará lo que quiere.

1

Si bien no soy un experto, las estadísticas de ajuste del modelo para los modelos de regresión logística no son tan sencillas en su interpretación como las de la regresión lineal. Suponiendo que tiene una respuesta binaria, un método que he encontrado útil es agrupar sus datos por el intervalo de probabilidad predicho (0-10%, 10% -20%, .... 90% -100%) y comparar las probabilidades reales a los predichos. Esto es muy útil porque a menudo su modelo predecirá en exceso en el extremo bajo o en el nivel bajo en el extremo superior. Esto puede conducir a un mejor modelo también.

4

Supongamos glm1 es su modelo y su tamaño de muestra es n = 100.

Éstos son algunos de bondad de ajuste-medidas:

R2<-1-((glm1$deviance/-2)/(glm1$null.deviance/-2)) cat("mcFadden R2=",R2,"\n")

R2<-1-exp((glm1$deviance-glm1$null.deviance)/2*n) cat("Cox-Snell R2=",R2,"\n")

R2<-R2/(1-exp((-glm1$null.deviance)/n)) cat("Nagelkerke R2=",R2,"\n")

AIC<- glm1$deviance+2*2 cat("AIC=",AIC,"\n")

De esta manera se tiene una visión general de cómo calcular el GoF-Measurements.

+0

Solo una breve adición sobre este tema: las mediciones de GoF dependen del valor Loglikelihood, por lo que no se tratan como cuadrados R "normales". Un valor de McFadden de 0.2 no significa que el 20% de la varianza se explica por el modelo, por lo que no es lo mismo que el R-Square calculado por OLS. Pero en la mayoría de los modelos, un valor de Pseudo R-Squares> = 0.2 es silencioso. – Redfood

Cuestiones relacionadas