5 votos

¿Cómo comparar los coeficientes de una regresión binomial negativa para determinar la importancia relativa?

Estoy trabajando en R, mediante glm.nb (de la MASA paquete) para el modelo de datos de recuento con un modelo de regresión binomial negativa. Me gustaría comparar la importancia relativa de cada uno de mis variables predictoras sobre su impacto en la variable de respuesta (nota: los predictores cada uno tiene bastante diferentes escalas - a veces por órdenes de magnitud). Por desgracia, la salida de R me da resultados como no estandarizado (b) coeficientes ("estimaciones"). Estoy esperando que alguien me puede dar una pista de cómo ir sobre cómo obtener estandarizado (beta) los coeficientes de las NB modelo de regresión... u otra "mejor" manera de determinar la importancia relativa de cada uno de mis predictores en mi variable de respuesta.

He investigado varias posibles formas como:

  1. utilizando el paquete R 'relimpo' (como se sugiere en un comentario a http://stats.stackexchange.com/a/7118), pero no funciona en un NB modelo de regresión, lo que cambia completamente la hipótesis que debo ser para la contabilidad y el hacer de los resultados muy diferentes;
  2. la media de centrado y el escalado de mis datos, que cambia la interpretación y hace que no se pueden utilizar las NB modelo debido a la respuesta de las variables de ahora tener valores negativos;
  3. la ampliación de la escala única, así que todavía puedo ejecutar un modelo NB... que yo pensaba que sólo afecta a la magnitud de los coeficientes, sin cambiar su dirección (viz., http://stats.stackexchange.com/a/29784 ) - pero tengo algunas positivo de los coeficientes que voltear a neg. y vice-verso... que me parece extraño y me pregunto si estoy cometiendo un error.

Me he beneficiado de mirar Cuándo se debe centrar sus datos y cuándo se debe estandarizar? (y los enlaces sugeridos de comentarios sobre la pregunta, tal como http://andrewgelman.com/2009/07/when_to_standar/ y Cuando y cómo utilizar estandarizada de las variables explicativas en la regresión lineal y las Variables se ajustan a menudo (por ejemplo, normalizados) antes de hacer un modelo - cuando esto es una buena idea, y cuando es mala?).

Línea de base: todavía no he encontrado una forma de utilizar un modelo NB R (que me han confirmado estadísticamente es más apropiado que el de lm, glm, o de poisson para modelar mis datos) y aún así obtener en la importancia relativa - o, al menos, a la estandarización de los coeficientes beta - para mi predictores...

El R scripts es algo como esto:

library("MASS")
nb = glm.nb(responseCountVar ~ predictor1 + predictor2 + 
  predictor3, data=myData, control=glm.control(maxit=125))
summary(nb)

scaled_nb = glm.nb(scale(responseCountVar, center = FALSE) ~ scale(predictor1, center = FALSE) + scale(predictor2, center = FALSE) + 
  scale(predictor3, center = FALSE), data=myData, control=glm.control(maxit=125))
summary(scaled_nb)

2voto

Zizzencs Puntos 1358

Primero tendrías que averiguar lo que el cambio en una variable es "igual" a lo que un cambio en otro. La costumbre de normalización de los usos de la desviación estándar, pero que puede o puede no ser ideal. Puede que no sea posible para averiguar esto, especialmente si el IVs están relacionados unos con otros, en cuyo caso, un cambio en uno iría con un cambio en otro.

Una vez que te hayas dado cuenta de esto, usted puede obtener los valores pronosticados a partir de diversas combinaciones de los IVs, variando cada uno por la cantidad que usted pensaba que era "igual" en el primer paso.

Otra cosa es hacer un gráfico de los resultados de la predicción como las variables independientes cambio en el valor.

0voto

CJH Puntos 196

Para obtener una manera rápida de obtener los coeficientes beta estandarizados directamente desde cualquier modelo de lm (o glm) en R, intente usar lm.beta(model) . En el ejemplo proporcionado, esto sería:

 library("MASS")
nb = glm.nb(responseCountVar ~ predictor1 + predictor2 + 
  predictor3, data=myData, control=glm.control(maxit=125))
summary(nb)

library(QuantPsyc)
lm.beta(nb)
 

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X