Sí, la matriz de covarianza de todas las variables, explicativa y de respuesta, contiene la información necesaria para encontrar todos los coeficientes, siempre que se incluya un término de intercepción (constante) en el modelo. (Aunque las covarianzas no proporcionan información sobre el término constante, se puede encontrar a partir de los medios de los datos).
Análisis
Dejar que los datos para las variables explicativas pueden organizar como vectores columna -dimensional x 1 , x 2 , ... , x p y la variable de respuesta sean el vector columna y , considerado como una realización de una variable aleatoria Y . Los ordinarios estimaciones de mínimos cuadrados beta de los coeficientes en el modelonx1,x2,…,xpyYβ^
E(Y)=α+Xβ
se obtienen ensamblando los vectores de columna X 0 = ( 1 , 1 , … , 1 ) ′ , X 1 , … , X p en una matriz n × p + 1 X y resolviendo el sistema de ecuaciones linealesp+1X0=(1,1,…,1)′,X1,…,Xpn×p+1X
X′Xβ^=X′y.
Es equivalente al sistema
1nX′Xβ^=1nX′y.
La eliminación gaussiana resolverá este sistema. Se procede por contigua a la de la matriz 1p+1×p+1y elp+1-vector11nX′Xp+1en unamatrizp+1×p+2Ay reduciéndola por filas. 1nX′yp+1×p+2A
El primer paso inspeccionará . Al encontrar que esto no es cero, procede a restar los múltiplos apropiados de la primera fila deAde las filas restantes para poner a cero las entradas restantes en su primera columna. Estos múltiplos serán11n(X′X)11=1nX′0X0=1Ay el número restado de la entradaAi+1,j+1=X ′ i Xjserá igual a ¯ X i ¯ X j. Esta es solo la fórmula para la covarianza deXiyXj. Además, el número que queda en la posicióni+1,p+2es igual a11nX′0Xi=X¯¯¯¯iAi+1,j+1=X′iXjX¯¯¯¯iX¯¯¯¯jXiXji+1,p+2 , la covarianza deXicony.1nX′iy−Xi¯¯¯¯¯¯y¯¯¯Xiy
Por lo tanto, después del primer paso de eliminación gaussiana, el sistema se reduce a la resolución
Cβ^=(Cov(Xi,y))′
y obviamente, dado que todos los coeficientes son covarianzas, esa solución se puede encontrar a partir de la matriz de covarianza de todas las variables.
(Cuando es invertible, la solución se puede escribir C - 1 ( Cov ( X i , y ) ) ' . Las fórmulas dadas en la pregunta son casos especiales de esto cuando p = 1 y p = 2. Escribir estas fórmulas explícitamente se vuelven más y más complejos a medida que crece P. Además, son inferiores para el cómputo numérico, que se realiza mejor resolviendo el sistema de ecuaciones en lugar de invertir la matriz C ).CC−1(Cov(Xi,y))′p=1p=2pC
yXβ^
Ejemplo
Para ilustrar, el siguiente R
código crea algunos datos, calcula sus covarianzas y obtiene las estimaciones de coeficientes de mínimos cuadrados únicamente a partir de esa información. Los compara con las estimaciones obtenidas del estimador de mínimos cuadrados 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
El resultado muestra un acuerdo entre los dos métodos:
(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