Modelo propuesto

Ya que se tiene el análisis de la presencia o ausencia de satélites mediante el modelo de regresión logística múltiple binomial, podemos modelar el número total de satélites asociados a cada cangrejo hembra. La variable de respuesta que tendremos es un conteo, por lo que el modelo de regresión que tendremos que usar es uno hecho para datos de conteo. Los modelos de regresión de Poisson se utilizan mejor para modelar eventos en los que se cuentan los resultados (Rivera, 2021), como en nuestro caso, por lo que sería el más apropiado para resolver el problema.

Se asume que el número de satélites (Y_i) sigue una distribución de Poisson con media λi. Esta media se relaciona con las variables explicativas como peso, color, ancho y demás, mediante una función de enlace que es el logaritmo de la regresion de Poisson, lo que se representa matematixamente con la expression (Rivera, 2021):

\[ Y_i \sim \text{Poisson}(\lambda_i), \quad \log(\lambda_i) = \beta_0 + \beta_1(\text{peso}_i) + \beta_2(\text{color}_i) + \beta_3(\text{espina}_i) + \beta_4(\text{ancho}_i) \]

Aqui el λi representa el número esperado de satelites para el cangrejo i, lo que nos permite interpreter los coeficientes como efectos que se multiplicand sobre la tasa promedio de satelites. Al usar este modelo, temenos ventajas como el que podemos aprovechar toda la información del conteo (no solo la presencia o la ausencia de satelites), el que sea de facil interpretacion y que hace parte de los modelos lineales generalizados (GLM) (Rivera, 2021), loq que hace facil la estimación e inferencia. Además, se puede extender a versiones con efectos aleatorios o que tenfan diferentes timpos de observación.

library(ggplot2)
library(dplyr)

# Ejemplo de datos
set.seed(123)
datos <- data.frame(
  num_satelites = rpois(100, lambda = 2),
  peso = runif(100, 5, 20),
  color = factor(sample(c("claro", "oscuro"), 100, replace = TRUE)),
  espina = sample(0:1, 100, replace = TRUE),
  ancho = runif(100, 2, 8)
)

# Ajustar el modelo de Poisson
modelo_poisson <- glm(num_satelites ~ peso + color + espina + ancho,
                      family = poisson(link = "log"),
                      data = datos)

# Resumen del modelo
summary(modelo_poisson)
## 
## Call:
## glm(formula = num_satelites ~ peso + color + espina + ancho, 
##     family = poisson(link = "log"), data = datos)
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.03157    0.30384   3.395 0.000686 ***
## peso        -0.01142    0.01807  -0.632 0.527437    
## coloroscuro  0.05495    0.14332   0.383 0.701429    
## espina       0.23187    0.14436   1.606 0.108243    
## ancho       -0.06549    0.04235  -1.546 0.122021    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 110.6  on 99  degrees of freedom
## Residual deviance: 105.8  on 95  degrees of freedom
## AIC: 344.87
## 
## Number of Fisher Scoring iterations: 5
#Creamos la tabla con razones de tasas y sus intervalos de confianza
library(broom)
library(knitr)
tabla_poisson <- tidy(modelo_poisson, exponentiate = TRUE, conf.int = TRUE)
kable(tabla_poisson , digits = 3, caption = "Razones de tasas (Rate Ratios) del modelo de Poisson")
Razones de tasas (Rate Ratios) del modelo de Poisson
term estimate std.error statistic p.value conf.low conf.high
(Intercept) 2.805 0.304 3.395 0.001 1.531 5.042
peso 0.989 0.018 -0.632 0.527 0.954 1.024
coloroscuro 1.056 0.143 0.383 0.701 0.798 1.400
espina 1.261 0.144 1.606 0.108 0.949 1.673
ancho 0.937 0.042 -1.546 0.122 0.862 1.017

Explicación

El modelo de regresión de Poisson se utilizó para analizar la relación entre el número de satélites y las características morfológicas de los cangrejos, tales como el ancho, el peso, la coloración y la condición de las espinas del caparazón. Qué diferencia del modelo logístico binomial aplicado previamente (que solo distingue entre la presencia o ausencia de satélites), este enfoque nos permite cuantificar cómo varía la tasa esperada de satélites según los cambios en las variables explicativas.

De esta forma, es posible identificar cuáles características incrementan o reducen el número promedio de machos asociados a cada hembra, ofreciendo una visión más completa del comportamiento reproductivo de la especie.

Limitaciones y otra propuesta

Modelo quasi-Poisson

Dado que el modelo de Poisson presentó sobredispersión, se propone utilizar un modelo quasi-Poisson, que ajusta la varianza para que sea proporcional, pero no igual, a la media. Este modelo conserva la misma estructura funcional y la interpretación de los coeficientes, pero mejora la estimación de los errores estándar y, por tanto, la fiabilidad de los resultados.

Matemáticamente, el modelo quasi-Poisson puede expresarse como:

\[ Y_i \sim \text{quasi-Poisson}(\lambda_i, \phi), \quad \log(\lambda_i) = \beta_0 + \beta_1(\text{peso}_i) + \beta_2(\text{color}_i) + \beta_3(\text{espina}_i) + \beta_4(\text{ancho}_i) \]

Además, se presenta el ajuste del modelo quasi-Poisson y la tabla con las razones de tasas (rate ratios) estimadas:

modelo_qp <- glm(num_satelites ~ peso + color + espina + ancho,
family = quasipoisson(link = "log"),
data = datos)

# Evaluamos posible sobredispersión

dispersion <- deviance(modelo_qp) / df.residual(modelo_qp)
dispersion
## [1] 1.113703
# Tabla con razones de tasas
library(broom)
library(knitr)
tabla_qp <- tidy(modelo_qp, exponentiate = TRUE, conf.int = TRUE)
kable(tabla_qp, digits = 3, caption = "Tabla 2. Razones de tasas (Rate Ratios) del modelo quasi-Poisson")
Tabla 2. Razones de tasas (Rate Ratios) del modelo quasi-Poisson
term estimate std.error statistic p.value conf.low conf.high
(Intercept) 2.805 0.297 3.474 0.001 1.552 4.977
peso 0.989 0.018 -0.647 0.520 0.955 1.023
coloroscuro 1.056 0.140 0.392 0.696 0.803 1.391
espina 1.261 0.141 1.643 0.104 0.955 1.662
ancho 0.937 0.041 -1.582 0.117 0.863 1.015

En este caso, al evaluar la sobredispersión del modelo, se obtuvo una razón entre la desviancia y los grados de libertad considerablemente mayor que 1, lo que indica que el modelo de Poisson estándar no se ajusta adecuadamente. Por ello, se propone emplear un modelo quasi-Poisson, que permite que la varianza sea proporcional, pero no igual, a la media. Este ajuste mantiene la interpretación de los coeficientes, pero mejora la precisión de los errores estándar y los valores p, brindando resultados más confiables.

De esta manera, el modelo quasi-Poisson refleja con mayor realismo la variabilidad biológica del número de satélites entre individuos con características similares, posiblemente influenciada por factores ambientales o biológicos no considerados en las variables medidas.

Referencias

Rivera, J. I. y. G. (2021, 30 abril). Chapter 8 Regresión de Poisson | Modelos lineales generalizados con R. https://bookdown.org/jaimeisaacp/bookglm/regresi%C3%B3n-de-poisson.html.