Todas mis variables son continuas. No hay niveles ¿Es posible incluso tener interacción entre las variables?
Todas mis variables son continuas. No hay niveles ¿Es posible incluso tener interacción entre las variables?
Respuestas:
¿Si por qué no? La misma consideración que para las variables categóricas se aplicaría en este caso: el efecto de en el resultado Y no es el mismo dependiendo del valor de X 2 . Para ayudar a visualizarlo, puede pensar en los valores tomados por X 1 cuando X 2 toma valores altos o bajos. Contrariamente a las variables categóricas, aquí la interacción solo está representada por el producto de X 1 y X 2 . Es de destacar que es mejor centrar sus dos variables primero (de modo que el coeficiente para decir X 1 se lea como el efecto de X 1 cuando X está en su media muestral).
Como sugirió amablemente @whuber, una manera fácil de ver cómo varía con Y en función de X 2 cuando se incluye un término de interacción, es escribir el modelo E ( Y | X ) = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 1 X 2 .
Entonces, se puede ver que el efecto de un aumento de una unidad en cuando X 2 se mantiene constante puede expresarse como:
Del mismo modo, el efecto cuando aumenta en una unidad mientras se mantiene constante X 1 es β 2 + β 3 X 1 . Esto demuestra por qué es difícil interpretar los efectos de X 1 ( β 1 ) y X 2 ( β 2 ) de forma aislada. Esto incluso será más complicado si ambos predictores están altamente correlacionados. También es importante tener en cuenta el supuesto de linealidad que se está haciendo en un modelo tan lineal.
Puede echar un vistazo a Regresión múltiple: probar e interpretar interacciones , por Leona S. Aiken, Stephen G. West y Raymond R. Reno (Sage Publications, 1996), para obtener una visión general de los diferentes tipos de efectos de interacción en la regresión múltiple . (Probablemente este no sea el mejor libro, pero está disponible a través de Google)
Aquí hay un ejemplo de juguete en R:
library(mvtnorm)
set.seed(101)
n <- 300 # sample size
S <- matrix(c(1,.2,.8,0,.2,1,.6,0,.8,.6,1,-.2,0,0,-.2,1),
nr=4, byrow=TRUE) # cor matrix
X <- as.data.frame(rmvnorm(n, mean=rep(0, 4), sigma=S))
colnames(X) <- c("x1","x2","y","x1x2")
summary(lm(y~x1+x2+x1x2, data=X))
pairs(X)
donde la salida realmente lee:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.01050 0.01860 -0.565 0.573
x1 0.71498 0.01999 35.758 <2e-16 ***
x2 0.43706 0.01969 22.201 <2e-16 ***
x1x2 -0.17626 0.01801 -9.789 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3206 on 296 degrees of freedom
Multiple R-squared: 0.8828, Adjusted R-squared: 0.8816
F-statistic: 743.2 on 3 and 296 DF, p-value: < 2.2e-16
Y así es como se ven los datos simulados:
Para ilustrar el segundo comentario de @ whuber, siempre puede ver las variaciones de en función de X 2 a diferentes valores de X 1 (por ejemplo, terciles o deciles); Las pantallas de enrejado son útiles en este caso. Con los datos anteriores, procederíamos de la siguiente manera:
library(Hmisc)
X$x1b <- cut2(X$x1, g=5) # consider 5 quantiles (60 obs. per group)
coplot(y~x2|x1b, data=X, panel = panel.smooth)
n
(11K) y estoy usando MiniTab para hacer un diagrama de interacciones y me lleva una eternidad calcularlo, pero no muestra nada. No estoy seguro de cómo veo si hay interacción con este conjunto de datos.