An anderer Stelle auf dieser Website finden Sie explizite Lösungen für die gewöhnliche Regression der kleinsten Quadrate
E (zich) = A.xich+ B.yich+ C.
sind in Matrixform als erhältlich
( C., A , B.)'= (X.'X.)- 1X.'z(1)
wo X. ist die "Modellmatrix"
X.=⎛⎝⎜⎜⎜⎜11⋮1x1x2⋮xny1y2⋮yn⎞⎠⎟⎟⎟⎟
und z ist der Antwortvektor
z= (z1,z2, … ,zn)'.
Das ist eine vollkommen feine, explizite und berechenbare Antwort. Aber vielleicht gibt es ein zusätzliches Verständnis, das durch Inspektion der Koeffizienten herausgerissen werden kann. Dies kann erreicht werden, indem geeignete Einheiten ausgewählt werden, in denen die Variablen ausgedrückt werden sollen.
Die besten Einheiten für diesen Zweck zentrieren jede Variable auf ihren Mittelwert und verwenden ihre Standardabweichung als Maßeinheit. Lassen Sie die drei Mittel explizit seinmx,my, und mz und die drei Standardabweichungen sind sx,sy, und sz. (Es stellt sich heraus, dass es keine Rolle spielt, ob Sie durch teilenn oder n - 1bei der Berechnung der Standardabweichungen. Stellen Sie einfach sicher, dass Sie eine konsistente Konvention verwenden, wenn Sie einen zweiten Moment der Daten berechnen.) Die Werte der Variablen in diesen neuen Maßeinheiten sind
ξich=xich- -mxsx, ηich=yich- -mysy, ζich=zich- -mzsz.
Dieser Prozess wird als Standardisierung der Daten bezeichnet. Die Variablenξ, η, und ζsind die standardisierten Versionen der ursprünglichen Variablenx, y, und z.
Diese Beziehungen sind invertierbar:
xich=sxξich+mx, yich=syηich+my, zich=szζich+mz.
Einfügen dieser in die definierende Beziehung
E (zich) = C.+ A.xich+ B.yich
und Vereinfachung der Erträge
E (szζich+mz) = C.+ A (sxξich+mx) + B (syηich+my) .
Lösung für die Erwartung der abhängigen Variablen ζich ergibt
E (ζich) = (C.+ A.mx+ B.my- -mzsz) + (EINsxsz)ξich+ ((B.sysz)ηich.
Wenn wir diese Koeffizienten schreiben als β0,β1,β2 jeweils können wir uns dann erholen A,B,Cdurch Vergleichen und Lösen. Für die Aufzeichnung gibt dies
A=szβ1sx, B=szβ2sy, and C=szβ0+mz−Amx−Bmy.(2)
Der Punkt davon wird deutlich, wenn wir die neue Modellmatrix betrachten
Ξ=⎛⎝⎜⎜⎜⎜11⋮1ξ1ξ2⋮ξnηiη2⋮ηn⎞⎠⎟⎟⎟⎟
und die neue Antwortmatrix ζ=(ζ1,ζ2,…,ζn), weil jetzt
Ξ′Ξ=⎛⎝⎜n000nn ρ0n ρn⎞⎠⎟
und
Ξ'ζ= ( 0 , n τ, n υ)'
wo ρ ist der Korrelationskoeffizient 1n∑ni = 1ξichηich, τ ist der Korrelationskoeffizient 1n∑ni = 1ξichζich, und υ ist der Korrelationskoeffizient 1n∑ni = 1ηichζich.
Um die normalen Gleichungen zu lösen ( 1 ) wir können beide Seiten durch teilen ngeben
⎛⎝⎜10001ρ0ρ1⎞⎠⎟⎛⎝⎜β0β1β2⎞⎠⎟=⎛⎝⎜0τυ⎞⎠⎟.
Was ursprünglich wie eine beeindruckende Matrixformel aussah, wurde auf einen wirklich elementaren Satz von drei simultanen Gleichungen reduziert. Unter der Voraussetzung| ρ | <1ist seine Lösung leicht zu finden
⎛⎝⎜⎜β^0β^1β^2⎞⎠⎟⎟=11 -ρ2⎛⎝⎜0τ- ρ υυ - ρ τ⎞⎠⎟.
Stecken Sie diese in die Koeffizienten in ( 2 ) erzeugt die Schätzungen EIN^,B.^, und C.^.
In der Tat wurde noch mehr erreicht:
Es ist jetzt offensichtlich, warum die Fälle | ρ | =1 sind problematisch: Sie führen eine Division durch Null in die Lösung ein.
Es ist ebenso offensichtlich, wie zu bestimmen ist, ob wann eine Lösung existiert | ρ=1 |und wie man es erhält. Es wird existieren, wenn die zweite und dritte Normalgleichung inΞ sind redundant und werden einfach durch Ignorieren einer der Variablen erhalten x und y an erster Stelle.
Wir können allgemein einen Einblick in die Lösung gewinnen. Zum Beispiel vonβ^0= 0In allen Fällen können wir den Schluss ziehen, dass die angepasste Ebene den Mittelwertpunkt durchlaufen muss(mx,my,mz).
Es ist nun offensichtlich, dass die Lösung in Bezug auf die ersten beiden Momente des trivariaten Datensatzes gefunden werden kann ( x , y, z). Dies wirft ein weiteres Licht auf die Tatsache, dass Koeffizientenschätzungen allein aus Mittelwerten und Kovarianzmatrizen ermittelt werden können .
Weiterhin Gleichung ( 2 ) zeigt, dass die Mittel nur zur Schätzung des Intercept-Terms benötigt werden C.. Schätzungen der beiden PistenEIN und B. benötigen nur die zweiten Momente.
Wenn die Regressoren nicht korreliert sind, ρ = 0 und die Lösung besteht darin, dass der Achsenabschnitt Null ist und die Steigungen die Korrelationskoeffizienten zwischen der Antwort sind z und die Regressoren x und y wenn wir die Daten standardisieren. Dies ist sowohl leicht zu merken als auch bietet einen Einblick in die Beziehung zwischen Regressionskoeffizienten und Korrelationskoeffizienten.
Wenn wir das alles zusammenfassen, finden wir das (außer in den entarteten Fällen) | ρ | =1) Die Schätzungen können geschrieben werden
EIN^B.^C.^=τ- ρ υ1 -ρ2szsx=υ - ρ τ1 -ρ2szsy=mz- -mxEIN^- -myB.^.
In diesen Formeln ist die m∗ sind die Beispielmittel, die s∗ sind die Standardabweichungen der Stichprobe und die griechischen Buchstaben ρ , τ, und υ repräsentieren die drei Korrelationskoeffizienten (zwischen x und y, x und z, und y und z, beziehungsweise).
Bitte beachten Sie, dass diese Formeln nicht der beste Weg sind, um die Berechnungen durchzuführen. Sie alle beinhalten das Subtrahieren von Mengen, die von vergleichbarer Größe sein könnten, wie zτ- ρ υ, υ - ρτ, und mz- (( -mxEIN^- -myB.^). Eine solche Subtraktion beinhaltet einen Genauigkeitsverlust. Die Matrixformulierung ermöglicht es numerischen Analysten, stabilere Lösungen zu erhalten, die so viel Präzision wie möglich bewahren. Aus diesem Grund haben Menschen selten Interesse an termingerechten Formeln. Der andere Grund, warum wenig Interesse besteht, ist, dass mit zunehmender Anzahl von Regressoren die Komplexität der Formeln exponentiell zunimmt und schnell zu unhandlich wird.
Als weiteren Beweis für die Richtigkeit dieser Formeln können wir ihre Antworten mit denen eines Standardlösers für kleinste Quadrate vergleichen, der lm
Funktion in R
.
#
# Generate trivariate data.
#
library(MASS)
set.seed(17)
n <- 20
mu <- 1:3
Sigma <- matrix(1, 3, 3)
Sigma[lower.tri(Sigma)] <- Sigma[upper.tri(Sigma)] <- c(.8, .5, .6)
xyz <- data.frame(mvrnorm(n, mu, Sigma))
names(xyz) <- c("x", "y", "z")
#
# Obtain the least squares coefficients.
#
beta.hat <- coef(lm(z ~ x + y, xyz))
#
# Compute the first two moments via `colMeans` and `cov`.
#
m <- colMeans(xyz)
sigma <- cov(xyz)
s <- sqrt(diag(sigma))
rho <- t(t(sigma/s)/s); rho <- as.vector(rho[lower.tri(rho)])
#
# Here are the least squares coefficient estimates in terms of the moments.
#
A.hat <- (rho[2] - rho[1]*rho[3]) / (1 - rho[1]^2) * s[3] / s[1]
B.hat <- (rho[3] - rho[1]*rho[2]) / (1 - rho[1]^2) * s[3] / s[2]
C.hat <- m[3] - m[1]*A.hat - m[2]*B.hat
#
# Compare the two solutions.
#
rbind(beta.hat, formulae=c(C.hat, A.hat, B.hat))
Die Ausgabe weist erwartungsgemäß zwei identische Schätzreihen auf:
(Intercept) x y
beta.hat 1.522571 0.3013662 0.403636
formulae 1.522571 0.3013662 0.403636