Capítulo 8 Modelos lineales generalizados en encuestas de hogares

Los modelos lineales generalizados (MLGs) proporcionan una aproximación unificada a la mayoría de los procedimientos usados en estadística aplicada.

El nombre se debe a que ellos generalizan los modelos lineales basados en el supuesto de distribución normal para la variable respuesta. Al igual que los modelos lineales clásicos, tratados en capítulos anteriores, los MLG tienen aplicación en todas las disciplinas del saber. Nelder & Wedderburn (1972) presentaron por primera vez el término en un artículo que, sin lugar a dudas, es uno de los más importantes publicados en el área de estadística, por su gran impacto en la forma como se aplica esta disciplina. Desde entonces, poco a poco los modelos lineales generalizados se han ido conociendo y usando ampliamente.

La genialidad de Nelder & Wedderburn (1972) consistió en darse cuenta (y demostrar) que muchos de los métodos estadísticos ampliamente usados en la época, aparentemente desligados unos de otros, tales como la regresión lineal múltiple, el análisis probit, el análisis de datos provenientes de ensayos de dilución usando la distribución binomial (realizados por Fisher), los modelos logit para proporciones, los modelos log-lineales para conteos, los modelos de regresión para datos de sobrevivencia, entre otros, se podían tratar con un marco teórico unificado y que las estimaciones de máxima verosimilitud para los parámetros de esos modelos podían obtenerse por el mismo algoritmo conocido como mínimos cuadrados ponderados iterativos (MCPI).

Los desarrollos teóricos en modelos lineales clásicos parten del supuesto que la variable respuesta tiene distribución normal, cuando un fenómeno en estudio genera datos para los cuales no es razonable la suposición de normalidad, como por ejemplo cuando la respuesta es categórica, una proporción o un conteo, obviamente la respuesta no es normal y no es recomendable analizar los datos suponiendo normalidad.

Otro supuesto de los modelos lineales clásicos es el de homogeneidad de la varianza, situación que no se verifica cuando la respuesta es, por ejemplo, una variable aleatoria de poisson, distribución donde la media y la varianza son iguales, es decir, en este modelo un cambio en la media necesariamente implica cambio en la varianza.

Los modelos lineales generalizados son excelentes para modelar datos en condiciones de no normalidad y varianza no constante. Específicamente, se debería considerar usar los MLGs cuando la variable respuesta es: conteos expresados como proporciones, conteos que no son proporciones, respuestas binarias, tiempos de sobrevida donde la varianza se incrementa con la media.

Sin lugar a dudas, en las encuestas de hogares existen variables de tipo conteo, binomiales, etc que meritan su análisis usando modelos lineales generalizados. Es por esto que, este capítulo es de relevancia en este texto.

Para ejemplificar los conceptos, inicialmente se cargan las librerías y la base de datos como sigue:

options(digits = 4)
options(tinytex.verbose = TRUE)
library (survey)
library(srvyr)
library(convey)
library(TeachingSampling)
library(printr)
library(stargazer)
library(broom)
library(jtools)
library(modelsummary)
library(patchwork)

Cargue de las bases de datos,

encuesta <- readRDS("Data/encuesta.rds")
data("BigCity", package = "TeachingSampling")

Por último, se define el diseño muestral,

diseno <- encuesta %>%
  as_survey_design(
    strata = Stratum,
    ids = PSU,
    weights = wk,
    nest = T
  )

Se generan nuevas variables en el diseño para ser utilizadas en los ejemplos,

diseno <- diseno %>% mutate(
  pobreza = ifelse(Poverty != "NotPoor", 1, 0),
  desempleo = ifelse(Employment == "Unemployed", 1, 0))

Como se ha definido en secciones y capítulos anteriores, con variables dicotómicas se pueden generar tablas de frecuencias teniendo en cuenta los factores de expansión del diseño. En R se hace usando la función svyby de la siguiente manera. Primero, se define la variable a la que se le requiere hacer la tabla (formula), luego se le indica cuál es la variable clasificadora (by). En este caso se quiere hacer una tabla de pobreza claificada por sexo. En tercer lugar se define la función que se quiere aplicar (FUN), en este caso, se quieren calcular totales por celda, por último, se define el diseño de muestreo (design)

tab_pobreza_sexo <- svyby(formula = ~factor(pobreza), 
                          by = ~Sex,
                          FUN = svytotal, 
                          design = as.svrepdesign(diseno), 
                          se=F, na.rm=T, ci=T, keep.var=TRUE)
tab_pobreza_sexo
Sex factor(pobreza)0 factor(pobreza)1 se1 se2
Female Female 48366 30824 2411 2916
Male Male 43032 28044 2522 3095

Sin embargo para la estimación de tamaños, se puede emplear también la función svytable como sigue:

tab <- svytable(formula = ~pobreza + Sex, design = diseno)
kable(tab)
Female Male
0 48366 43032
1 30824 28044

Al hacer uso de la función svyby pero usando en el argumento FUN= svymean es posible estimar proporciones como se muestra a continuación:

tab_pobreza_sexo <- svyby(formula = ~factor(pobreza), 
                          by = ~Sex,
                          FUN = svymean, 
                          design = as.svrepdesign(diseno), 
                          se=F, na.rm=T, ci=T, keep.var=TRUE)
tab_pobreza_sexo
Sex factor(pobreza)0 factor(pobreza)1 se1 se2
Female Female 0.6108 0.3892 0.0316 0.0316
Male Male 0.6054 0.3946 0.0366 0.0366

También se pueden hacer tablas de doble entrada para la proporción. En forma alternativa es posible usar la función prop.table del paquete base.

kable(prop.table(tab, margin = 2))
Female Male
0 0.6108 0.6054
1 0.3892 0.3946

Estas diferentes formas de proceder son de mucha importancia al momento de hacer uso de pruebas de independencia en tablas cruzadas.