Wenn Polynome und Wechselwirkungen zwischen ihnen einbezogen werden, kann Multikollinearität ein großes Problem sein. Ein Ansatz besteht darin, orthogonale Polynome zu betrachten.
Im Allgemeinen sind orthogonale Polynome eine Familie von Polynomen, die in Bezug auf ein inneres Produkt orthogonal sind.
So ist beispielsweise im Fall von Polynomen über einen Bereich mit der Gewichtsfunktion das innere Produkt - Orthogonalität macht dieses innere Produkt
sei denn, .∫ b a w ( x ) p m ( x ) p n ( x ) d x 0 m = nw∫baw(x)pm(x)pn(x)dx0m=n
Das einfachste Beispiel für kontinuierliche Polynome sind die Legendre-Polynome, die über ein endliches reales Intervall (üblicherweise über ) eine konstante Gewichtsfunktion haben .[−1,1]
In unserem Fall ist der Raum (die Beobachtungen selbst) diskret, und unsere Gewichtsfunktion ist (normalerweise) ebenfalls konstant, sodass die orthogonalen Polynome eine Art diskretes Äquivalent zu Legendre-Polynomen sind. Mit der in unseren Prädiktoren enthaltenen Konstante ist das innere Produkt einfach .pm(x)Tpn(x)=∑ipm(xi)pn(xi)
Betrachten Sie zum Beispielx=1,2,3,4,5
Beginnen Sie mit der konstanten Spalte . Das nächste Polynom hat die Form , aber wir machen uns im Moment keine Gedanken über die Skalierung, also ist . Das nächste Polynom hätte die Form ; es stellt sich heraus, dass orthogonal zu den beiden vorhergehenden ist:a x - b p 1 ( x ) = x - ˉ x = x - 3 a x 2 + b x + c p 2 ( x ) = ( x - 3 ) 2 - 2 = x 2 - 6 x + 7p0(x)=x0=1ax−bp1(x)=x−x¯=x−3ax2+bx+cp2(x)=(x−3)2−2=x2−6x+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
Häufig wird auch die Basis normalisiert (wodurch eine orthonormale Familie erzeugt wird) - das heißt, die Quadratsummen jedes Terms werden auf eine Konstante gesetzt (z. B. auf oder auf , so dass die Standardabweichung 1 oder 1 beträgt vielleicht am häufigsten zu ).n - 1 1nn−11
Zu den Möglichkeiten zur Orthogonalisierung einer Reihe von Polynomprädiktoren gehören die Gram-Schmidt-Orthogonalisierung und die Cholesky-Zerlegung, obwohl es zahlreiche andere Ansätze gibt.
Einige der Vorteile orthogonaler Polynome:
1) Multikollinearität ist kein Problem - diese Prädiktoren sind alle orthogonal.
2) Die Koeffizienten niedriger Ordnung ändern sich nicht, wenn Sie Terme hinzufügen . Wenn Sie ein Polynom vom Grad über orthogonale Polynome anpassen, kennen Sie die Koeffizienten einer Anpassung aller Polynome niedrigerer Ordnung, ohne sie erneut anzupassen.k
Beispiel in R ( cars
Daten, Bremswege gegen Geschwindigkeit):
Hier betrachten wir die Möglichkeit, dass ein quadratisches Modell geeignet sein könnte:
R verwendet die poly
Funktion, um orthogonale Polynomprädiktoren einzurichten:
> 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
Sie sind orthogonal:
> 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
Hier ist eine Darstellung der Polynome:
Hier ist die lineare Modellausgabe:
> 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
Hier ist ein Diagramm der quadratischen Anpassung: