Ordentliche kleinste Quadrate vs. gesamte kleinste Quadrate
Betrachten wir zunächst den einfachsten Fall nur einer (unabhängigen) Prädiktorvariablen . Der Einfachheit halber seien sowohl als auch zentriert, dh der Achsenabschnitt ist immer Null. Der Unterschied zwischen der Standard-OLS-Regression und der "orthogonalen" TLS-Regression wird in dieser (von mir angepassten) Zahl aus der beliebtesten Antwort im beliebtesten Thread auf PCA deutlich:x yxxy
OLS passt die Gleichung indem quadratische Abstände zwischen beobachteten Werten und vorhergesagten Werten minimiert werden . TLS passt die gleiche Gleichung an, indem quadratische Abstände zwischen Punkten und deren Projektion auf der Linie minimiert werden. In diesem einfachsten Fall ist die TLS-Linie einfach die erste Hauptkomponente der 2D-Daten. Um zu finden , machen Sie PCA an Punkten, dh konstruieren Sie die Kovarianzmatrix und finden Sie ihren ersten Eigenvektor ; dann ist .y y ( x , y ) , β ( x , y ) 2 × 2 Σ v = ( v x , v y ) β = v y / v xy=βxyy^(x,y)β(x,y)2×2Σv =( vx, vy)β= vy/ vx
In Matlab:
v = pca([x y]); //# x and y are centered column vectors
beta = v(2,1)/v(1,1);
In R:
v <- prcomp(cbind(x,y))$rotation
beta <- v[2,1]/v[1,1]
Übrigens führt dies zu einer korrekten Neigung, selbst wenn und nicht zentriert waren (da die integrierten PCA-Funktionen automatisch die Zentrierung durchführen). Berechnen Sie zum Wiederherstellen des Abschnitts .y β 0 = ˉ y - β ˉ xxyβ0= y¯- βx¯
OLS vs. TLS, multiple Regression
Bei einer abhängigen Variablen und vielen unabhängigen Variablen (ebenfalls der Einfachheit halber alle zentriert) passt die Regression zu einer GleichungOLS führt die Anpassung durch, indem die quadratischen Fehler zwischen den beobachteten Werten von und den vorhergesagten Werten minimiert werden . TLS führt die Anpassung durch, indem die quadratischen Abstände zwischen beobachteten Punkten und den nächsten Punkten auf der Regressionsebene / Hyperebene minimiert werden.x i y = β 1 x 1 + … + β p x p . y y ( x , y ) ∈ R p + 1yxich
y= β1x1+ … + Βpxp.
yy^( x , y) ∈ Rp + 1
Beachten Sie, dass es keine "Regressionslinie" mehr gibt! Die obige Gleichung gibt eine Hyperebene an : Es ist eine 2D-Ebene, wenn zwei Prädiktoren vorhanden sind, und eine 3D-Hyperebene, wenn drei Prädiktoren vorhanden sind eine Linie). Dennoch kann die Lösung leicht über PCA erhalten werden.
Wie zuvor wird die PCA an Punkten durchgeführt. Dies ergibt Eigenvektoren in Spalten von . Die ersten Eigenvektoren definieren eine dimensionale Hyperebene , die wir brauchen; der letzte (Nummer ) Eigenvektor ist orthogonal dazu. Die Frage ist, wie die Basis von die durch die ersten Eigenvektoren gegeben ist, in die Koeffizienten transformiert werden kann.p + 1 V p p H p + 1 v p + 1 H p β( x , y)p + 1VppHp + 1vp + 1Hpβ
Beachten Sie, dass wenn wir für alle und nur , dann , dh der Vektor liegt in der Hyperebene . Andererseits wissen wir, dass orthogonal dazu ist. Das heißt, ihr Skalarprodukt muss Null sein:xich= 0x k = 1 y = β k ( 0 , ... , 1 , ... , β k ) ∈ H H V p + 1 = ( v 1 , ... , v p + 1 )i≠kxk=1y^=βk
(0,…,1,…,βk)∈H
Hv k + β k V p + 1 = 0 ⇒ β k = - V k / V p + 1 .vp+1=(v1,…,vp+1)⊥H
vk+βkvp+1=0⇒βk=−vk/vp+1.
In Matlab:
v = pca([X y]); //# X is a centered n-times-p matrix, y is n-times-1 column vector
beta = -v(1:end-1,end)/v(end,end);
In R:
v <- prcomp(cbind(X,y))$rotation
beta <- -v[-ncol(v),ncol(v)] / v[ncol(v),ncol(v)]
Dies führt wiederum zu korrekten Steigungen, selbst wenn und nicht zentriert sind (da die integrierten PCA-Funktionen automatisch die Zentrierung durchführen). Berechnen Sie zum Wiederherstellen des Abschnitts .y β 0 = ˉ y - ˉ x βxyβ0=y¯−x¯β
Beachten Sie zur Überprüfung der Gesundheit, dass diese Lösung mit der vorherigen Lösung übereinstimmt, wenn nur ein einziger Prädiktor . In der Tat ist dann der -Raum 2D, und wenn der erste PCA-Eigenvektor orthogonal zum zweiten (letzten) ist, gilt .( x , y ) v ( 1 ) y / v ( 1 ) x = - v ( 2 ) x / v ( 2 ) yx(x,y)v(1)y/v(1)x=−v(2)x/v(2)y
Closed-Form-Lösung für TLS
Überraschenderweise stellt sich heraus, dass es eine geschlossene Formgleichung für . Das folgende Argument stammt aus Sabine van Huffels Buch "Die kleinsten Quadrate" (Abschnitt 2.3.2).β
Sei und die zentrierten Datenmatrizen. Der letzte PCA-Eigenvektor ist ein Eigenvektor der Kovarianzmatrix von mit einem Eigenwert . Wenn es ein Eigenvektor ist, ist es auch . Schreiben Sie die Eigenvektorgleichung auf:
Xyvp+1[Xy]σ2p+1( X ⊤ X X ⊤ y y ⊤ X y ⊤ y ) ( β - 1 ) = σ 2−vp+1/vp+1=(β−1)⊤
(X⊤Xy⊤XX⊤yy⊤y)(β−1)=σ2p+1(β−1),
Wenn wir das Produkt auf der linken Seite berechnen, erhalten wir sofort das was stark an den bekannten OLS-Ausdruck
βTLS=(X⊤X−σ2p+1I)−1X⊤y,
βOLS=(X⊤X)−1X⊤y.
Multivariate multiple Regression
Dieselbe Formel kann auf den multivariaten Fall verallgemeinert werden, aber selbst um zu definieren, was multivariates TLS tut, wäre etwas Algebra erforderlich. Siehe Wikipedia zu TLS . Multivariate OLS-Regression entspricht einer Reihe von univariaten OLS-Regressionen für jede abhängige Variable, im TLS-Fall ist dies jedoch nicht der Fall.