Ja, die Kovarianzmatrix aller Variablen - erklärend und antwortend - enthält die Informationen, die zum Auffinden aller Koeffizienten erforderlich sind, vorausgesetzt, das Modell enthält einen (konstanten) Intercept-Term. (Obwohl die Kovarianzen keine Informationen über den konstanten Term liefern, können sie den Daten entnommen werden.)
Analyse
Die Daten für die erklärenden Variablen seien als dimensionale Spaltenvektoren und die Antwortvariable als Spaltenvektor , was als Realisierung einer Zufallsvariablen . Das gewöhnliche kleinste Quadrat schätzt der Koeffizienten im Modellx 1 , x 2 , ... , x p y Y βnx1, x2, … , XpyY.β^
E (Y) = α + Xβ
werden erhalten, indem die Spaltenvektoren zu einem Array und das System linearer Gleichungen gelöst werdenX 0 = ( 1 , 1 , … , 1 ) ' , X 1 , … , X p n × p + 1 Xp + 1X0= ( 1 , 1 , … , 1 )′, X1, … , Xpn × p + 1X
X′Xβ^= X′y.
Es entspricht dem System
1nX′Xβ^= 1nX′y.
Die Gaußsche Eliminierung löst dieses System. Es wird fortgefahren, indem die Matrix und der -Vektor zu einem Array und zeilenreduzierend. 1p + 1 × p + 1p+111nX′Xp + 1p+1×p+2A1nX′yp + 1 × p + 2EIN
Im ersten Schritt wird . Wenn festgestellt wird, dass dies ungleich Null ist, subtrahiert es geeignete Vielfache der ersten Zeile von von den verbleibenden Zeilen, um die verbleibenden Einträge in seiner ersten Spalte auf Null zu setzen. Diese Vielfachen sind und die vom Eintrag subtrahierte Zahl ist gleich . Dies ist nur die Formel für die Kovarianz von und . Darüber hinaus ist die an der Position verbleibende Zahl gleichA11n( X′X)11=1nX′0X0= 1EINAi+1,j+1=X ' i Xj ¯ X i ¯ X jXiXji1nX′0Xich= X¯¯¯¯ichEINi + 1 , j + 1=X′ichXjX¯¯¯¯ichX¯¯¯¯jXichXj1i + 1 , p + 21nX′ichy- Xich¯¯¯¯¯¯y¯¯¯, die Kovarianz von mit . yXichy
Somit wird das System nach dem ersten Schritt der Gaußschen Eliminierung auf das Lösen reduziert
Cβ^= ( Cov ( Xich, y) )′
und offensichtlich - da alle Koeffizienten Kovarianzen sind - kann diese Lösung aus der Kovarianzmatrix aller Variablen gefunden werden.
(Wenn invertierbar ist, kann die Lösung geschrieben werden: . Die in der Frage angegebenen Formeln sind Spezialfälle davon, wenn und explizite Schreiben solcher Formeln wird mit wachsendem immer komplexer . Außerdem sind sie für die numerische Berechnung unterlegen, die am besten durch Lösen des Gleichungssystems und nicht durch Invertieren der Matrix .)C - 1 ( Cov ( X i , y ) ) ' p = 1 p = 2 p CCC- 1( Cov ( Xich, y) )′p = 1p = 2pC
Der konstante Term ist die Differenz zwischen dem Mittelwert von und den aus den Schätzungen vorhergesagten Mittelwerten .X βyXβ^
Beispiel
Zur Veranschaulichung werden im folgenden R
Code einige Daten erstellt, deren Kovarianzen berechnet und die Koeffizientenschätzungen für die kleinsten Quadrate nur anhand dieser Informationen ermittelt. Sie werden mit den Schätzungen verglichen, die vom Schätzer der kleinsten Quadrate erhalten wurden lm
.
#
# 1. Generate some data.
#
n <- 10 # Data set size
p <- 2 # Number of regressors
set.seed(17)
z <- matrix(rnorm(n*(p+1)), nrow=n, dimnames=list(NULL, paste0("x", 1:(p+1))))
y <- z[, p+1]
x <- z[, -(p+1), drop=FALSE];
#
# 2. Find the OLS coefficients from the covariances only.
#
a <- cov(x)
b <- cov(x,y)
beta.hat <- solve(a, b)[, 1] # Coefficients from the covariance matrix
#
# 2a. Find the intercept from the means and coefficients.
#
y.bar <- mean(y)
x.bar <- colMeans(x)
intercept <- y.bar - x.bar %*% beta.hat
Die Ausgabe zeigt Übereinstimmung zwischen den beiden Methoden:
(rbind(`From covariances` = c(`(Intercept)`=intercept, beta.hat),
`From data via OLS` = coef(lm(y ~ x))))
(Intercept) x1 x2
From covariances 0.946155 -0.424551 -1.006675
From data via OLS 0.946155 -0.424551 -1.006675