Lors du montage d' un modèle de régression tel que y i = β 0 + β 1 x i + ß 2 x , le modèle et les OLS estimateur ne pas « savoir » quex 2 i est simplement le carré dexi, ça "pense" que c'est une autre variable. Bien sûr, il existe une certaine colinéarité, qui est incorporée dans l’ajustement (par exemple, les erreurs types sont plus grandes qu’elles ne le seraient autrement), mais de nombreuses paires de variables peuvent être quelque peu colinéaires sans que l’une ne soit fonction de l’autre. y^je= β^0+ β^1Xje+ β^2X2jeX2jeXje
Nous ne reconnaissons pas qu'il existe réellement deux variables distinctes dans le modèle, car nous savons que est finalement la même variable que x i que nous avons transformée et incluse afin de capturer une relation curviligne entre x i et y i . Cette connaissance de la vraie nature de x 2 i , associée à notre conviction qu'il existe une relation curviligne entre x i et y i, nous empêche de comprendre en quoi elle est toujours linéaire du point de vue du modèle. De plus, on visualise xX2jeXjeXjeyjeX2jeXjeyje et x 2 i ensemble en regardant la projection marginale de la fonction 3D sur le plan 2D x , y . XjeX2jex , y
Si vous ne disposez que de et x 2 i , vous pouvez essayer de les visualiser dans tout l'espace 3D (bien qu'il soit encore difficile de voir vraiment ce qui se passe). Si vous examiniez la fonction ajustée dans l'espace 3D complet, vous verriez que la fonction ajustée est un plan 2D et, en outre, qu'il s'agit d'un plan plat. Comme je l'ai dit, il est difficile de bien voir parce que les données x i , x 2 i n'existent que le long d'une ligne courbe qui traverse cet espace 3D (ce fait est la manifestation visuelle de leur colinéarité). Nous pouvons essayer de le faire ici. Imaginez que ce soit le modèle ajusté: XjeX2jeXje, x2je
x = seq(from=0, to=10, by=.5)
x2 = x**2
y = 3 + x - .05*x2
d.mat = data.frame(X1=x, X2=x2, Y=y)
# 2D plot
plot(x, y, pch=1, ylim=c(0,11), col="red",
main="Marginal projection onto the 2D X,Y plane")
lines(x, y, col="lightblue")
# 3D plot
library(scatterplot3d)
s = scatterplot3d(x=d.mat$X1, y=d.mat$X2, z=d.mat$Y, color="gray", pch=1,
xlab="X1", ylab="X2", zlab="Y", xlim=c(0, 11), ylim=c(0,101),
zlim=c(0, 11), type="h", main="In pseudo-3D space")
s$points(x=d.mat$X1, y=d.mat$X2, z=d.mat$Y, col="red", pch=1)
s$plane3d(Intercept=3, x.coef=1, y.coef=-.05, col="lightblue")
Il peut être plus facile de voir dans ces images, qui sont des captures d'écran d'une figure 3D pivotée réalisée avec les mêmes données à l'aide du rgl
package.
ppp+1