Wie passe ich ein lineares Modell mit autokorrelierten Fehlern in R an? In stata würde ich den prais
Befehl verwenden, aber ich kann kein R-Äquivalent finden ...
19
Wie passe ich ein lineares Modell mit autokorrelierten Fehlern in R an? In stata würde ich den prais
Befehl verwenden, aber ich kann kein R-Äquivalent finden ...
Zusätzlich zur
gls()
Funktion vonnlme
können Sie diearima()
Funktion imstats
Paket auch mit MLE verwenden. Hier ist ein Beispiel mit beiden Funktionen.Der Vorteil der Funktion arima () besteht darin, dass Sie eine viel größere Vielfalt von ARMA-Fehlerprozessen anpassen können. Wenn Sie die Funktion auto.arima () aus dem Prognosepaket verwenden, können Sie den ARMA-Fehler automatisch identifizieren:
quelle
arima
Option siehtprais
auf den ersten Blick anders aus als die von Stata , ist jedoch flexibler und Sie können sie auch verwendentsdiag
, um ein gutes Bild davon zu erhalten, wie gut Ihre AR (1) -Annahme tatsächlich passt.Verwenden Sie die Funktion gls aus dem Paket nlme . Hier ist das Beispiel.
Da das Modell mit maximaler Wahrscheinlichkeit angepasst wird, müssen Sie Startwerte angeben. Der Standard-Startwert ist 0, aber wie immer ist es gut, mehrere Werte auszuprobieren, um die Konvergenz sicherzustellen.
Wie Dr. G ausführte, können Sie auch andere Korrelationsstrukturen verwenden, nämlich ARMA.
Beachten Sie, dass Schätzungen der kleinsten Quadrate im Allgemeinen konsistent sind, wenn die Kovarianzmatrix der Regressionsfehler nicht ein Vielfaches der Identitätsmatrix ist. Wenn Sie also ein Modell mit einer bestimmten Kovarianzstruktur anpassen, müssen Sie zunächst testen, ob dies angemessen ist.
quelle
Sie können Predict für die gls-Ausgabe verwenden. Siehe "predict.gls". Sie können die Reihenfolge der Beobachtung auch durch den Ausdruck "Form" in der Korrelationsstruktur festlegen. Beispiel:
corr=corAR1(form=~1)
Gibt an, dass die Reihenfolge der Daten in der Tabelle angegeben ist.corr=corAR1(form=~Year)
gibt an, dass die Reihenfolge der Faktor Jahr ist. Schließlich wird der Wert "0,5" incorr=corAR1(0.5,form=~1)?
im Allgemeinen auf den Wert des Parameters gesetzt, der zur Darstellung der Varianzstruktur geschätzt wird (phi im Fall von AR, theta im Fall von MA). .). Es ist optional, es einzurichten und für die Optimierung zu verwenden, wie von Rob Hyndman erwähnt.quelle