Wenn ich diesen Code ausführe:
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))
Ich bekomme die gleichen Koeffizienten und die gleiche statistische Signifikanz für die Koeffizienten:
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
Warum passiert dies? In welchen Fällen stimmen die OLS-Schätzungen mit den GLS-Schätzungen überein?
correlation
oderweights
in dergls
Funktion sind die Ergebnisse von GLS gleich jenen auslm
.gls
, ich solle mich so verhaltenlm
. Eine andere Frage ist, was ich fürcorrelation
und setzen sollteweights
.Antworten:
Sie haben die gleichen Ergebnisse erhalten, weil Sie in der
gls
Funktion keine spezielle Varianz oder Korrelationsstruktur angegeben haben . Ohne solche Optionen verhält sich ein GLS wie ein OLS. Der Vorteil eines GLS-Modells gegenüber einer normalen Regression besteht in der Möglichkeit, eine Korrelationsstruktur anzugeben (Optioncorrelation
) oder zuzulassen, dass sich die Restvarianz unterscheidet (Optionweights
). Lassen Sie mich dies anhand eines Beispiels zeigen.Das erste GLS-Modell (
gls.mod.1
) und das normale lineare Regressionsmodell (lm.mod
) liefern genau die gleichen Ergebnisse. Das GLS-Modell, das unterschiedliche Standardabweichungen (gls.mod.2
) berücksichtigt, schätzt, dass die Rest-SDy2
etwa dreimal so groß ist wie die Rest-SD,y1
die genau das ist, was wir bei der Generierung der Daten angegeben haben. Die Regressionskoeffizienten sind praktisch gleich, aber die Standardfehler haben sich geändert. Der Likelihood-Ratio-Test (und AIC) legen nahe, dass das GLS-Modell mit den verschiedenen Restvarianzen (gls.mod.2
) besser zu den Daten passt als das normale Modell (lm.mod
odergls.mod.1
).Varianz- und Korrelationsstrukturen in
gls
Sie können in der
gls
Funktion und der Option mehrere Varianzstrukturen angebenweights
. Siehe hier für eine Liste. Eine Liste der Korrelationsstrukturen für die Option findencorrelation
Sie hier .quelle
und um es klar zu machen, können Sie im Falle einer seriellen Korrelation der Residuen einfach die OLS-Schätzung verwenden, z. B.
gls(..., cor=corAR1(0.6))
hier die 0,6 sowie die Reihenfolge von OLS, können Sie sie mit derar
Funktion für die Residuen berechnen von OLSquelle