Lorsqu'on inclut des polynômes et des interactions entre eux, la multicolinéarité peut être un gros problème; une approche consiste à examiner les polynômes orthogonaux.
Généralement, les polynômes orthogonaux sont une famille de polynômes qui sont orthogonaux par rapport à un produit intérieur.
Ainsi, par exemple, dans le cas de polynômes sur une région avec une fonction de poids , le produit intérieur est - l'orthogonalité rend ce produit intérieur
moins que .w∫bunew ( x )pm( x )pn( x ) dX0m = n
L'exemple le plus simple pour les polynômes continus est les polynômes de Legendre, qui ont une fonction de pondération constante sur un intervalle réel fini (généralement sur ).[ - 1 , 1 ]
Dans notre cas, l'espace (les observations elles-mêmes) est discret, et notre fonction de pondération est également constante (généralement), donc les polynômes orthogonaux sont une sorte d'équivalent discret des polynômes de Legendre. Avec la constante incluse dans nos prédicteurs, le produit intérieur est simplement .pm( x)Tpn( x ) =∑jepm(Xje)pn(Xje)
Par exemple, considéronsx = 1 , 2 , 3 , 4 , 5
Commencez par la colonne constante, . Le polynôme suivant est de la forme , mais nous ne nous soucions pas de l'échelle pour le moment, donc . Le polynôme suivant serait de la forme ; il s'avère que est orthogonal aux deux précédents:p0( x ) =X0= 1a x - bp1( x ) = x -X¯= x - 3uneX2+ b x + cp2( x ) = ( x - 3)2- 2 =X2- 6 x + 7
x p0 p1 p2
1 1 -2 2
2 1 -1 -1
3 1 0 -2
4 1 1 -1
5 1 2 2
Souvent, la base est également normalisée (produisant une famille orthonormée) - c'est-à-dire que les sommes des carrés de chaque terme sont définies pour être constantes (par exemple, à ou à , de sorte que l'écart-type est 1, ou peut-être le plus souvent, à ).nn - 11
Les moyens d'orthogonaliser un ensemble de prédicteurs polynomiaux comprennent l'orthogonalisation de Gram-Schmidt et la décomposition de Cholesky, bien qu'il existe de nombreuses autres approches.
Quelques avantages des polynômes orthogonaux:
1) la multicolinéarité n'est pas un problème - ces prédicteurs sont tous orthogonaux.
2) Les coefficients de poids faible ne changent pas lorsque vous ajoutez des termes . Si vous ajustez un polynôme de degré via des polynômes orthogonaux, vous connaissez les coefficients d'un ajustement de tous les polynômes d'ordre inférieur sans réajustement.k
Exemple en R ( cars
données, distances d'arrêt en fonction de la vitesse):
Nous considérons ici la possibilité qu'un modèle quadratique puisse convenir:
R utilise la poly
fonction pour configurer des prédicteurs polynomiaux orthogonaux:
> p <- model.matrix(dist~poly(speed,2),cars)
> cbind(head(cars),head(p))
speed dist (Intercept) poly(speed, 2)1 poly(speed, 2)2
1 4 2 1 -0.3079956 0.41625480
2 4 10 1 -0.3079956 0.41625480
3 7 4 1 -0.2269442 0.16583013
4 7 22 1 -0.2269442 0.16583013
5 8 16 1 -0.1999270 0.09974267
6 9 10 1 -0.1729098 0.04234892
Ils sont orthogonaux:
> round(crossprod(p),9)
(Intercept) poly(speed, 2)1 poly(speed, 2)2
(Intercept) 50 0 0
poly(speed, 2)1 0 1 0
poly(speed, 2)2 0 0 1
Voici un tracé des polynômes:
Voici la sortie du modèle linéaire:
> summary(carsp)
Call:
lm(formula = dist ~ poly(speed, 2), data = cars)
Residuals:
Min 1Q Median 3Q Max
-28.720 -9.184 -3.188 4.628 45.152
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 42.980 2.146 20.026 < 2e-16 ***
poly(speed, 2)1 145.552 15.176 9.591 1.21e-12 ***
poly(speed, 2)2 22.996 15.176 1.515 0.136
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 15.18 on 47 degrees of freedom
Multiple R-squared: 0.6673, Adjusted R-squared: 0.6532
F-statistic: 47.14 on 2 and 47 DF, p-value: 5.852e-12
Voici un tracé de l'ajustement quadratique: