Skip to content
Statistical RethinkingStatistical Rethinking

7.2 Simetría de la interacción lineal

Las interacciones son simétricas. Si el efecto de xx depende de zz, entonces el efecto de zz también depende de xx. Esta simetría tiene consecuencias importantes para la interpretación y la visualización.

7.2.1 La simetría

El modelo de interacción lineal es:

μi=α+βxxi+βzzi+βxzxizi\mu_i = \alpha + \beta_x x_i + \beta_z z_i + \beta_{xz} x_i z_i

La pendiente de xx es:

∂μ∂x=βx+βxzz\frac{\partial \mu}{\partial x} = \beta_x + \beta_{xz} z

Y la pendiente de zz es:

∂μ∂z=βz+βxzx\frac{\partial \mu}{\partial z} = \beta_z + \beta_{xz} x

El mismo término de interacción βxz\beta_{xz} aparece en ambas. La interacción es simétrica: es igualmente cierto que "el efecto de xx depende de zz" y que "el efecto de zz depende de xx."

# Demonstrate the symmetry of interactions
set.seed(42)
n <- 200
study <- runif(n, 0, 10)
sleep <- runif(n, 4, 9)
score <- 50 + 3 * study + 2 * sleep + 0.5 * study * sleep + rnorm(n, sd = 5)

m_int <- lm(score ~ study * sleep)
bx <- coef(m_int)[2]
bz <- coef(m_int)[3]
bxz <- coef(m_int)[4]

cat("Interaction model:\n")
cat(" beta_study:", round(bx, 3), "\n")
cat(" beta_sleep:", round(bz, 3), "\n")
cat(" beta_study:sleep:", round(bxz, 3), "\n")

cat("\nSlope of study at sleep = 4:", round(bx + bxz _ 4, 3), "\n")
cat("Slope of study at sleep = 6:", round(bx + bxz _ 6, 3), "\n")
cat("Slope of study at sleep = 8:", round(bx + bxz * 8, 3), "\n")

cat("\nSlope of sleep at study = 0:", round(bz + bxz _ 0, 3), "\n")
cat("Slope of sleep at study = 5:", round(bz + bxz _ 5, 3), "\n")
cat("Slope of sleep at study = 10:", round(bz + bxz * 10, 3), "\n")

cat("\nThe interaction is symmetric:\n")
cat(" Effect of study depends on sleep\n")
cat(" Effect of sleep depends on study\n")
cat(" Same coefficient (beta_xz) governs both\n")
Click Run to execute this code in your browser with WebR

7.2.2 Visualización de la simetría

Podemos visualizar la interacción desde cualquiera de las dos perspectivas: graficar el efecto de xx a diferentes valores de zz, o graficar el efecto de zz a diferentes valores de xx. Ambas muestran la misma interacción.

# Visualize the symmetry of interactions
set.seed(42)
n <- 200
study <- runif(n, 0, 10)
sleep <- runif(n, 4, 9)
score <- 50 + 3 * study + 2 * sleep + 0.5 * study * sleep + rnorm(n, sd = 5)

m_int <- lm(score ~ study * sleep)

par(mfrow = c(1, 2))

# Left: effect of study at different sleep levels

study_seq <- seq(0, 10, length.out = 100)
colors <- c("firebrick", "steelblue", "darkgreen")
sleep_vals <- c(4, 6, 8)

plot(NULL, xlim = c(0, 10), ylim = c(40, 130),
xlab = "Study hours", ylab = "Score",
main = "Effect of study at different sleep levels")
for (i in 1:3) {
pred <- coef(m*int)[1] + coef(m_int)[2] * study*seq +
coef(m_int)[3] * sleep*vals[i] +
coef(m_int)[4] * study*seq * sleep_vals[i]
lines(study_seq, pred, lwd = 2, col = colors[i])
}
legend("topleft", legend = paste("Sleep =", sleep_vals), col = colors, lwd = 2)

# Right: effect of sleep at different study levels

sleep_seq <- seq(4, 9, length.out = 100)
study_vals <- c(0, 5, 10)

plot(NULL, xlim = c(4, 9), ylim = c(40, 130),
xlab = "Sleep hours", ylab = "Score",
main = "Effect of sleep at different study levels")
for (i in 1:3) {
pred <- coef(m*int)[1] + coef(m_int)[2] * study*vals[i] +
coef(m_int)[3] * sleep*seq +
coef(m_int)[4] * study*vals[i] * sleep_seq
lines(sleep_seq, pred, lwd = 2, col = colors[i])
}
legend("topleft", legend = paste("Study =", study_vals), col = colors, lwd = 2)

par(mfrow = c(1, 1))
Click Run to execute this code in your browser with WebR
Rethinking

La simetría no es una elección — es un hecho matemático. El término de interacción x⋅zx \cdot z es el mismo que z⋅xz \cdot x. No hay variable "moderadora" y "moderada" — ambas se moderan mutuamente por igual. Cuando decimos "el efecto de xx depende de zz," también estamos diciendo "el efecto de zz depende de xx." La elección de qué variable graficar en el eje x es una elección de presentación, no estadística. Ambas perspectivas muestran la misma interacción.

Resumen de la Sección 7.2

  • Las interacciones son simétricas: el efecto de xx depende de zz y viceversa.
  • El mismo coeficiente βxz\beta_{xz} gobierna ambas perspectivas.
  • La pendiente de xx es βx+βxzz\beta_x + \beta_{xz} z; la pendiente de zz es βz+βxzx\beta_z + \beta_{xz} x.
  • Visualizar desde cualquiera de las perspectivas muestra la misma interacción.
  • No hay "moderadora" vs "moderada" — ambas se moderan mutuamente.