Supposons que votre équation de régression multiple était
y^= 2 x1+5x2+3
où Y signifie « prédite y ».y^y
Prenez maintenant uniquement les points pour lesquels . Ensuite , si vous tracez y contre x 1 , ces points satisferont l'équation:x2=1y^x1
y^= 2 x1+ 5 ( 1 ) + 3 = 2 x1+ 8
Ils doivent donc se situer sur une ligne de pente 2 et avec une origine 8.y
Prenez maintenant les points pour lesquels . Lorsque vous tracez y contre x 1 , puis ces points satisfont:X2= 2y^X1
y^= 2 x1+ 5 ( 2 ) + 3 = 2 x1+13
C'est donc une ligne de pente 2 et avec -intercept 13. Vous pouvez vérifier par vous-même que si x 2 = 3, vous obtenez une autre ligne de pente 2 et y -intercept est 18.yx2=3y
Nous voyons que les points avec des valeurs différentes de trouveront sur des lignes différentes, mais tous avec le même gradient: la signification du coefficient de 2 x 1 dans l'équation de régression d'origine est que, ceteris paribus c'est-à-dire en maintenant les autres prédicteurs constants, un augmentation d' une unité dans x 1 augmente la réponse moyenne prédite de y par deux unités, tandis que le sens de l'ordonnée à l' origine de 3 dans l'équation de régression est que lorsque x 1 = 0 , et x 2 = 0 alors la réponse moyenne prédite est 3x22x1x1y^3x1=0x2=03. Mais tous vos points n'ont pas le même , ce qui signifie qu'ils se trouvent sur des lignes avec une intersection différente - la ligne n'aurait que 3 pour les points pour lesquels x 2 = 0 . Ainsi, plutôt que de voir une seule ligne, vous pouvez voir (s'il n'y a que certaines valeurs de x 2 qui se produisent, par exemple si x 2 est toujours entier) une série de "stries" diagonales. Considérons les données suivantes, où y = 2 x 1 + 5 x 2 + 3 .x23x2=0x2x2y^=2x1+5x2+3
Il y a ici des "stries" perceptibles. Maintenant, si je colorie les points pour lesquels en cercles rouges, x 2 = 2 en triangles dorés et x 2 = 3 en carrés bleus, nous voyons qu'ils se trouvent sur trois lignes distinctes, toutes de pente 2 et d' interceptions y 8, 13 et 18 comme calculé ci-dessus. Bien sûr, si x 2 n'était pas contraint de prendre des valeurs entières, ou si la situation était compliquée par d'autres variables prédictives incluses dans la régression, alors les stries diagonales seraient moins claires, mais ce serait toujours le cas pour chaque point prédit se trouve sur une ligne distinctex2=1x2=2x2=3yx2basé sur les valeurs des autres prédicteurs non représentés sur le graphique .
yx1x2y^=2x1+5x2+3yx1x2yx1-l'axe pointe vers votre droite.
yy
y^x1x2x2y^x1x2yx1 x2yx1
Code pour les tracés R
library(scatterplot3d)
data.df <- data.frame(
x1 = c(0,2,4,5,8, 1,3,4,7,8, 0,3,5,6,7),
x2 = c(1,1,1,1,1, 2,2,2,2,2, 3,3,3,3,3)
)
data.df$yhat <- with(data.df, 2*x1 + 5*x2 + 3)
data1.df <- data.df[data.df$x2==1,]
data2.df <- data.df[data.df$x2==2,]
data3.df <- data.df[data.df$x2==3,]
#Before lines added
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(0, 1, 0, 0))
plot(data.df[c("x1","yhat")], main=expression("Predicted y against "*x[1]),
xlab=expression(x[1]), ylab=expression(hat(y)))
#After lines added
plot(data.df[c("x1","yhat")], main=expression("Predicted y against "*x[1]),
xlab=expression(x[1]), ylab=expression(hat(y)), pch=".")
points(data1.df[c("x1","yhat")], pch=19, col="red")
abline(lm(yhat ~ x1, data=data1.df), col="red")
points(data2.df[c("x1","yhat")], pch=17, col="gold")
abline(lm(yhat ~ x1, data=data2.df), col="gold")
points(data3.df[c("x1","yhat")], pch=15, col="blue")
abline(lm(yhat ~ x1, data=data3.df), col="blue")
#3d plot
myPlot <- scatterplot3d(data.df, pch=".", xlab=expression(x[1]),
ylab=expression(x[2]), zlab=expression(hat(y)),
main=expression("Predicted y against "*x[1]*" and "*x[2]))
myPlot$plane3d(Intercept=3, x.coef=2, y.coef=5, col="darkgrey")
myPlot$points3d(data1.df, pch=19, col="red")
myPlot$points3d(data2.df, pch=17, col="gold")
myPlot$points3d(data3.df, pch=15, col="blue")
print(myPlot)