Cuando ejecuto este código:
require(nlme)
a <- matrix(c(1,3,5,7,4,5,6,4,7,8,9))
b <- matrix(c(3,5,6,2,4,6,7,8,7,8,9))
res <- lm(a ~ b)
print(summary(res))
res_gls <- gls(a ~ b)
print(summary(res_gls))
Obtengo los mismos coeficientes y la misma significación estadística en los coeficientes:
Loading required package: nlme
Call:
lm(formula = a ~ b)
Residuals:
Min 1Q Median 3Q Max
-2.7361 -1.1348 -0.2955 1.2463 3.8234
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.0576 1.8732 1.098 0.3005
b 0.5595 0.2986 1.874 0.0937 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.088 on 9 degrees of freedom
Multiple R-squared: 0.2807, Adjusted R-squared: 0.2007
F-statistic: 3.512 on 1 and 9 DF, p-value: 0.09371
Generalized least squares fit by REML
Model: a ~ b
Data: NULL
AIC BIC logLik
51.0801 51.67177 -22.54005
Coefficients:
Value Std.Error t-value p-value
(Intercept) 2.0576208 1.8731573 1.098477 0.3005
b 0.5594796 0.2985566 1.873948 0.0937
Correlation:
(Intr)
b -0.942
Standardized residuals:
Min Q1 Med Q3 Max
-1.3104006 -0.5434780 -0.1415446 0.5968911 1.8311781
Residual standard error: 2.087956
Degrees of freedom: 11 total; 9 residual
¿Por qué está pasando esto? ¿En qué casos las estimaciones OLS son las mismas que las estimaciones GLS?
correlation
oweights
dentro de lagls
función, los resultados de GLS son iguales a los delm
.gls
que actuara comolm
. Otra pregunta es para qué debo ponercorrelation
yweights
.Respuestas:
Obtuvo los mismos resultados porque no especificó una varianza especial o estructura de correlación en la
gls
función. Sin esas opciones, un GLS se comporta como un OLS. La ventaja de un modelo GLS sobre una regresión normal es la capacidad de especificar una estructura de correlación (opcióncorrelation
) o permitir que la varianza residual difiera (opciónweights
). Déjame mostrarte esto con un ejemplo.El primer modelo GLS (
gls.mod.1
) y el modelo de regresión lineal normal (lm.mod
) producen exactamente los mismos resultados. El modelo GLS que permite diferentes desviaciones estándar residuales (gls.mod.2
) estima que la SD residualy2
es aproximadamente 3 veces mayor que la SD residual,y1
que es exactamente lo que especificamos cuando generamos los datos. Los coeficientes de regresión son prácticamente los mismos, pero los errores estándar han cambiado. La prueba de razón de probabilidad (y AIC) sugiere que el modelo GLS con las diferentes variaciones residuales (gls.mod.2
) se ajusta mejor a los datos que el modelo normal (lm.mod
ogls.mod.1
).Estructuras de varianza y correlación en
gls
Puede especificar varias estructuras de varianza en la
gls
función y la opciónweights
. Ver aquí para una lista. Para obtener una lista de las estructuras de correlación para la opción,correlation
consulte aquí .fuente
y para que quede claro, en caso de correlación en serie de los residuos, puede usar la estimación de OLS, por ejemplo
gls(..., cor=corAR1(0.6))
, aquí el 0.6, así como el orden proviene de OLS, puede calcularlos usando laar
función para los residuos de OLSfuente