87 votos

¿Cómo interpretar los coeficientes de una regresión de Poisson?

¿Cómo puedo interpretar los efectos principales (coeficientes del factor con código ficticio) en una regresión de Poisson?

Supongamos el siguiente ejemplo:

treatment     <- factor(rep(c(1, 2), c(43, 41)), 
                        levels = c(1, 2),
                        labels = c("placebo", "treated"))
improved      <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
                        levels = c(1, 2, 3),
                        labels = c("none", "some", "marked"))    
numberofdrugs <- rpois(84, 10) + 1    
healthvalue   <- rpois(84, 5)   
y             <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test          <- glm(healthvalue~numberofdrugs+treatment+improved, y, family=poisson)
summary(test)

La salida es:

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       1.88955    0.19243   9.819   <2e-16 ***
numberofdrugs    -0.02303    0.01624  -1.418    0.156    
treatmenttreated -0.01271    0.10861  -0.117    0.907   MAIN EFFECT  
improvedsome     -0.13541    0.14674  -0.923    0.356   MAIN EFFECT 
improvedmarke    -0.10839    0.12212  -0.888    0.375   MAIN EFFECT 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Sé que la tasa de incidencia de numberofdrugs es exp(-0.023)=0.977 . Pero, ¿cómo interpreto los efectos principales de las variables ficticias?

0 votos

Una respuesta similar (pero enmarcada de forma más matemática) puede encontrarse aquí: Cómo interpretar las estimaciones de los parámetros en los resultados del MLG de Poisson .

2 votos

Es interesante que la pregunta referenciada se cerrara como off-topic. (Yo no habría estado de acuerdo en que era fuera de tema, ya que cualquier respuesta también se aplicaría a la salida de cualquier programa de estadísticas que devuelve una tabla de coeficientes para el usuario, y estoy de acuerdo con usted en que es digno de cierre sobre la base de ser un duplicado). Me parece que la comunidad SO es demasiado "estricta" en las preguntas que piden la interpretación de la salida de R. No son realmente on-topic para StackOverflow ya que no hay ninguna sugerencia de que se necesita ayuda de codificación.

2 votos

@DWin, no creo que la interpretación de los resultados estadísticos esté fuera de tema en Validación cruzada . He votado por cerrar esa pregunta como duplicado de esta. Otros parecen haber votado OT, deduzco, porque les pareció que el OP "dump[ed su] salida de la computadora allí y [esperaba que alguien] ejecutar el análisis de estadísticas para [ellos]".

73voto

aron Puntos 174

El exponente numberofdrugs El coeficiente es el término multiplicativo que se debe utilizar para el objetivo de calcular el healthvalue cuando numberofdrugs aumenta en 1 unidad. En el caso de las variables categóricas (factoriales), el coeficiente exponencial es el término multiplicativo relativo al nivel base (primer factor) para esa variable (ya que R utiliza contrastes de tratamiento por defecto). El exp(Intercept) es la tasa de referencia, y todas las demás estimaciones serían relativas a ella.

En su ejemplo, la estimación healthvalue para alguien con 2 medicamentos, "placebo" y improvement=="none" sería (utilizando la suma dentro de exp como equivalente a la multiplicación):

 exp( 1.88955 +    # thats the baseline contribution
      2*-0.02303 + 0 + 0 )  # and estimated value will be somewhat lower
 [1] 6.318552

Mientras que alguien en 4 medicamentos, "treated" y "some" mejora tendría una estimación de healthvalue de

exp( 1.88955 + 4*-0.02303 + -0.01271 + -0.13541)
[1] 5.203388

ADDENDUM: Esto es lo que significa ser "aditivo en la escala logarítmica". "Aditivo en la escala logarítmica" era la frase que mi profesora, Barbara McKnight, utilizaba cuando enfatizaba la necesidad de utilizar todos los valores de los términos aplicables multiplicados por sus coeficientes estimados al hacer cualquier tipo de predicción. Primero se suman todos los coeficientes (incluido el término de intercepción) por los valores de cada covariable y luego se exponentiza la suma resultante. La forma de devolver los coeficientes de los objetos de regresión en R es generalmente utilizar el método coef() función extractora (realizada con una realización aleatoria diferente a continuación):

 coef(test)
  #   (Intercept)    numberofdrugs treatmenttreated     improvedsome   improvedmarked 
  #   1.18561313       0.03272109       0.05544510      -0.09295549       0.06248684 

Así, el cálculo de la estimación para un sujeto con 4 medicamentos, "treated" con "some" mejora sería:

 exp( sum( coef(test)[ c(1,2,3,4) ]* c(1,4,1,1) ) ) 
 [1] 3.592999

Y el predictor lineal para ese caso debería ser la suma de:

 coef(test)[c(1,2,3,4)]*c(1,4,1,1) 
 #    (Intercept)    numberofdrugs treatmenttreated     improvedsome 
 #     1.18561313       0.13088438       0.05544510      -0.09295549

Estos principios deberían aplicarse a cualquier paquete estadístico que devuelva al usuario una tabla de coeficientes. El método y los principios son más generales de lo que podría parecer por mi uso de R.


Copio los comentarios aclaratorios seleccionados ya que "desaparecen" en la visualización por defecto:

P: ¡Así que interpreta los coeficientes como cocientes! Gracias. - MarkDollar

R: Los coeficientes son los logaritmos_naturales de los cocientes. - DWin

P2: En ese caso, en una regresión de Poisson, ¿los coeficientes exponenciados también se denominan "odds ratios"? - oort

A2: No. Si se tratara de una regresión logística lo serían, pero en la regresión de Poisson, donde el LHS es el número de eventos y el denominador implícito es el número en riesgo, entonces los coeficientes exponenciados son "razones de tasas" o "riesgos relativos".

0 votos

¿Te deja votar dos veces? Qué bien. Pensé que ofrecer una implementación en código R de la interpretación podría rescatarla de las fuerzas de la rectitud clasificatoria. El OP compuso un bonito ejemplo autocontenido. Tal vez debería haber demostrado una función extractora, así que creo que lo haré.

0 votos

Sí, yo upvoted su respuesta en SO, luego se trasladó aquí y me upvoted de nuevo :)

0 votos

¡Gracias hasta ahora! Conozco la relación entre dummies y cavariables, pero me interesa saber cómo interpretar los efectos principales (los he marcado). ¿Es posible tomar la tasa de incidencia de un efecto principal, por ejemplo para la variable ficticia "exp(-0.012)=0.99" e interpretarla como la tasa a partir de la cual disminuye el valor de la salud al pasar de la categoría de referencia a la de tratamiento? Tiene que ser así, ¿no?

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