5.4 Variables categóricas
Los predictores categóricos son comunes en los modelos estadísticos. Esta sección compara variables dummy y variables índice, explicando por qué las variables índice son a menudo más naturales y fáciles de interpretar en modelos bayesianos.
5.4.1 Variables dummy vs índice
Hay dos formas de codificar una variable categórica:
-
Variables dummy: Crear indicadores binarios para categorías. Una categoría es la referencia (línea base). Cada coeficiente es la diferencia entre esa categoría y la referencia.
-
Variables índice: Asignar un índice entero a cada categoría. Usar un vector de parámetros , uno por categoría. Cada es el valor esperado para la categoría .
# Compare dummy and index variable encoding
set.seed(42)
n <- 100
# Simulate data with 3 groups
group <- sample(1:3, n, replace = TRUE)
true_means <- c(150, 160, 170)
y <- true_means[group] + rnorm(n, sd = 5)
# Dummy variable encoding (group 1 is reference)
m_dummy <- lm(y ~ factor(group))
cat("Dummy variable encoding:\n")
cat(" Intercept (group 1):", round(coef(m_dummy)[1], 2), "\n")
cat(" Group 2 - Group 1:", round(coef(m_dummy)[2], 2), "\n")
cat(" Group 3 - Group 1:", round(coef(m_dummy)[3], 2), "\n")
# Index variable encoding (separate means)
m_index <- lm(y ~ 0 + factor(group))
cat("\nIndex variable encoding:\n")
cat(" Group 1 mean:", round(coef(m_index)[1], 2), "\n")
cat(" Group 2 mean:", round(coef(m_index)[2], 2), "\n")
cat(" Group 3 mean:", round(coef(m_index)[3], 2), "\n")
# Plot
boxplot(y ~ group, col = c("steelblue", "firebrick", "darkgreen"),
main = "Height by group",
xlab = "Group", ylab = "Height (cm)")
abline(h = true_means, lty = 2, col = "gray50")5.4.2 Por qué las variables índice son mejores para modelos bayesianos
Las variables índice son a menudo preferibles en modelos bayesianos porque:
- Sin referencia arbitraria: La codificación dummy requiere elegir una categoría de referencia, lo que afecta la interpretación de todos los coeficientes. Las variables índice tratan todas las categorías simétricamente.
- Distribuciones a priori naturales: Con variables índice, la distribución a priori se aplica directamente a la media de cada categoría. Con variables dummy, la distribución a priori se aplica a diferencias, lo que es menos intuitivo.
- Se extiende a modelos multinivel: Las variables índice se generalizan naturalmente a modelos multinivel (Capítulo 12), donde cada categoría obtiene su propio parámetro extraído de una distribución común.
- Más fáciles de interpretar: La variable índice da directamente el valor esperado para cada categoría, sin necesidad de sumar el intercepto.
5.4.3 Múltiples categorías con predictores
Podemos combinar predictores categóricos y continuos:
Esto da a cada grupo su propio intercepto pero una pendiente común.
# Model with categorical intercept and continuous predictor
set.seed(42)
n <- 150
# Three groups, each with different intercept but same slope
group <- sample(1:3, n, replace = TRUE)
x <- runif(n, 0, 10)
true_intercepts <- c(150, 155, 160)
y <- true_intercepts[group] + 2 * x + rnorm(n, sd = 3)
# Fit with index variable for group and continuous predictor
fit <- lm(y ~ 0 + factor(group) + x)
cat("Model: y = alpha[group] + beta * x\n")
cat(" alpha[1]:", round(coef(fit)[1], 2), "\n")
cat(" alpha[2]:", round(coef(fit)[2], 2), "\n")
cat(" alpha[3]:", round(coef(fit)[3], 2), "\n")
cat(" beta:", round(coef(fit)[4], 2), "\n")
# Plot
colors <- c("steelblue", "firebrick", "darkgreen")
plot(x, y, pch = 16, col = colors[group],
main = "Categorical intercepts with common slope",
xlab = "x", ylab = "y")
for (g in 1:3) {
abline(a = coef(fit)[g], b = coef(fit)[4], col = colors[g], lwd = 2)
}
legend("topleft", legend = paste("Group", 1:3), col = colors, lwd = 2)Las categorías no son especiales. En un modelo bayesiano, una variable categórica es solo una forma de asignar diferentes parámetros a diferentes grupos. La distribución a priori sobre esos parámetros puede ser independiente (como en esta sección) o correlacionada (como en modelos multinivel). La idea clave es que el modelo no sabe ni le importa que las categorías sean "categóricas" — solo ve un mapeo de observaciones a parámetros. Por esto las variables índice son tan naturales: hacen el mapeo explícito y las distribuciones a priori transparentes.
Resumen de la Sección 5.4
- Las variables dummy codifican categorías como diferencias respecto a una categoría de referencia.
- Las variables índice asignan un parámetro separado a cada categoría.
- Las variables índice son preferibles en modelos bayesianos: sin referencia arbitraria, distribuciones a priori naturales, y se extienden a modelos multinivel.
- Los predictores categóricos y continuos pueden combinarse: .
- Las categorías son solo un mapeo de observaciones a parámetros — el modelo las trata como cualquier otro parámetro.