log(media)
1.079
EP7120-Modelos Lineales Generalizados Aplicados
Universidad Nacional Agraria La Molina (UNALM), Perú
El modelo lineal normal fue usado como herramienta básica para estudiar relaciones entre una respuesta y un conjunto de covariables.
Sin embargo, en muchas aplicaciones esta suposición puede resultar forzada:
\[ Y_i \sim N(\mu_i,\sigma^2) \]
El problema no es solo ajustar un modelo, sino representar adecuadamente la naturaleza de la variable respuesta.
En la práctica, la variable respuesta puede tener restricciones naturales:
\[ Y_i \geq 0 \]
\[ 0 \leq Y_i \leq 1 \]
o puede tomar solo valores discretos.
Ejemplos:
El modelo lineal normal puede separarse en tres partes porque distingue:
En el modelo lineal normal, la función de enlace es la identidad.
Una alternativa usual fue transformar la variable respuesta para aproximar las condiciones del modelo normal.
Por ejemplo:
\[ Z_i = h(Y_i) \]
con transformaciones como:
\[ \log(Y_i), \qquad \sqrt{Y_i} \]
La idea era ajustar un modelo lineal normal sobre la respuesta transformada.
Una familia de transformaciones ampliamente usada fue propuesta por Box y Cox:
\[ Z_i = \begin{cases} \dfrac{Y_i^\lambda-1}{\lambda}, & \lambda \neq 0, \\[3mm] \log(Y_i), & \lambda = 0. \end{cases} \]
donde \(\lambda\) es un parámetro que debe estimarse.
La transformación buscaba que la nueva respuesta (Z_i) cumpliera aproximadamente:
\[ Z_i \sim N \]
\[ Var(Z_i)=\text{constante} \]
\[ E(Z_i)=\eta_i \]
Es decir, se intentaba recuperar normalidad, homogeneidad de varianza y linealidad.
En la práctica, una misma transformación rara vez logra simultáneamente:
Además, el modelo pasa a explicar:
\[ E(Z_i)=E\{h(Y_i)\} \]
y no directamente:
\[ E(Y_i)=\mu_i \]
Los modelos lineales generalizados surgen como una alternativa a esta estrategia.
En lugar de transformar la respuesta para forzar normalidad, se busca modelar directamente:
\[ \mu_i=E(Y_i) \]
respetando la naturaleza de la variable respuesta.
La generalización consiste en mantener una estructura de regresión, pero permitir:
Con esto se da paso a la definición formal de un modelo lineal generalizado.
Componente aleatorio: Sean \(Y_1,\ldots,Y_n\) v.a. independientes tal que
\[ Y_i \sim FE(\mu_i,\phi) \]
esto es
\[ E(Y_i)=\mu_i,\qquad i=1,\ldots,n. \]
Componente sistemático:
\[ \eta_i=\beta_1x_{i1}+\cdots+\beta_px_{ip}=x_i^\top\beta \]
donde \(\eta_i\) es denominado predictor lineal.
Función de enlace:
\[ g(\mu_i)=\eta_i \]
donde \(g(\cdot)\) es una función monótona y diferenciable.
El componente aleatorio especifica la distribución de la variable respuesta.
En los GLM se asume que \(Y_i\) pertenece a la familia exponencial:
\[ f(y;\theta,\phi) = \exp\left\{ \phi[y\theta-b(\theta)]+c(y,\phi) \right\}. \]
donde:
Si \(Y\) pertenece a la familia exponencial, entonces:
\[ E(Y)=\mu=b'(\theta) \]
y
\[ Var(Y)=\phi^{-1}b''(\theta). \]
Como:
\[ b''(\theta)=V(\mu), \]
se escribe:
\[ Var(Y)=\phi^{-1}V(\mu). \]
La función \(V(\mu)\) se denomina función de varianza y describe cómo cambia la varianza de \(Y\) cuando cambia su media.
En la notación de Paula, para una variable de la familia exponencial:
\[ Var(Y)=\phi^{-1}V(\mu). \]
La varianza se descompone en dos partes:
\[ Var(Y) = \underbrace{\phi^{-1}}_{\text{dispersión}} \cdot \underbrace{V(\mu)}_{\text{relación media-varianza}}. \]
Aquí \(\phi>0\) es el parámetro de precisión, por lo que \(\phi^{-1}\) puede leerse como factor de dispersión.
La función \(V(\mu)\) describe cómo cambia la variabilidad de la respuesta cuando cambia su media.
Por ejemplo:
\[ V(\mu)=1 \]
indica varianza constante.
\[ V(\mu)=\mu \]
indica que la varianza crece proporcionalmente con la media.
\[ V(\mu)=\mu^2 \]
indica que la varianza crece cuadráticamente con la media.
Si \(Y\) pertenece a la familia exponencial, entonces:
\[ \sqrt{\phi}(Y-\mu) \xrightarrow{d} N(0,V(\mu)), \qquad \phi\to\infty. \]
Equivalente:
\[ Y \approx N\left(\mu,\phi^{-1}V(\mu)\right) \]
para valores grandes de \(\phi\).
Esta propiedad muestra el papel de \(\phi\) como parámetro de precisión.
| Función de varianza | Interpretación |
|---|---|
| \(V(\mu)=1\) | Varianza constante |
| \(V(\mu)=\mu\) | La varianza crece proporcionalmente con la media |
| \(V(\mu)=\mu(1-\mu)\) | La varianza depende de una media acotada entre 0 y 1 |
| \(V(\mu)=\mu+\mu^2/k\) | La varianza crece más que en Poisson |
| \(V(\mu)=\mu^2\) | La varianza crece cuadráticamente con la media |
| \(V(\mu)=\mu^3\) | La varianza crece más rápidamente con la media |
En aplicaciones, la relación media-varianza orienta la elección del componente aleatorio.
Dentro de la familia exponencial, \(V(\mu)\) no solo describe variabilidad: también ayuda a caracterizar la distribución asociada.
La función de varianza conecta:
\[ \text{naturaleza de }Y_i \quad\longrightarrow\quad \text{distribución} \quad\longrightarrow\quad V(\mu). \]
Una forma exploratoria de estudiar la relación media-varianza es agrupar los datos y calcular, para cada grupo:
\[ \bar{y}_g \qquad \text{y} \qquad s_g^2. \]
Luego se grafica:
\[ \log(s_g^2) \quad \text{vs.} \quad \log(\bar{y}_g). \]
Si se observa una relación aproximadamente lineal:
\[ \log(s_g^2)\approx a+b\log(\bar{y}_g), \]
entonces:
\[ Var(Y)\propto \mu^b. \]
Así, el gráfico ayuda a identificar una posible función de varianza.
| Distribución | Tipo de respuesta | Soporte de \(Y\) | Rango de \(\mu\) | \(\theta\) | \(b(\theta)\) | \(\phi\) | \(V(\mu)\) |
|---|---|---|---|---|---|---|---|
| Normal | Continua simétrica | \(\mathbb{R}\) | \(\mathbb{R}\) | \(\mu\) | \(\theta^2/2\) | \(\sigma^{-2}\) | \(1\) |
| Poisson | Conteo | \(\mathbb{N}_0\) | \(\mathbb{R}^+\) | \(\log(\mu)\) | \(e^\theta\) | \(1\) | \(\mu\) |
| Binomial | Binaria / proporción | \(\{0,1,\ldots,m\}/m\) | \((0,1)\) | \(\log\left(\dfrac{\mu}{1-\mu}\right)\) | \(\log(1+e^\theta)\) | \(m\) | \(\mu(1-\mu)\) |
| Binomial negativa | Conteo con sobredispersión | \(\mathbb{N}_0\) | \(\mathbb{R}^+\) | \(\log\left(\dfrac{\mu}{\mu+k}\right)\) | \(-k\log(1-e^\theta)\) | \(1\) | \(\mu+\dfrac{\mu^2}{k}\) |
| Gamma | Positiva asimétrica | \(\mathbb{R}^+\) | \(\mathbb{R}^+\) | \(-\dfrac{1}{\mu}\) | \(-\log(-\theta)\) | \(\dfrac{1}{CV^2}\) | \(\mu^2\) |
| Normal inversa | Positiva asimétrica | \(\mathbb{R}^+\) | \(\mathbb{R}^+\) | \(-\dfrac{1}{2\mu^2}\) | \(-\sqrt{-2\theta}\) | \(\phi\) | \(\mu^3\) |
Nota. \(\mathbb{N}_0=\{0,1,2,\ldots\}\); \(\mathbb{R}^+=(0,\infty)\); en la binomial, \(m\) representa el número de ensayos y la respuesta se expresa como proporción \(Y^*\) de éxitos; en la binomial negativa, \(k>0\) es el parámetro de dispersión; \(CV\) representa el coeficiente de variación. Además, para la notación de la tabla: \(Y^*\sim B(m,\mu)\), donde \(Y^*\) es la proporción de éxitos en \(m\) ensayos independientes; \(Y\sim BN(\mu,k)\), con \(\mu>0\); y \(Y\sim G(\mu,\phi)\), donde \(\phi^{-1}\) corresponde al coeficiente de variación. La función \(V(\mu)\) corresponde a la función de varianza.
Se simula un estudio de eventos de plaga en parcelas agrícolas.
Las parcelas se agrupan según su nivel de exposición al riesgo. Para el grupo \(g\), se asume que el número esperado de eventos es:
\[ \lambda_g \in [1,20]. \]
Para cada parcela \(i\) del grupo \(g\) se genera un conteo:
\[ Y_{ig}\sim Poisson(\lambda_g). \]
Como en una distribución Poisson:
\[ E(Y)=Var(Y)=\mu, \]
se espera observar:
\[ V(\mu)=\mu. \]
Para cada grupo se calculó:
\[ \bar{y}_g \qquad \text{y} \qquad s_g^2. \]
Luego se graficó:
\[ \log(s_g^2) \quad \text{frente a} \quad \log(\bar{y}_g). \]
Si:
\[ Var(Y)\propto \mu^b, \]
entonces:
\[ \log{Var(Y)}=a+b\log(\mu). \]
En esta simulación, la pendiente estimada es:
log(media)
1.079
La pendiente estimada es cercana a 1.
Por tanto:
\[ Var(Y)\propto \mu. \]
Esto coincide con lo esperado para una respuesta Poisson:
\[ V(\mu)=\mu. \]
El ejemplo muestra que la relación media-varianza puede explorarse antes de elegir el componente aleatorio del GLM.
set.seed(123)
n_grupos <- 30
tam_grupo <- 40
lambda_grupo <- seq(1, 20, length.out = n_grupos)
datos_var <- data.frame(
grupo = rep(1:n_grupos, each = tam_grupo),
y = unlist(lapply(lambda_grupo, function(lambda) {
rpois(tam_grupo, lambda = lambda)
}))
)
resumen_grupo <- aggregate(
y ~ grupo,
data = datos_var,
FUN = function(z) c(media = mean(z), varianza = var(z))
)
resumen_grupo <- data.frame(
grupo = resumen_grupo$grupo,
media = resumen_grupo$y[, "media"],
varianza = resumen_grupo$y[, "varianza"]
)
ajuste_mv <- lm(log(varianza) ~ log(media), data = resumen_grupo)
plot(
log(resumen_grupo$media),
log(resumen_grupo$varianza),
pch = 19,
xlab = "log(media por grupo)",
ylab = "log(varianza por grupo)",
main = "Relación empírica media-varianza"
)
abline(ajuste_mv, lwd = 2)
coef(ajuste_mv)El componente sistemático define cómo ingresan las covariables al modelo mediante el predictor lineal:
\[ \eta_i=x_i^\top\beta. \]
Es decir:
\[ \eta_i = \beta_1x_{i1} + \beta_2x_{i2} + \cdots + \beta_px_{ip}. \]
Aquí pueden incorporarse variables cuantitativas, variables cualitativas codificadas, interacciones o transformaciones de covariables.
La función de enlace conecta la media de la respuesta con el predictor lineal:
\[ g(\mu_i)=\eta_i. \]
La función \(g(\cdot)\) debe ser:
Por tanto:
\[ \mu_i=g^{-1}(\eta_i). \]
Su papel es permitir que \(\mu_i\) permanezca en el rango adecuado para cada tipo de respuesta:
\[ \mu_i>0 \]
para conteos o respuestas positivas, y
\[ 0<\mu_i<1 \]
para probabilidades o proporciones.
| Enlace | Forma | Transforma | Uso frecuente |
|---|---|---|---|
| Identidad | \(\mu_i=\eta_i\) | \(\mu_i\in\mathbb{R}\) hacia \(\eta_i\in\mathbb{R}\) | Respuestas continuas aproximadamente normales |
| Log | \(\log(\mu_i)=\eta_i\) | \(\mu_i>0\) hacia \(\eta_i\in\mathbb{R}\) | Conteos, tasas y respuestas positivas |
| Logit | \(\log\left(\dfrac{\mu_i}{1-\mu_i}\right)=\eta_i\) | \(0<\mu_i<1\) hacia \(\eta_i\in\mathbb{R}\) | Respuestas binarias o proporciones |
| Probit | \(\Phi^{-1}(\mu_i)=\eta_i\) | \(0<\mu_i<1\) hacia \(\eta_i\in\mathbb{R}\) | Respuestas binarias o proporciones |
| Complemento log-log | \(\log\{-\log(1-\mu_i)\}=\eta_i\) | \(0<\mu_i<1\) hacia \(\eta_i\in\mathbb{R}\) | Respuestas binarias con efecto asimétrico |
| Inverso | \(\mu_i^{-1}=\eta_i\) | \(\mu_i>0\) hacia \(\eta_i\) restringido | Respuestas positivas; enlace canónico Gamma |
| Inverso cuadrático | \(\mu_i^{-2}=\eta_i\) | \(\mu_i>0\) hacia \(\eta_i>0\) | Respuestas positivas; enlace canónico normal inversa |
Nota. La misma función de enlace puede usarse con más de una distribución. La elección del enlace debe considerar el rango de \(\mu_i\), la interpretación de los coeficientes y, en algunos casos, si se desea usar el enlace canónico.
El modelo lineal normal se recupera tomando:
\[ Y_i\sim N(\mu_i,\sigma^2), \]
\[ \eta_i=x_i^\top\beta, \]
y enlace identidad:
\[ g(\mu_i)=\mu_i. \]
Por tanto:
\[ \mu_i=\eta_i=x_i^\top\beta. \]
Si \(Y_i\) representa un conteo, una opción natural es:
\[ Y_i\sim Poisson(\mu_i). \]
Como \(\mu_i>0\), se puede usar enlace log:
\[ \log(\mu_i)=x_i^\top\beta. \]
Equivalente a:
\[ \mu_i=\exp(x_i^\top\beta)>0. \]
Si \(Y_i\) representa éxito o fracaso:
\[ Y_i\sim Bernoulli(\mu_i), \]
donde:
\[ \mu_i=P(Y_i=1). \]
Como \(0<\mu_i<1\), se puede usar enlace logit:
\[ \log\left(\dfrac{\mu_i}{1-\mu_i}\right)=x_i^\top\beta. \]
La cantidad \(\dfrac{\mu_i}{1-\mu_i}\) representa la razón de chances.
Si \(Y_i\) es una variable positiva y asimétrica:
\[ Y_i>0, \]
una opción posible es:
\[ Y_i\sim Gamma(\mu_i,\phi). \]
Se puede usar enlace inverso:
\[ \mu_i^{-1}=x_i^\top\beta, \]
o enlace log:
\[ \log(\mu_i)=x_i^\top\beta, \]
lo que implica:
\[ \mu_i=\exp(x_i^\top\beta)>0. \]
Para definir un GLM se deben elegir tres elementos:
\[\begin{array}{lll} 1. & \text{Distribución de }Y_i, & \text{según la naturaleza de la respuesta.}\\[1mm] 2. & \text{Predictor lineal}, & \text{según las covariables disponibles.}\\[1mm] 3. & \text{Función de enlace}, & \text{según el rango de }\mu_i. \end{array}\]Un GLM permite escribir, en una misma estructura:
\[ Y_i\sim FE(\mu_i,\phi), \]
\[ \eta_i=x_i^\top\beta, \]
\[ g(\mu_i)=\eta_i. \]
Así, el modelo lineal normal, la regresión de Poisson, la regresión logística y otros modelos se estudian bajo un marco común.