Dynamische lineare Regression

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
Giezeh
Beiträge: 4
Registriert: Mi Nov 18, 2020 8:52 am

Dynamische lineare Regression

Beitrag von Giezeh »

Hallo zusammen,
ich möchte ein dynamisches regressionsmodell mit autorregessivem teil der Form y(t) = a0 + a1 * D(t) + beta * y(t-1) + error(t)
verwenden. Wie kann ich das in Rstudio umsetzen?
Mein code lautet derzeit: dynlm(y_w~L(y_w,1)+L(Dummy,0)). y_w ist dabei ein Variable einer Zeitreihe, Dummy ist eine dummyvariable, die gesetzt wird, wenn der entsprechende Tag ein Wochenendtag ist.

Vielen Dank.

Beste Grüße
Giezeh
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Dynamische lineare Regression

Beitrag von jogo »

Hallo Giezeh,

gibt es denn Probleme mit dem Code?
Aus welchem Paket ist die Funktion dynlm() ?
(wahrscheinlich aus dem Paket dynlm ?)

Meiner Meinung nach müsste auch dies gut funktionieren:

Code: Alles auswählen

dynlm(y_w ~ Dummy + L(y_w,1), data=DeinDataframe)
$Dummy ist doch als Faktor kodiert, richtig?
(bitte kontrollieren!)

Gruß, Jörg
Giezeh
Beiträge: 4
Registriert: Mi Nov 18, 2020 8:52 am

Re: Dynamische lineare Regression

Beitrag von Giezeh »

Hallo Jörg,

danke für deine Antwort.

Vom Code her läuft es. Dynlm kommt aus dem Paket dynlm.
Der Dummy ist 1, wenn der Tag ein Samstag oder Sonntag ist, ansonsten 0.
Mein Problem liegt eher in der Interpretation.
Entspricht mein "Code-Modell" dem formalen Modell mit AR(1): Y_t=a_0+a_1*Y_t-1+D_t+epsilon_t ?
Wie kann ich nun testen, ob das Modell gut ist? Ziel ist es in einer Zeitreihe den Wochentags bzw. Wochenendeffekt zu unteruchen.

Code: Alles auswählen

dynlm(y_w ~ Dummy + L(y_w,1), data=DeinDataframe)
bringt andere Ergebnisse.

Vielen Dank.

Mfg
Giezeh
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Dynamische lineare Regression

Beitrag von jogo »

Hallo Giezeh,

ich vermute, dynlm() ist ähnlich sparsam mit der Ausgabe wie lm().
Üblicherweise gibt es dann eine spezielle Methode für die Funktion summary(), die die Ergebnisse rauskitzelt.
Also:

Code: Alles auswählen

summary(dynlm(...))
oder in zwei Schritten:

Code: Alles auswählen

MeinModell <- dynlm(...)
summary(MeinModell)
Gruß, Jörg
Giezeh
Beiträge: 4
Registriert: Mi Nov 18, 2020 8:52 am

Re: Dynamische lineare Regression

Beitrag von Giezeh »

Hallo Jörg,

meine Ergebnisse sehen wie folgt aus, wobei ich das Modell auf mehrere Zeiträume anwende:

Zeitraum 1.

Code: Alles auswählen

Call:
dynlm(formula = y_w ~ L(y_w, 1) + L(We, 0))

Residuals:
    Min      1Q  Median      3Q     Max 
-50.834  -1.727   0.799   6.839  16.894 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -29.0753     4.1750  -6.964 3.11e-09 ***
L(y_w, 1)     0.3112     0.1062   2.930  0.00481 ** 
L(We, 0)     18.3215     3.5703   5.132 3.37e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 12.76 on 59 degrees of freedom
Multiple R-squared:  0.3718,	Adjusted R-squared:  0.3505 
F-statistic: 17.46 on 2 and 59 DF,  p-value: 1.107e-06
jedoch weiß ich nicht, wann man das Modell als gut ansehen kann, bzw. ob ein AR(1) besser ist als z.B. ein AR(2).

Mfg
Giezeh
Zuletzt geändert von jogo am Mo Dez 14, 2020 1:29 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Dynamische lineare Regression

Beitrag von jogo »

Hallo Giezeh,

reicht Dir die F-Statistik?
... oder willst Du die beiden Modelle gegeneinander testen?

Gruß, Jörg
Antworten