Quando executo 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))
Eu obtenho os mesmos coeficientes e a mesma significância estatística nos 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 que isso está acontecendo? Em quais casos as estimativas do OLS são iguais às estimativas do GLS?
r
least-squares
generalized-least-squares
Akavall
fonte
fonte
correlation
ouweights
dentro dagls
função, os resultados do GLS serão iguais aos delm
.gls
para agir assimlm
. Outra questão é o que devo colocarcorrelation
eweights
.Respostas:
Você obteve os mesmos resultados porque não especificou uma estrutura especial de variação ou correlação na
gls
função. Sem essas opções, um GLS se comporta como um OLS. A vantagem de um modelo GLS sobre uma regressão normal é a capacidade de especificar uma estrutura de correlação (opçãocorrelation
) ou permitir que a variação residual seja diferente (opçãoweights
). Deixe-me mostrar isso com um exemplo.O primeiro modelo GLS (
gls.mod.1
) e o modelo de regressão linear normal (lm.mod
) produzem exatamente os mesmos resultados. O modelo GLS, que permite diferentes desvios padrão residuais (gls.mod.2
), estima que o DP residualy2
seja cerca de 3 vezes maior que o DP residual,y1
exatamente o que especificamos quando geramos os dados. Os coeficientes de regressão são praticamente os mesmos, mas os erros padrão foram alterados. O teste da razão de verossimilhança (e AIC) sugere que o modelo GLS com as diferentes variações residuais (gls.mod.2
) ajusta os dados melhor do que o modelo normal (lm.mod
ougls.mod.1
).Estruturas de variância e correlação em
gls
Você pode especificar várias estruturas de variação na
gls
função e na opçãoweights
. Veja aqui uma lista. Para uma lista de estruturas de correlação para a opção,correlation
consulte aqui .fonte
e, para deixar claro, em caso de correlação serial dos resíduos, você pode simplesmente usar a estimativa do OLS, por exemplo
gls(..., cor=corAR1(0.6))
, aqui o 0,6, assim como a ordem vem do OLS, é possível calculá-los usando aar
função dos resíduos de OLSfonte