Una introducción suave a la regresión de Poisson para datos de recuento

La regresión es un método estadístico que se puede utilizar para determinar la relación entre una o más variables predictoras y una variable de respuesta .

La regresión de Poisson es un tipo especial de regresión en la que la variable de respuesta consta de «datos de recuento». Los siguientes ejemplos ilustran casos en los que se podría utilizar la regresión de Poisson:

Ejemplo 1: La regresión de Poisson se puede utilizar para examinar la cantidad de estudiantes que se gradúan de un programa universitario específico según su GPA al ingresar al programa y su género. En este caso, «número de estudiantes que se gradúan» es la variable de respuesta, «GPA al ingresar al programa» es una variable predictiva continua y «género» es una variable predictiva categórica.

Ejemplo 2: La regresión de Poisson se puede utilizar para examinar el número de accidentes de tráfico en una intersección en particular según las condiciones climáticas («soleado», «nublado», «lluvioso») y si se está produciendo un evento especial en la ciudad ( «sí o no»). En este caso, «número de accidentes de tráfico» es la variable de respuesta, mientras que «condiciones meteorológicas» y «evento especial» son variables predictoras categóricas.

Ejemplo 3: la regresión de Poisson se puede utilizar para examinar la cantidad de personas delante de usted en la fila en una tienda según la hora del día, el día de la semana y si se está realizando una venta («sí» o «no ”). En este caso, «número de personas delante de usted en la fila» es la variable de respuesta, «hora del día» y «día de la semana» son variables predictoras continuas y «venta en curso» es una variable predictiva categórica.

Ejemplo 4: La regresión de Poisson se puede utilizar para examinar el número de personas que terminan un triatlón según las condiciones meteorológicas («soleado», «nublado», «lluvioso») y la dificultad del recorrido («fácil», «moderado», » difícil»). En este caso, “número de personas que terminan” es la variable de respuesta, mientras que “condiciones climáticas” y “dificultad del curso” son variables predictoras categóricas.

La realización de una regresión de Poisson le permitirá ver qué variables predictoras (si las hay) tienen un efecto estadísticamente significativo en la variable de respuesta.

Para las variables predictoras continuas, podrá interpretar cómo un aumento o disminución de una unidad en esa variable se asocia con un cambio porcentual en los recuentos de la variable de respuesta (por ejemplo, “cada aumento de punto adicional en el GPA está asociado con un aumento del 12.5% ​​en el número de estudiantes que se gradúan ”).

Para las variables predictoras categóricas, podrá interpretar el cambio porcentual en los recuentos de un grupo (por ejemplo, el número de personas que terminan un triatlón en un clima soleado) en comparación con otro grupo (por ejemplo, el número de personas que terminan un triatlón en un clima lluvioso).

Supuestos de regresión de Poisson

Antes de que podamos realizar una regresión de Poisson, debemos asegurarnos de que se cumplan los siguientes supuestos para que nuestros resultados de la regresión de Poisson sean válidos:

Supuesto 1: la variable de respuesta consta de datos de recuento. En la regresión lineal tradicional, la variable de respuesta consta de datos continuos. Sin embargo, para usar la regresión de Poisson, nuestra variable de respuesta debe consistir en datos de recuento que incluyan números enteros de 0 o más (por ejemplo, 0, 1, 2, 14, 34, 49, 200, etc.). Nuestra variable de respuesta no puede contener valores negativos.

Supuesto 2: las observaciones son independientes.Cada observación del conjunto de datos debe ser independiente entre sí. Esto significa que una observación no debería poder proporcionar ninguna información sobre una observación diferente.

Supuesto 3: la distribución de recuentos sigue una distribución de Poisson. Como resultado, los recuentos observados y esperados deberían ser similares. Una forma sencilla de probar esto es trazar los recuentos esperados y observados y ver si son similares.

Supuesto 4: La media y la varianza del modelo son iguales. Este es el resultado de la suposición de que la distribución de recuentos sigue una distribución de Poisson. Para una distribución de Poisson, la varianza tiene el mismo valor que la media. Si se satisface esta suposición, entonces tiene equidispersión . Sin embargo, esta suposición a menudo se viola ya que la dispersión excesiva es un problema común.

Ejemplo: regresión de Poisson en R

Ahora veremos un ejemplo de cómo realizar la regresión de Poisson en R.

Fondo

Supongamos que queremos saber cuántas becas ofrece un jugador de béisbol de la escuela secundaria en un condado determinado según su división escolar («A», «B» o «C») y su puntaje en el examen de ingreso a la universidad (medido de 0 a 100 ).

El siguiente código crea el conjunto de datos con el que trabajaremos, que incluye datos sobre 100 jugadores de béisbol:

#Haga que este ejemplo sea reproducible
 set.seed (1)

#create dataset
 data <- data.frame (offers = c (rep (0, 50), rep (1, 30), rep (2, 10), rep (3, 7), rep (4, 3)),
                   división = muestra (c ("A", "B", "C"), 100, reemplazar = VERDADERO),
                   examen = c (runif (50, 60, 80), runif (30, 65, 95), runif (20, 75, 95)))

Entendiendo los datos

Antes de ajustar el modelo de regresión de Poisson a este conjunto de datos, podemos comprender mejor los datos al ver las primeras líneas del conjunto de datos y al usar la biblioteca dplyr para ejecutar algunas estadísticas de resumen:

#ver dimensiones del conjunto de datos
dim (datos)

# [1] 100 3

#ver las primeras seis líneas del conjunto de datos
cabeza (datos)

# ofrece examen de división
# 1 0 A 73.09448
# 2 0 B 67.06395
# 3 0 B 65.40520
# 4 0 C 79.85368
# 5 0 A 72.66987
# 6 0 C 64.26416

#ver el resumen de cada variable en el conjunto de datos
resumen (datos)

# ofrece examen de división      
# Min. : 0,00 A: 27 min. : 60,26  
# 1er Qu.:0.00 B: 38 1er Qu.:69.86  
# Mediana: 0.50 C: 35 Mediana: 75.08  
# Media: 0,83 Media: 76,43  
# 3er Qu.:1.00 3er Qu.:82.87  
# Máx. : 4,00 Máx. : 93,87  

#ver la puntuación media del examen por número de ofertas
biblioteca (dplyr)
datos%>%
  group_by (ofertas)%>%
   resumir (mean_exam = mean (examen))

# A tibble: 5 x 2
# ofertas mean_exam
#        
# 1 0 70,0
# 2 1 80,8
# 3 2 86,8
# 4 3 83,9
# 5 4 87,9

De la salida anterior podemos observar lo siguiente:

  • Hay 100 filas y 3 columnas en el conjunto de datos
  • El número mínimo de ofertas recibidas por un jugador era cero, el máximo era cuatro y la media era 0,83.
  • En este conjunto de datos, hay 27 jugadores de la división «A», 38 jugadores de la división «B» y 35 jugadores de la división «C».
  • La puntuación mínima del examen fue de 60,26, la máxima de 93,87 y la media de 76,43.
  • En general, los jugadores que recibieron más ofertas de becas tendían a obtener puntuaciones más altas en los exámenes (por ejemplo, la puntuación media del examen para los jugadores que recibieron 0 ofertas fue 70,0 y la puntuación media del examen para los jugadores que recibieron 4 ofertas fue 87,9).

También podemos crear un histograma para visualizar la cantidad de ofertas recibidas por los jugadores en función de la división:

#cargar paquete ggplot2
biblioteca (ggplot2)

#create histogram
 ggplot (data, aes (offers, fill = division)) +
  geom_histogram (binwidth = .5, position = "esquivar")

Histograma agrupado en R

Podemos ver que la mayoría de los jugadores recibieron una oferta o cero. Esto es típico de los conjuntos de datos que siguen las distribuciones de Poisson : una parte decente de los valores de respuesta son cero.

Ajuste del modelo de regresión de Poisson

A continuación, podemos ajustar el modelo usando la función glm () y especificando que nos gustaría usar family = «poisson» para el modelo:

#ajustar el modelo
 modelo <- glm (ofrece ~ división + examen, familia = "poisson" , datos = datos)

#ver resumen de salida del
 modelo (modelo)

#Llamada:
#glm (fórmula = ofrece ~ división + examen, familia = "poisson", datos = datos)
#
#Residuos de desviación: 
# Mín. 1T Mediana 3T Máx.  
# -1.2562 -0.8467 -0.5657 0.3846 2.5033  
#
#Coeficientes:
# Estimar Std. Error z valor Pr (> | z |)    
# (Intercepción) -7.90602 1.13597 -6.960 3.41e-12 ***
# divisiónB 0.17566 0.27257 0.644 0.519    
#divisionC -0,05251 0,27819 -0,189 0,850    
# examen 0.09548 0.01322 7.221 5.15e-13 ***
# ---
#Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1
#
# (Parámetro de dispersión para la familia de poisson tomado como 1)
#
# Desviación nula: 138.069 en 99 grados de libertad
# Desviación residual: 79.247 en 96 grados de libertad
#AIC: 204.12
#
# Número de iteraciones de puntuación de Fisher: 5

Del resultado podemos observar lo siguiente:

  • Se proporcionan los coeficientes de regresión de Poisson, el error estándar de las estimaciones, las puntuaciones z y los valores p correspondientes.
  • El coeficiente para el examen es 0.09548 , lo que indica que el recuento de registros esperado para el número de ofertas para un aumento de una unidad en el examen es 0.09548 . Una forma más fácil de interpretar esto es tomar el valor exponenciado, es decir, e 0.09548 = 1.10 . Esto significa que hay un aumento del 10% en el número de ofertas recibidas por cada punto adicional obtenido en el examen de ingreso.
  • El coeficiente para la división B es 0.1756 , lo que indica que el recuento de registros esperado para el número de ofertas para un jugador en la división B es 0.1756 más alto que para un jugador en la división A. Una manera más fácil de interpretar esto es tomar el valor exponenciado, es decir e 0,1756 = 1,19 . Esto significa que los jugadores de la división B reciben un 19% más de ofertas que los jugadores de la división A. Tenga en cuenta que esta diferencia no es estadísticamente significativa (p = 0,519).
  • El coeficiente para la división C es -0.05251 , lo que indica que el recuento de registros esperado para el número de ofertas para un jugador en la división C es 0.05251 más bajo que para un jugador en la división A. Una forma más fácil de interpretar esto es tomar el valor exponencial, que es e 0.05251 = 0.94 . Esto significa que los jugadores de la división C reciben un 6% menos de ofertas que los jugadores de la división A. Tenga en cuenta que esta diferencia no es estadísticamente significativa (p = 850).

También se proporciona información sobre la desviación del modelo. Lo que más nos interesa es la desviación residual , que tiene un valor de 79,247 en 96 grados de libertad. Con estos números, podemos realizar una prueba de bondad de ajuste de chi-cuadrado para ver si el modelo se ajusta a los datos. El siguiente código ilustra cómo realizar esta prueba:

pchisq (79.24679, 96, cola inferior = FALSO)

# [1] 0.8922676

El valor p para esta prueba es 0,89 , que es mucho mayor que el nivel de significancia de 0,05. Podemos concluir que los datos se ajustan razonablemente bien al modelo.

Visualizando los resultados

También podemos crear un gráfico que muestre el número previsto de ofertas de becas recibidas según la división y la puntuación del examen de ingreso utilizando el siguiente código:

# encontrar el número previsto de ofertas utilizando los datos del modelo de regresión de Poisson ajustado
 $ phat <- predict (model, type = "response")

#crear gráfico que muestre el número de ofertas según la división y la puntuación del examen
 ggplot (datos, aes (x = examen, y = phat, color = división)) +
  geom_point (aes (y = ofertas), alpha = .7, position = position_jitter (h = .2)) +
  geom_line () +
  laboratorios (x = "Puntaje del examen de ingreso", y = "Número esperado de ofertas de becas")

Gráfico de regresión de Poisson en R

El gráfico muestra el mayor número de ofertas de becas esperadas para los jugadores que obtienen una puntuación alta en el examen de ingreso. Además, podemos ver que se espera que los jugadores de la división B (la línea verde) obtengan más ofertas en general que los jugadores de la división A o la división C.

Informar los resultados

Por último, podemos informar los resultados de la regresión de tal manera que resuma nuestros hallazgos:

Se corrió una regresión de Poisson para predecir el número de ofertas de becas recibidas por los jugadores de béisbol en función de las puntuaciones de los exámenes de ingreso y de división. Por cada punto adicional obtenido en la prueba de acceso, hay un aumento del 10% en el número de ofertas recibidas ( p <0,0001) . Se encontró que la división no era estadísticamente significativa.

Recursos adicionales

Introducción a la regresión lineal simple
Introducción a la regresión lineal múltiple
Introducción a la regresión polinomial

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Deja un comentario en el muro del agradecimiento para que todos sepán que Statologos explica mejor y facil y si te es viable puedes hacer una donación:

Puedes hacer un donativo
Muro del agradecimiento

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

En estadística, el error absoluto medio (MAE) es una forma de medir la precisión de un modelo dado. Se calcula…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!