Ich versuche, eine multiple lineare Regression in R mit einer Gleichung wie der folgenden zu schätzen:
regr <- lm(rate ~ constant + askings + questions + 0)
Fragen und Antworten sind vierteljährliche Datenzeitreihen, die mit erstellt wurden askings <- ts(...)
.
Das Problem ist jetzt, dass ich autokorrelierte Residuen habe. Ich weiß, dass es möglich ist, die Regression mit der gls-Funktion anzupassen, aber ich weiß nicht, wie ich die richtige AR- oder ARMA-Fehlerstruktur identifizieren kann, die ich in die gls-Funktion implementieren muss.
Ich würde jetzt nochmal versuchen zu schätzen mit,
gls(rate ~ constant + askings + questions + 0, correlation=corARMA(p=?,q=?))
aber ich bin leider weder ein R-Experte noch ein statistischer Experte im Allgemeinen, um p und q zu identifizieren.
Ich würde mich freuen, wenn mir jemand einen nützlichen Hinweis geben könnte. Vielen Dank im Voraus!
Jo
quelle
Wenn Sie eine Vorhersage treffen möchten, können Sie eine Reihe von Modellen über Parameter hinweg anpassen:
wo
P
undQ
sind die maximalen AR (p) - und MA (q) -Terme, die Sie einschließen möchten, und wählen Sie das am besten passende Modell, wie von BIC bestimmt.auto.arima()
in package forecast wird dabei helfen, aber es kann einfach per Hand mitexpand.grid()
and loop und derarima()
Funktion, die mit R geliefert wird, codiert werden .Das Obige passt auf die Residuen von a
gls()
ohnecorrelation
Struktur.Sie können das Ganze auch direkt von Hand machen,
gls()
indem Sie einfach viele Modelle für Kombinationen vonp
undq
und die eingebauteAIC()
Funktion anbringen.Sie können auch die ACF (
acf()
) und die partielle ACF (pacf()
) der Residuen aus einem linearen Modell ohne Korrelationsstruktur zeichnen und sie verwenden, um die Reihenfolge des erforderlichen Modells vorzuschlagen.quelle