Kap. 12: Regression mit Zeitreihendaten und Prognosemodelle

Werbung
Kap. 12: Regression mit Zeitreihendaten
und Prognosemodelle
• Motivation
• Grundbegriffe
• Autoregressionen (AR-Modelle)
• Dynamische Regressionsmodelle (ADL-Modelle)
• Nichstationarität
• Ausblick
12.1
Motivation
Zeitreihendaten: gleiche Untersuchungseinheit über mehrere Perioden. Betrachte hier nur aufeinanderfolgende Daten mit gleichem zeitlichem Abstand (“reguläre Zeitreihe”).
Notation: Yt, t = 1, ..., T
Beispiele:
• BIP für die Schweiz 1980–2005
• tägliche Wechselkurse CHF/EUR
Wozu Zeitreihendaten?
• Vorhersagemodelle/Prognosemodelle
→ Was ist Inflationsrate 2010?
• Schätzung dynamischer kausaler Effekte
→ Wie wirkt Zinssenkung der Zentralbank auf Inflation oder Arbeitslosigkeit?
C. Kleiber: Ökonometrie 1
Kap. 12-1
U Basel, HS 2008
12.1
Motivation
1960 1970 1980 1990 2000
0.10
0.05
1960 1970 1980 1990 2000
Time
C. Kleiber: Ökonometrie 1
0.00
4 * diff(log(USMacroSW[, "cpi"]))
10
8
6
4
USMacroSW[, "unemp"]
Inflationsrate USA
0.15
Arbeitslosenquote USA
Time
Kap. 12-2
U Basel, HS 2008
12.1
Motivation
Neue Begriffe:
• zeitliche Verzögerungen
• Korrelation über die Zeit (Autokorrelation)
• dynamische Regressionsmodelle (AR, ADL)
Prognosemodelle vs. Schätzung kausaler Effekte:
• Prognosen (“Vorhersagen”) qualitativ anders als Schätzung kausaler Effekte:
–
–
–
–
es geht hauptsächlich um externe Validität (Extrapolation über die Zeit)
Verzerrung durch vergessene Variablen egal (!)
Interpretation der Koeffizienten unwichtig
R̄2 nun wichtig
C. Kleiber: Ökonometrie 1
Kap. 12-3
U Basel, HS 2008
12.2
Grundbegriffe
• Yt−j heisst j-te Verzögerung (engl. ‘lag’) von Yt
• ∆Yt := Yt − Yt−1 heisst erste Differenz von Yt
• ∆ log Yt := log Yt − log Yt−1 heisst erste Differenz der Logarithmen, entspricht ungefähr
prozentualer Änderung
(→ Renditen von Finanzzeitreihen)
C. Kleiber: Ökonometrie 1
Kap. 12-4
U Basel, HS 2008
12.2
Grundbegriffe
Beispiel:
Zeitreihen in R
R> dim(USMacroSW)
[1] 193
7
R> dimnames(USMacroSW)[[2]]
[1] "unemp"
"cpi"
"ffrate" "tbill"
"tbond"
"gbpusd" "gdpjp"
R> tsp(USMacroSW)
[1] 1957 2005
4
Es gibt Funktionen für typische Transformationen der Zeitreihenanalyse, wie z.B. lag(),
diff()
C. Kleiber: Ökonometrie 1
Kap. 12-5
U Basel, HS 2008
12.2
Grundbegriffe
Beispiel:
1957(1)
1957(2)
1957(3)
1957(4)
1958(1)
1958(2)
1958(3)
1958(4)
1959(1)
1959(2)
erste Verzögerung und erste Differenz
cpi lag(cpi, -1) diff(cpi)
27.78
NA
NA
28.01
27.78
0.23667
28.26
28.01
0.25000
28.40
28.26
0.13667
28.74
28.40
0.33667
28.93
28.74
0.19333
28.91
28.93 -0.01667
28.94
28.91
0.03000
28.99
28.94
0.05000
29.04
28.99
0.05000
Warnung: Vorsicht bei Vorzeichen in lag()!
C. Kleiber: Ökonometrie 1
Kap. 12-6
U Basel, HS 2008
Grundbegriffe
1960
1970
1980
1990
2000
250
Wechselkurs
150
15
10
5
USMacroSW[, "tbill"]
Zins
USMacroSW[, "gbpusd"]
12.2
1960
1970
1970
1980
Time
C. Kleiber: Ökonometrie 1
2000
1990
2000
Wechselkursrenditen
−0.15 0.00
0e+00 3e+05
USMacroSW[, "gdpjp"]
BIP Japan
1960
1990
Time
diff(log(USMacroSW[, "gbpusd"]))
Time
1980
Kap. 12-7
1960
1970
1980
1990
2000
Time
U Basel, HS 2008
12.2
Grundbegriffe
Autokovarianz und Autokorrelation:
• Cov(Yt, Yt−1) heisst Autokovarianz zum Lag 1
• Cov(Yt, Yt−j ) heisst Autokovarianz zum Lag j
• damit Autokorrelation zum Lag j
Corr(Yt, Yt−j ) := p
Cov(Yt, Yt−j )
=: ρj
Var(Yt)Var(Yt−j )
• ρj als Funktion von j heisst (theoretische) Autokorrelationsfunktion
Dies sind Populationsparameter – nur sinnvoll, wenn konkretes Modell für Yt vorliegt.
C. Kleiber: Ökonometrie 1
Kap. 12-8
U Basel, HS 2008
12.2
Grundbegriffe
Die empirischen Autokovarianzen und -korrelationen sind Schätzungen dieser Objekte:
• empirische Autokorrelation zum Lag j
ρ̂j = q
mit
d t, Yt−j )
Cov(Y
d t)Var(Y
d t−j )
Var(Y
T
X
1
d t, Yt−j ) =
Cov(Y
(Yt − Ȳj+1,T )(Yt−j − Ȳ1,T −j )
T − j − 1 t=j+1
wobei Ȳj+1,T Mittel über Yt berechnet aus t = j + 1, ..., T , etc.
• ρ̂j als Funktion von j heisst (empirische) Autokorrelationsfunktion
C. Kleiber: Ökonometrie 1
Kap. 12-9
U Basel, HS 2008
12.2
Grundbegriffe
ACF der Inflationsrate
0.2
0.4
ACF
0.6
0.10
0.05
0.0
0.00
4 * diff(log(cpi))
0.8
0.15
1.0
Inflationsrate
1960 1970 1980 1990 2000
0
Index
C. Kleiber: Ökonometrie 1
1
2
3
4
5
Lag
Kap. 12-10
U Basel, HS 2008
12.2
Grundbegriffe
Stationarität:
• Zeitreihe heisst stationär, falls Verteilungseigenschaften über die Zeit unveränderlich, d.h.
falls gemeinsame Verteilung von (Ys+1, ..., Ys+T ) nicht von s abhängt.
Andernfalls heisst Zeitreihe nichtstationär oder instationär.
• Ein Paar von Zeitreihen Xt und Yt heisst gemeinsam stationär, falls gemeinsame Verteilung
von ((Xs+1, Ys+1), ..., (Xs+T , Ys+T )) nicht von s abhängt.
Andernfalls heisst Zeitreihe nichtstationär oder instationär.
• Stationarität bedeutet intuitiv: Gegenwart ist wie Vergangenheit und wie Zukunft (in einem
statistischen Sinn ...)
Wir betrachten stationären Fall – Ausgangspunkt und Grundbaustein für Zeitreihenanalyse.
C. Kleiber: Ökonometrie 1
Kap. 12-11
U Basel, HS 2008
12.2
Grundbegriffe
ACF Inflationsrate
0.0
1970
1980
1990
2000
0
1
2
3
4
Index
Lag
diff(Inflationsrate)
ACF diff(Inflationsrate)
5
1960
1970
1980
1990
0.6
−0.2 0.2
−6
−2
ACF
2
4
1.0
1960
diff(infl)
0.4
ACF
5
0
infl
10
0.8
15
Inflationsrate
2000
0
Index
C. Kleiber: Ökonometrie 1
1
2
3
4
5
Lag
Kap. 12-12
U Basel, HS 2008
12.3
Autoregression
Naheliegende Idee zur Modellbildung: Zukunft ist Funktion von Gegenwart und Vergangenheit
• Autoregression ist Regressionsmodell, in dem Yt auf verzögerte Werte regressiert wird
• Anzahl der verwendeten Verzögerungen heisst Ordnung des Modells
Bsp.: im AR(p)-Modell wird Yt auf Yt−1, ..., Yt−p regressiert
• einfachster Fall ist AR(1) mit
Yt = β0 + β1Yt−1 + ut
–
–
–
–
keine kausale Interpretation von β0, β1
falls β1 = 0 ist Yt−1 nicht hilfreich zur Vorhersage von Yt
Schätzung über OLS möglich
Test von H0 : β1 = 0 ist Test der Hypothese, dass Yt−1 nicht hilfreich zur Vorhersage
von Yt
C. Kleiber: Ökonometrie 1
Kap. 12-13
U Basel, HS 2008
12.3
Autoregression
Umsetzung in R: diverse Möglichkeiten: man kann direkt mit der OLS-Schätzfunktion lm()
arbeiten, dann muss man allerdings die X-Matrix aus Verzögerungen, Differenzen etc. selbst
bauen. Komfortabler sind die Pakete dyn und dynlm, die hier eine Formelschreibweise zur
Verfügung stellen.
Mit Paket dynlm:
R>
R>
R>
+
library("dynlm")
infl <- 4 * 100 * diff(log(cpi))
infl_ar1 <- dynlm(d(infl) ~ L(d(infl)), start = c(1962, 1),
end = c(2004, 4))
R> summary(infl_ar1)
Angesichts t-Statistik ist Yt−1 hier zur Prognose nützlich.
C. Kleiber: Ökonometrie 1
Kap. 12-14
U Basel, HS 2008
12.3
Autoregression
Time series regression with "zooreg" data:
Start = 1962(1), End = 2004(4)
Call:
dynlm(formula = d(infl) ~ L(d(infl)), start = c(1962, 1), end = c(2004,
4))
Residuals:
Min
1Q
-6.3782 -0.7445
Median
0.0907
3Q
1.0443
Max
4.0827
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)
0.0171
0.1269
0.13
0.8929
L(d(infl))
-0.2380
0.0747
-3.19
0.0017
Residual standard error: 1.66 on 170 degrees of freedom
Multiple R-squared: 0.0564,
Adjusted R-squared: 0.0508
F-statistic: 10.2 on 1 and 170 DF, p-value: 0.00171
C. Kleiber: Ökonometrie 1
Kap. 12-15
U Basel, HS 2008
12.3
Autoregression
Terminologie:
(dt. vs. engl.)
• Prognose (prediction) bedeutet geschätzter (erwarteter) Wert von Y für eine Beobachtung
aus der Stichprobe, die zur Schätzung des Regressionsmodells verwendet wurde
• Vorhersage (forecast) bedeutet geschätzter (erwarteter) Wert von Y für eine Beobachtung
nicht aus der Stichprobe, die zur Schätzung des Regressionsmodells verwendet wurde
(sondern aus der Zukunft)
Notation:
• Yt|t−1 Vorhersage von Yt unter Verwendung von Yt−1, Yt−2, ... und der wahren (unbekannten) βs (Population)
• Ŷt|t−1 Vorhersage von Yt unter Verwendung von Yt−1, Yt−2, ... und der β̂s (Stichprobe),
geschätzt aus den Daten bis t − 1
• Beispiel AR(1): Yt|t−1 = β0 + β1Yt−1 bzw. Ŷt|t−1 = β̂0 + β̂1Yt−1
C. Kleiber: Ökonometrie 1
Kap. 12-16
U Basel, HS 2008
12.3
Autoregression
• Prognosefehler: Ein-Schritt-Prognosefehler ist
Yt − Ŷt|t−1
Beachte Terminologie: “Residuum” innerhalb der Stichprobe – “Prognosefehler” ausserhalb
der Stichprobe
• Mittlerer quadratischer Prognosefehler ist E(Yt − Ŷt|t−1)2 (Analogie zur Varianz),
besser zu interpretieren ist dessen Wurzel (Analogie zur Standardabweichung):
q
RM SF E = E(Yt − Ŷt|t−1)2
(root mean square forecast error).
RMSFE misst Grössenordnung eines typischen Prognosefehlers.
C. Kleiber: Ökonometrie 1
Kap. 12-17
U Basel, HS 2008
12.3
Autoregression
Beispiel: AR(1) für Periode 1962(1) bis 2004(4) war
\lt = 0.017 − 0.238 ∆Inf lt−1
∆Inf
Dabei ∆Inf l2004(4) = 1.882, damit Vorhersage
\l2005(1) = 0.017 − 0.238 · 1.882 = −0.431
∆Inf
Damit ist Vorhersage der Inflationsrate selbst:
[l2005(1) = Inf l2004(4) + ∆Inf
\l2005(1) = 3.505 − 0.431 = 3.074
Inf
Dies muss mit dem wahren Wert 2.366 verglichen werden. Damit ist Vorhersagefehler
2.366 − 3.074 = −0.708
Andererseits ist R̄2 dieser Regression nur ca. 5%.
Standardfehler der Regression ist 1.66, dies ist Schätzung des RMSFE .
(Dies ignoriert aber, dass Regressionskoeffizienten geschätzt wurden!)
C. Kleiber: Ökonometrie 1
Kap. 12-18
U Basel, HS 2008
12.3
Autoregression
Neues Modell: AR(4)
R> infl_ar4 <- dynlm(d(infl) ~ L(d(infl), 1:4),
+ start = c(1962, 1), end = c(2004, 4))
R> coeftest(infl_ar4)
t test of coefficients:
(Intercept)
L(d(infl), 1:4)1
L(d(infl), 1:4)2
L(d(infl), 1:4)3
L(d(infl), 1:4)4
Estimate Std. Error t value Pr(>|t|)
0.0224
0.1176
0.19
0.8490
-0.2579
0.0774
-3.33
0.0011
-0.3220
0.0791
-4.07 7.3e-05
0.1576
0.0793
1.99
0.0484
-0.0303
0.0779
-0.39
0.6984
Dieses Modell hat R̄2 von 0.185. Test auf Weglassen der 3 neuen Regressoren liefert F =
10.309. – also nicht weglassen.
C. Kleiber: Ökonometrie 1
Kap. 12-19
U Basel, HS 2008
12.3
Autoregression
Bemerkung: Warum überhaupt Modell für ∆Inf l, nicht Inf l selbst?
• AR(1)-Modell für ∆Inf l ist ein AR(2)-Modell für Inf l
∆Yt = β0 + β1∆Yt−1 + ut
also
Yt − Yt−1 = β0 + β1(Yt−1 − Yt−2) + ut
und damit
Yt = β0 + (1 + β1)Yt1 − β1Yt−2 + ut
• Problem: Inf l sieht nicht stationär aus
–
–
–
–
OLS verzerrt (nach unten)
falls β1 = 1, ist dies Modell für instationären Prozess (s.u.)
bekannte Theorie für Regression funktioniert nicht mehr
mit ∆Inf l bewegen wir uns in bekanntem Rahmen
C. Kleiber: Ökonometrie 1
Kap. 12-20
U Basel, HS 2008
12.4
Dynamische Regressionsmodelle
Erweiterung von Autoregressionen: Autoregressionen mit verteilten Verzögerungen (autoregressive distributed lags, ADL):
Yt = β0 + β1Yt−1 + ... + βpYt−p + δ1Xt−1 + ... + δq Xt−q + ut
Notation: ADL(p, q)
Annahme: E(ut|Yt−1, Yt−2, ..., Xt−1, Xt−2, ...) = 0
Modell lässt sich erweitern auf mehr als einen zusätzlichen Prädiktor:
Yt = β0 + β1Yt−1 + ... + βpYt−p + δ11X1,t−1 + ... + δ1q1 X1,t−q
+... + δ1k Xk,t−1 + ... + δkqk Xk,t−q + ... + ut
Beispiel: Phillipskurve beschreibt Zusammenhang zwischen Inflation und Arbeitslosigkeit.
Ergänze also Modell für Inflationsrate um Terme mit Arbeitslosenrate.
C. Kleiber: Ökonometrie 1
Kap. 12-21
U Basel, HS 2008
12.4
Dynamische Regressionsmodelle
R> infl_adl44 <- dynlm(d(infl) ~ L(d(infl), 1:4) + L(unemp, 1:4),
+ data = USMacroSW, start = c(1962, 1), end = c(2004, 4))
R> coeftest(infl_adl44)
t test of coefficients:
(Intercept)
L(d(infl), 1:4)1
L(d(infl), 1:4)2
L(d(infl), 1:4)3
L(d(infl), 1:4)4
L(unemp, 1:4)1
L(unemp, 1:4)2
L(unemp, 1:4)3
L(unemp, 1:4)4
Estimate Std. Error t value Pr(>|t|)
1.3043
0.4915
2.65 0.00876
-0.4198
0.0789
-5.32 3.4e-07
-0.3666
0.0856
-4.28 3.2e-05
0.0566
0.0830
0.68 0.49643
-0.0365
0.0746
-0.49 0.62568
-2.6356
0.4514
-5.84 2.8e-08
3.0431
0.8737
3.48 0.00064
-0.3774
0.8940
-0.42 0.67350
-0.2484
0.4774
-0.52 0.60354
R2 stark verbessert auf 0.3663 – wichtig für Prognosen.
C. Kleiber: Ökonometrie 1
Kap. 12-22
U Basel, HS 2008
12.4
Dynamische Regressionsmodelle
Test für Granger-Kausalität: (nach Clive Granger, Nobelpreis 2003)
• Teste simultan Signifikanz von Regressoren in dynamischem Regressionsmodell (ADL) mittels üblichem F -Test
• Test heisst Granger-Kausalitätstest
Sehr unglückliche Bezeichnung!
Nur ein Test auf prognostischen Gehalt einer Gruppe von Variablen im ADL-Modell, keine
Ursache-Wirkungsbeziehung.
C. Kleiber: Ökonometrie 1
Kap. 12-23
U Basel, HS 2008
12.4
Dynamische Regressionsmodelle
R> waldtest(infl_ar4, infl_adl44)
Wald test
Model 1: d(infl) ~ L(d(infl), 1:4)
Model 2: d(infl) ~ L(d(infl), 1:4) + L(unemp, 1:4)
Res.Df Df
F Pr(>F)
1
167
2
163
4 10.4 1.5e-07
Direkter Test in R über Funktion grangertest() aus Paket lmtest ebenfalls möglich.
C. Kleiber: Ökonometrie 1
Kap. 12-24
U Basel, HS 2008
12.4
Dynamische Regressionsmodelle
Annahmen für Regression mit Zeitreihendaten:
(A1) E(ut|Yt−1, Yt−2, ..., Xt−1, Xt−2, ...) = 0.
(A2) (Yt, Xt1, ..., Xtk ) sind gemeinsam stationär sowie
(Yt−j , Xt−j,1, ..., Xt−j,k ) werden unabhängig für j → ∞
(Yt, Xt1, ..., Xtk )
und
(A3) Xt1, ..., Xtk und Yt haben je 4 Momente
(A4) keine perfekte Multikollinearität
Unter diesen Annahmen Inferenz “wie üblich”.
Warum sind (A1) und (A2) anders als früher?
C. Kleiber: Ökonometrie 1
Kap. 12-25
U Basel, HS 2008
12.5
Nichtstationarität
Nichtstationarität: Verteilung von (Xt, . . . , Xt+m) hängt von t ab.
Zeitreihen können auf viele Arten instationär sein.
In Ökonometrie insb. zwei Typen von Instationarität relevant:
• Trends
• Strukturbrüche
C. Kleiber: Ökonometrie 1
Kap. 12-26
U Basel, HS 2008
12.5
Nichtstationarität
Trends: unterscheide zwischen deterministischen und stochastischen Trends.
• Beispiel (deterministischer Trend): Zt = β0 + β1 · t + Yt, Yt eine stationäre Zeitreihe
• Beispiel (stochastischer Trend): Yt = Yt−1 + ut, mit ut u.i.v., heisst Random Walk
Viele ökonomische Zeitreihen lassen sich gut durch Modelle mit stochastischen Trends beschreiben.
Es gibt aber Komplikationen:
• β̂i verzerrt (zu klein)
• t-Statistiken sind nicht mehr approximativ normalverteilt
• Scheinregressionen
C. Kleiber: Ökonometrie 1
Kap. 12-27
U Basel, HS 2008
12.5
Nichtstationarität
Strukturbrüche: bedeutet, dass Koeffizienten des Modells nicht über die ganze Stichprobe
konstant sind.
Beispiel:
AR(1)-Modell mit einem Strukturbruch
Yt = β0 + β1Yt−1 + ut
gilt nur für t = 1, ..., t∗, für t = t∗ + 1, ..., T gilt aber
Yt = β̃0 + β̃1Yt−1 + ut
Aber: es kann auch mehrere Brüche geben, oder Koeffizienten könnten sich kontinuierlich
ändern, oder ...
Einfachster Strukturbruchtest heisst Chow-Test – erfordert, dass Zeitpunkt des potentiellen
Bruchs bekannt.
Heute gibt es auch Tests, bei denen Zeitpunkt nicht bekannt sein muss.
C. Kleiber: Ökonometrie 1
Kap. 12-28
U Basel, HS 2008
12.6
Ausblick
Offene Fragen:
• wie bestimmt man Anzahl der Verzögerungen (Ordnung des Modells)?
→ Informationskriterien (AIC, BIC)
• kann man testen, ob eine Zeitreihe (in)stationär ist?
→ Einheitswurzel- und Stationaritätstests (Dickey-Fuller, KPSS, ...)
• sind dynamische Regressionsmodelle auch bei instationären Zeitreihen erlaubt?
→ Kointegration
• wie kann man sich in Zeitreihen gegen Heteroskedastie und unvollständig modellierte Autokorrelation absichern?
→ HAC-Schätzung der Standardfehler (heteroskedastie- und autokorrelationskonsistent).
Bsp.: Newey-West-Korrekturen
• Finanzzeitreihen haben stark schwankende “Volatilität”
→ GARCH-Modelle
C. Kleiber: Ökonometrie 1
Kap. 12-29
U Basel, HS 2008
12.6
Ausblick
Nützliche R-Pakete:
• tseries, urca: Einheitswurzeln, Kointegration
• strucchange: Strukturbrüche
• forecast: Prognosen
• Rmetrics: (grosse!) Sammlung von Paketen zu Finanzökonometrie, u.a. fGarch für
GARCH-Modelle
Zu Ökonometrie allgemein siehe auch ”CRAN Task View: Computational Econometrics”
http://cran.r-project.org/web/views/Econometrics.html
C. Kleiber: Ökonometrie 1
Kap. 12-30
U Basel, HS 2008
Zugehörige Unterlagen
Herunterladen