¿Cómo interpretar el término de interacción en la fórmula lm en R?

9

En R, si llamo a la lm()función de la siguiente manera:

lm.1 = lm(response ~ var1 + var2 + var1 * var2)
summary(lm.1)

Esto me da un modelo lineal de la variable de respuesta con var1, var2y la interacción entre ellos. Sin embargo, ¿cómo exactamente interpretamos numéricamente el término de interacción?

La documentación dice que este es el "cruce" entre var1y var2, pero no dio una explicación de qué es exactamente el "cruce".

Sería útil para mí saber qué números exactos está calculando R para incorporar la interacción entre las dos variables.

Enzo
fuente
¿Le gustaría saber específicamente cómo R crea la matriz de diseño para esta fórmula, o le interesa más ampliamente cómo interpretar un término multiplicativo ("interacción") en términos del modelo ajustado?
Momo
Estoy más interesado en cómo interpretar este término multiplicativo. Por ejemplo, si quiero escribir una fórmula lineal (una matemática, no una R ...), ¿qué debo poner para el término multiplicativo?
Enzo
Para explicar lo que significa cruz, eche un vistazo a calcular y var3 <- var 1 * var2luego construirlm.2 <- lm(response ~ var1 + var2 + var3)
James Stanley
1
entonces, ¿es simplemente una multiplicación de entrada?
Enzo
1
@Enzo, sí, la cruz es, literalmente, los dos términos se multiplicó - interpretación dependerá en gran medida de si var1y var2son ambas continuas (bastante difícil de interpretar, en mi opinión) o si una de ellas es por ejemplo binaria categórica (. Más fácil considerar) Vea esta respuesta para algunos ejemplos de interpretación de Peter Flom: stats.stackexchange.com/a/45512/16974
James Stanley

Respuestas:

8

La forma estándar de escribir la ecuación de predicción para su modelo es:

y^=b0+b1x1+b2x2+b12x1x2

Pero entender la interacción es un poco más fácil si factorizamos esto de manera diferente:

y^=(b0+b2x2)+(b1+b12x2)x1

Con esta factorización podemos ver que para un valor dado de la intersección en y para es y la pendiente en es . Entonces, la relación entre y depende de .x 1 b 0 + b 2x 2 x 1 ( b 1 + b 12x 2 ) y x 1 x 2x2x1b0+b2x2x1(b1+b12x2)yx1x2

Otra forma de entender esto es trazando las líneas predichas entre y para diferentes valores de (o al revés). Las funciones y en el paquete TeachingDemos para R fueron diseñadas para ayudar con este tipo de tramas.x 1 x 2yx1x2Predict.PlotTkPredict

Greg Snow
fuente
3

Suponga que obtiene estimaciones puntuales de 4 para , 2 para y 1.5 para la interacción. Entonces, la ecuación dice que el ajuste esx 2x1x2lm

y=4x1+2x2+1.5x1x2

¿Es eso lo que querías?

Peter Flom - Restablece a Monica
fuente
3

Es más fácil pensar en las interacciones en términos de variables discretas. Tal vez podría haber estudiado ANOVA de dos vías, donde tenemos dos variables de agrupación (por ejemplo, género y categoría de edad, con tres niveles para la edad) y está observando cómo pertenecen a alguna medida continua (nuestra variable dependiente, por ejemplo, IQ).

El término x1 * x2, si es significativo, puede entenderse (en este ejemplo trivial, inventado) como IQ que se comporta de manera diferente a través de los niveles de edad para los diferentes géneros. Por ejemplo, tal vez el coeficiente intelectual sea estable para los hombres en los tres grupos de edad, pero las mujeres jóvenes comienzan por debajo de los hombres jóvenes y tienen una trayectoria ascendente (con el grupo de edad avanzada teniendo una media más alta que el grupo de edad para los hombres). En una gráfica de medios, esto implicaría una línea horizontal para los machos en el medio del gráfico, y quizás una línea de 45 grados para las hembras que comienza debajo de los machos pero termina por encima de los machos.

La esencia es que a medida que te mueves a lo largo de los niveles de una variable (o "manteniendo constante X1"), lo que sucede en la otra variable cambia. Esta interpretación también funciona con variables predictoras continuas, pero no es tan fácil de ilustrar concretamente. En ese caso, es posible que desee tomar valores particulares de X1 y X2 y ver qué sucede con Y.

Twitch_City
fuente