Skip to content
Statistical RethinkingStatistical Rethinking

7.1 Construyendo una interacción

Una interacción ocurre cuando el efecto de una variable depende del valor de otra. Modelar interacciones es esencial cuando la pendiente de una relación cambia entre grupos o contextos.

7.1.1 ¿Qué es una interacción?

Sin una interacción, el modelo asume que el efecto de cada predictor es constante — el mismo para todos los valores de los otros predictores. Con una interacción, el efecto de un predictor se convierte en una función del otro.

μi=α+β1xi+β2zi+β3xizi\mu_i = \alpha + \beta_1 x_i + \beta_2 z_i + \beta_3 x_i z_i

El término β3xizi\beta_3 x_i z_i es el término de interacción. Permite que la pendiente de xx dependa de zz y viceversa.

# Demonstrate an interaction
# The effect of study time on test scores depends on sleep
set.seed(42)
n <- 200

# Study hours

study <- runif(n, 0, 10)

# Sleep hours

sleep <- runif(n, 4, 9)

# Test score: effect of study depends on sleep

# When sleep is low, study has less effect

# When sleep is high, study has more effect

score <- 50 + 3 _ study + 2 _ sleep + 0.5 _ study _ sleep + rnorm(n, sd = 5)

# Fit model without interaction

m_no <- lm(score ~ study + sleep)

# Fit model with interaction

m_int <- lm(score ~ study * sleep)

cat("Without interaction:\n")
cat(" study:", round(coef(m_no)[2], 3), "\n")
cat(" sleep:", round(coef(m_no)[3], 3), "\n")

cat("\nWith interaction:\n")
cat(" study:", round(coef(m_int)[2], 3), "\n")
cat(" sleep:", round(coef(m_int)[3], 3), "\n")
cat(" study:sleep:", round(coef(m_int)[4], 3), "\n")

cat("\nThe interaction term (0.5) means:\n")
cat(" Each extra hour of sleep increases the study effect by 0.5\n")
Click Run to execute this code in your browser with WebR

7.1.2 El ejemplo de los tulipanes

El libro usa un experimento con tulipanes: el crecimiento de los tulipanes depende tanto de la luz como del agua, y el efecto de la luz depende de la disponibilidad de agua.

# Simulate the tulip data
set.seed(42)
n <- 27

# Light and water levels (0, 1, 2)

light <- rep(c(0, 1, 2), each = 9)
water <- rep(rep(c(0, 1, 2), each = 3), 3)

# Blooms: interaction of light and water

blooms <- 10 + 5 _ light + 5 _ water + 3 _ light _ water + rnorm(n, sd = 2)

# Fit models

m_main <- lm(blooms ~ light + water)
m_int <- lm(blooms ~ light * water)

cat("Main effects only:\n")
cat(" light:", round(coef(m_main)[2], 2), "\n")
cat(" water:", round(coef(m_main)[3], 2), "\n")

cat("\nWith interaction:\n")
cat(" light:", round(coef(m_int)[2], 2), "\n")
cat(" water:", round(coef(m_int)[3], 2), "\n")
cat(" light:water:", round(coef(m_int)[4], 2), "\n")

# Visualize

par(mfrow = c(1, 3))
for (w in 0:2) {
idx <- water == w
plot(light[idx], blooms[idx], pch = 16, col = "steelblue",
xlim = c(0, 2), ylim = range(blooms),
main = sprintf("Water = %d", w),
xlab = "Light", ylab = "Blooms")
abline(lm(blooms[idx] ~ light[idx]), lwd = 2, col = "firebrick")
}
par(mfrow = c(1, 1))
Click Run to execute this code in your browser with WebR

7.1.3 Interpretación de la interacción

El coeficiente de interacción β3\beta_3 nos dice cómo cambia la pendiente de xx por cada unidad de aumento en zz:

∂μ∂x=β1+β3z\frac{\partial \mu}{\partial x} = \beta_1 + \beta_3 z

Así, la pendiente de xx es β1\beta_1 cuando z=0z = 0, y aumenta en β3\beta_3 por cada unidad de aumento en zz.

Rethinking

Las interacciones no son opcionales cuando la teoría las exige. Si su teoría dice que el efecto de la educación sobre el ingreso depende de la clase social, entonces debe incluir una interacción. No hacerlo obliga al modelo a asumir un efecto constante, lo que contradice la teoría. El modelo es un golem — no añadirá interacciones por sí solo. Usted debe decirle que lo haga. Y una vez que añade una interacción, debe interpretarla cuidadosamente: los efectos principales ya no son "el efecto" de cada variable — son el efecto cuando la otra variable es cero.

Resumen de la Sección 7.1

  • Una interacción significa que el efecto de un predictor depende del valor de otro.
  • El término de interacción β3xizi\beta_3 x_i z_i permite que la pendiente varíe.
  • La pendiente de xx es β1+β3z\beta_1 + \beta_3 z — depende de zz.
  • Las interacciones deben incluirse cuando la teoría lo exige, no solo cuando son significativas.
  • Con una interacción, los efectos principales son el efecto cuando la otra variable es cero.