8.4 Modelo Gamma para variables continuas positivas

Finalmente esta sección tratará sobre modelos para variables continuas que toman valores positivo. En particular, los modelos de regresión gamma constituyen una herramienta valiosa cuando se aborda la modelización de variables con distribuciones asimétricas y con heterocedasticidad, características comunes en datos relacionados con procesos de duración, costos y fenómenos de supervivencia. La regresión gamma se adapta de manera eficaz a situaciones donde la varianza no es constante y la relación entre las variables predictoras y la variable respuesta sigue una distribución gamma.

La distribución gamma se caracteriza por tener una forma paramétrica que incluye un parámetro de forma y un parámetro de escala. Para garantizar que la variable de respuesta sea positiva, el vínculo inverso se introduce utilizando la función inversa multiplicativa. Este enfoque asegura que la predicción del modelo sea siempre positiva, ya que la distribución gamma se utiliza a menudo para modelar variables que representan valores, costos, duraciones o tiempos hasta eventos, y estas no pueden ser negativas. La elección del vínculo inverso en un modelo de regresión gamma es esencial para garantizar la coherencia con la naturaleza de los datos y para lograr resultados interpretables y significativos en la práctica. Por ende, la función de enlace \(g(\cdot)\) para el MLG con una variable dependiente distribuida por un modelo Gamma es \(\frac{1}{\mu_{i}}\). Eso significa que el valor esperado de \(y_i\) observado, (\(E(y_i) = \mu_i\)), está relacionado con sus variables de entrada como sigue:

\[ \mu_{i} = \frac{1}{\boldsymbol{x}_i'\boldsymbol{\beta}} \]

En R, es posible utilizar la función svyglm del paquete survey para ajustar un modelo de regresión gamma a datos de encuestas de hogares. En particular, suponga que la variable de interés es Income y que se quiere relacionar con las covariables Age, Sex, Region, Zone y Desempleo. Nótese que el argumento family especifica la distribución de la variable dependiente y la función de enlace a utilizar. En este caso, se está utilizando una distribución gamma y la función de enlace inverso. La notación Gamma(link = "inverse") indica que se está modelando la variable dependiente siguiendo una distribución gamma con una función de enlace inverso.

modelo <- svyglm(
  formula = Income ~ Age + Sex +
    Region + Zone + Desempleo,
  design = diseno,
  family = Gamma(link = "inverse")
)

broom::tidy(modelo) %>% 
  arrange(p.value)
term estimate std.error statistic p.value
(Intercept) 0.0021 2e-04 8.6649 0.0000
ZoneUrban -0.0009 2e-04 -4.6608 0.0000
Desempleo 0.0010 2e-04 3.8719 0.0002
Age 0.0000 0e+00 2.8444 0.0053
SexMale -0.0001 1e-04 -2.7589 0.0068
RegionOccidente 0.0002 3e-04 0.7849 0.4342
RegionSur -0.0001 3e-04 -0.4153 0.6787
RegionCentro 0.0001 2e-04 0.2335 0.8158
RegionOriente 0.0000 3e-04 -0.1131 0.9102

De la tabla anterior, el intercepto, la zona urbana, el estado de desempleo, la edad y el sexo masculino resultaron significativos para explicar el ingreso con los datos de la encuesta. Una vez estimado los coeficientes, se estiman los intervalos de confianza para la predicción como sigue:

pred_IC <-
  data.frame(confint(predict(modelo, type = "response", se = T)))
colnames(pred_IC) <- c("Lim_Inf", "Lim_Sup")

pred_IC %>% slice(1:6L)
Lim_Inf Lim_Sup
361.4 523.1
349.6 502.1
364.6 547.4
385.0 587.0
347.0 496.1
365.0 549.0