Informationen zu VAR basierend auf Gujaratis Basic Econometrics (BE) Ich habe es zusammen versucht. Es basiert auf BEs Beispiel 17.13 und Abschnitt 22.9. Der größte Teil der Übersetzung ist 22,9, aber ohne BE wird es schwierig sein, sie zu lesen. Deshalb habe ich versucht, Gujaratis Ausdruck so gut wie möglich wiederzugeben. Viele von Gujaratis Büchern über Ökonometrie werden als Lehrbücher an Universitäten und Graduiertenschulen in Europa und den Vereinigten Staaten verwendet. Es ist eines der zuverlässigsten Lehrbücher, da es klar beschreibt, was Sie in der metrischen Ökonomie tun können und was nicht.
Darüber hinaus werden wir am 16. Juni 2020 eine kostenlose Online-Studiensitzung (lineare Regression) abhalten (https://connpass.com/event/177556/edit/). Wir hoffen, dass Sie sich uns anschließen.
Die meisten Regressionsanalysen befassen sich mit einem Modell, das aus einer einzelnen Gleichung besteht. Es besteht aus einer abhängigen Variablen und einer oder mehreren erklärenden Variablen. Solche Modelle betonen das Erhalten von Y-Vorhersagen und Durchschnittswerten. Wenn es eine Beziehung zwischen Ursache und Wirkung gibt, dann wäre es in einem solchen Modell von X bis Y. In vielen Situationen wird es jedoch als bedeutungslos angesehen, die Richtung und Beziehung zwischen Ursache und Wirkung zu diskutieren. Es gibt jedoch auch ein Phänomen, dass Y durch X und X durch Y festgelegt ist. Manchmal beeinflussen X und Y beide Richtungen gleichzeitig. In diesem Fall ist die Unterscheidung zwischen abhängigen und erklärenden Variablen nicht sinnvoll. In einem solchen Simultangleichungsmodell wird jedes zur gleichen Zeit wie ein Satz von Variablen festgelegt. In einem solchen Modell gibt es eine oder mehrere Gleichungen, und in einem solchen Modell werden die voneinander abhängigen Variablen als endogene Variablen bezeichnet und sind stochastische Variablen. Andererseits sind Variablen, die nicht wirklich probabilistisch sind, exogene Variablen oder vorbestimmte Variablen. In BE werden die Kapitel 18 bis 20 im Simultangleichungsmodell (18), im Diskriminierungsproblem (19) und im Simultangleichungsverfahren (20) ausführlich erläutert. Betrachten Sie die Preise für Geldmenge (Q) und Waren (P). Der Preis eines Produkts und die Höhe der Geldmenge werden durch die Wechselwirkung des Produkts mit den Angebots- und Angebotskurven bestimmt. Wir stellen diese Kurven also linear dar und fügen ihnen Rauschen hinzu, um die Wechselwirkung zu modellieren.
Anforderungsfunktion $ Q_t ^ d = \ alpha_0 + \ alpha_1P_t + u_ {1t} $
Versorgungsfunktion $ Q_t ^ s = \ beta_0 + \ beta_1P_t + u_ {2t} $
Ausgleichsbedingung $ Q_t ^ d = Q_t ^ s $
$ t $ ist die Zeit und $ \ alpha $, $ \ beta $ ist der Parameter.
Sowohl die Nachfragefunktion ($ Q_t ^ d
In Simultangleichungen (Simultangleichungen) oder Strukturmodellen werden Variablen als endogene, einige exogene oder vorbestimmte Variablen behandelt, die exogenes und verzögertes endogenes kombinieren. Vor der Schätzung eines solchen Modells muss überprüft werden, ob die Gleichungen im System (genau oder übermäßig) identifizierbar sind. Diese Unterscheidbarkeit wird erreicht, indem angenommen wird, dass einige der gegebenen Variablen nur in bestimmten Gleichungen vorhanden sind.
Diese Entscheidung ist oft subjektiv und wurde von Christopher Sims heftig kritisiert. Laut Sims sollten alle Variablen gleich behandelt werden, wenn zwischen einer Reihe von Variablen echte Gleichzeitigkeit besteht. Es darf keine vorherige Unterscheidung zwischen endogenen und exogenen Variablen geben. Basierend auf dieser Idee haben Sims das VAR-Modell entwickelt.
(17.14.1) und (17.14.2) sind der aktuelle Wert des BIP in Bezug auf den vergangenen Wert der Geldmenge und den Wert des vergangenen BIP sowie die Gegenwart in Bezug auf den vergangenen Wert der Geldmenge und den früheren Wert des BIP. Beschreibt den Wert der Geldmenge in. In diesem System gibt es keine exogenen Variablen.
Lassen Sie uns nun die Art des Kausalzusammenhangs zwischen kanadischer Geldmenge und Zinssätzen untersuchen. Die Geldmengengleichung besteht aus den vergangenen Werten von Geldmenge und Zinssatz, und die Zinsgleichung besteht aus den vergangenen Werten von Zinssatz und Geldmenge. Beide Beispiele sind Beispiele für Vektor-Selbstrückgabemodelle. Der Begriff Selbstrückgabe ist auf die Verwendung früherer oder verzögerter Werte für die abhängige Variable auf der rechten Seite zurückzuführen. Der Begriff Vektor beruht auf der Tatsache, dass es sich um einen Vektor aus zwei (oder mehr) Variablen handelt.
Unter Verwendung der sechs verzögerten Werte jeder Variablen als unabhängige Variablen für die kanadische Geldmenge und die kanadischen Zinssätze besteht, wie wir später sehen werden, ein kausaler Zusammenhang zwischen der Geldmenge (M1) und den Zinssätzen (90-Tage-Unternehmenszinssätze (R)). Wir können die Hypothese, dass M1 R und R M1 beeinflusst, nicht zurückweisen. Diese Situation wird am besten mit VAR verwendet.
Um zu veranschaulichen, wie VAR geschätzt werden kann, nehmen wir an, dass jede Gleichung k Verzögerungen von M (gemessen mit M1) und R aufweist. In diesem Fall schätzt OLS jede der folgenden Gleichungen:
Wobei u ein probabilistischer Fehlerbegriff ist und in der VAR-Sprache als Impuls, Innovation oder Schock bezeichnet wird.
Vor der Schätzung von (22.9.1) und (22.9.2) müssen wir die maximale Verzögerungslänge k bestimmen. Dies wird empirisch ermittelt. Die verwendeten Daten sind 40 Beobachtungen von 1979.I bis 1988.IV. Das Einbeziehen vieler verzögerter Werte in jede Gleichung verringert den Freiheitsgrad. Es besteht auch die Möglichkeit einer multiplen Co-Linearität. Wenn die Anzahl der Verzögerungen zu gering ist, sind die Spezifikationen möglicherweise falsch. Eine Möglichkeit, dieses Problem zu lösen, besteht darin, Informationsstandards wie Akaike und Schwartz zu verwenden und das Modell mit dem niedrigsten dieser Standards auszuwählen. Versuch und Irrtum sind unvermeidlich.
Die folgenden Daten wurden aus Tabelle 17.5 kopiert.
date=pd.date_range(start='1979/1/31',end='1988/12/31',freq='Q')
M1=[22175,22841,23461,23427,23811,23612.33,24543,25638.66,25316,25501.33,25382.33,24753,
25094.33,25253.66,24936.66,25553,26755.33,27412,28403.33,28402.33,28715.66,28996.33,
28479.33,28669,29018.66,29398.66,30203.66,31059.33,30745.33,30477.66,31563.66,32800.66,
33958.33,35795.66,35878.66,36336,36480.33,37108.66,38423,38480.66]
R=[11.13333,11.16667,11.8,14.18333,14.38333,12.98333,10.71667,14.53333,17.13333,18.56667,
21.01666,16.61665,15.35,16.04999,14.31667,10.88333,9.61667,9.31667,9.33333,9.55,10.08333,
11.45,12.45,10.76667,10.51667,9.66667,9.03333,9.01667,11.03333,8.73333,8.46667,8.4,7.25,
8.30,9.30,8.7,8.61667,9.13333,10.05,10.83333]
M1=(np.array(M1)).reshape(40,1)
R=(np.array(R)).reshape(40,1)
ts=np.concatenate([M1,R],axis=1)
tsd=pd.DataFrame(ts,index=date,columns={'M1','R'})
ts_r=np.concatenate([R,M1],axis=1)
tsd_r=pd.DataFrame(ts_r,index=date,columns={'R','M1'})
tsd.M1.plot()
tsd.R.plot()
Verwenden Sie zunächst vier Verzögerungswerte (k = 4) für jede Variable und verwenden Sie Statistikmodelle, um die Parameter der beiden Gleichungen zu schätzen. Die Proben stammen von 1979.I bis 1988.IV, aber die Proben von 1979.I bis 1987.IV werden zur Schätzung verwendet und die letzten vier Beobachtungen werden zur Diagnose der optimierten VAR-Vorhersagegenauigkeit verwendet.
Hier nehmen wir an, dass sowohl M1 als auch R stationär sind. Da beide Gleichungen dieselbe maximale Verzögerungslänge haben, verwenden wir OLS für die Regression. Jeder geschätzte Koeffizient ist möglicherweise statistisch nicht signifikant, wahrscheinlich aufgrund mehrfacher Co-Linearität, da er Verzögerungen für dieselbe Variable enthält. Insgesamt ist das Modell jedoch aus den Ergebnissen des F-Tests signifikant.
model = VAR(tsd.iloc[:-4])
results = model.fit(4)
results.summary()
Summary of Regression Results
==================================
Model: VAR
Method: OLS
Date: Wed, 06, May, 2020
Time: 22:50:28
--------------------------------------------------------------------
No. of Equations: 2.00000 BIC: 14.3927
Nobs: 32.0000 HQIC: 13.8416
Log likelihood: -289.904 FPE: 805670.
AIC: 13.5683 Det(Omega_mle): 490783.
--------------------------------------------------------------------
Results for equation M1
========================================================================
coefficient std. error t-stat prob
------------------------------------------------------------------------
const 2413.827162 1622.647108 1.488 0.137
L1.M1 1.076737 0.201737 5.337 0.000
L1.R -275.029144 57.217394 -4.807 0.000
L2.M1 0.173434 0.314438 0.552 0.581
L2.R 227.174784 95.394759 2.381 0.017
L3.M1 -0.366467 0.346875 -1.056 0.291
L3.R 8.511935 96.917587 0.088 0.930
L4.M1 0.077603 0.207888 0.373 0.709
L4.R -50.199299 64.755384 -0.775 0.438
========================================================================
Results for equation R
========================================================================
coefficient std. error t-stat prob
------------------------------------------------------------------------
const 4.919010 5.424158 0.907 0.364
L1.M1 0.001282 0.000674 1.901 0.057
L1.R 1.139310 0.191265 5.957 0.000
L2.M1 -0.002140 0.001051 -2.036 0.042
L2.R -0.309053 0.318884 -0.969 0.332
L3.M1 0.002176 0.001160 1.877 0.061
L3.R 0.052361 0.323974 0.162 0.872
L4.M1 -0.001479 0.000695 -2.129 0.033
L4.R 0.001076 0.216463 0.005 0.996
========================================================================
Correlation matrix of residuals
M1 R
M1 1.000000 -0.004625
R -0.004625 1.000000
Obwohl die Werte von AIC und BIC teilweise unterschiedlich sind, werden fast die gleichen Ergebnisse wie bei BE erhalten. Betrachten wir zunächst die Regression von M1. Verzögerung 1 für M1 und Verzögerung 1 und 2 für R sind statistisch signifikant (5% -Niveau). In Bezug auf die Zinsrendite sind die Verzögerungen von M1 1,2,4 und die Verzögerungen erster Ordnung der Zinssätze signifikant (5% -Niveau).
Zum Vergleich werden die VAR-Ergebnisse basierend auf zwei Verzögerungen für jede endogene Variable gezeigt.
results = model.fit(2)
results.summary()
Summary of Regression Results
==================================
Model: VAR
Method: OLS
Date: Wed, 06, May, 2020
Time: 22:50:29
--------------------------------------------------------------------
No. of Equations: 2.00000 BIC: 13.7547
Nobs: 34.0000 HQIC: 13.4589
Log likelihood: -312.686 FPE: 603249.
AIC: 13.3058 Det(Omega_mle): 458485.
--------------------------------------------------------------------
Results for equation M1
========================================================================
coefficient std. error t-stat prob
------------------------------------------------------------------------
const 1451.976201 1185.593527 1.225 0.221
L1.M1 1.037538 0.160483 6.465 0.000
L1.R -234.884748 45.522360 -5.160 0.000
L2.M1 -0.044661 0.155908 -0.286 0.775
L2.R 160.155833 48.528324 3.300 0.001
========================================================================
Results for equation R
========================================================================
coefficient std. error t-stat prob
------------------------------------------------------------------------
const 5.796432 4.338943 1.336 0.182
L1.M1 0.001091 0.000587 1.858 0.063
L1.R 1.069081 0.166599 6.417 0.000
L2.M1 -0.001255 0.000571 -2.199 0.028
L2.R -0.223364 0.177600 -1.258 0.209
========================================================================
Correlation matrix of residuals
M1 R
M1 1.000000 -0.054488
R -0.054488 1.000000
In ähnlicher Weise werden, obwohl die Werte von AIC und BIC teilweise unterschiedlich sind, fast die gleichen Ergebnisse wie BE erhalten. Hier können wir in der Geldmengenregression sehen, dass sowohl die Verzögerung der Geldmenge erster Ordnung als auch die Verzögerung der Zinslaufzeit statistisch signifikant sind. Bei der Zinsrendite sind die Verzögerung der Geldmenge zweiter Ordnung und die Verzögerung des Zinssatzes erster Ordnung signifikant.
Was ist besser, wenn Sie zwischen 4 und 2 Verzögerungsmodellen wählen? Die Informationsmenge von Akaike und Schwartz des 4. Modells beträgt 13,5683 bzw. 14,3927, und die entsprechenden Werte des 2. Modells betragen 13,3058 und 13,7547. Je niedriger die Akaike- und Schwartz-Statistiken sind, desto besser ist das Modell. Daher scheint ein präzises Modell vorzuziehen. Auch hier ist die Auswahl ein Modell, das zwei Verzögerungen für jede endogene Variable enthält.
Wählen Sie ein Modell mit zwei Verzögerungen. Wird zur Vorhersage der Werte von M1 und R verwendet. Die Daten stammen von 1979.I bis 1989.IV, aber die 1989er Werte werden nicht zur Schätzung des VAR-Modells verwendet. Lassen Sie uns nun 1989 vorhersagen. I, den Wert von M1 für das erste Quartal 1989. Der vorhergesagte Wert von 1989.I kann wie folgt erhalten werden.
mm=results.coefs_exog[0]+results.coefs[0,0,0]*tsd.iloc[-5,0]+results.coefs[1,0,0]*tsd.iloc[-6,0]+\
results.coefs[0,0,1]*tsd.iloc[-5,1]+results.coefs[1,0,1]*tsd.iloc[-6,1]
mm,M1[-4],mm-M1[-4],(mm-M1[-4])/M1[-4]
# (array([36995.50488527]),array([36480.33]),array([515.17488527]),array([0.01412199]))
Hier wird der Koeffizient aus summary.report erhalten.
Anhand der entsprechenden Werte für M und R können wir sehen, dass die geschätzte Geldmenge für das erste Quartal 1988 36995 (Millionen kanadischer Dollar) beträgt. Der tatsächliche Wert von M betrug 1988 36480,33 (Millionen kanadischer Dollar). Dies überschätzte den tatsächlichen Wert um etwa 515 (Millionen Dollar). Dies sind ungefähr 1,4% des tatsächlichen M im Jahr 1988. Diese Schätzungen hängen natürlich von der Anzahl der Verzögerungen im VAR-Modell ab.
Erklären Sie Y mit X, und wenn sich Y ändert, wenn sich dieses X ändert, hat es eine Ursache und Wirkung von Granger. Verwenden wir die Grower-Kausalitätstests von Statistikmodellen, um festzustellen, ob ein Kausalzusammenhang besteht. Zwei endogene Variablen und die Ordnung k sind Argumente. Testet, ob die zweite Spalte der endogenen Variablen die Granger-Kausalität der ersten Spalte ist. Die Nullhypothese von Grangercausalitytests lautet, dass die Zeitreihen in der zweiten Spalte x2 nicht die Zeitreihen in der ersten Spalte x1 verursachen. Grange-Kausalzusammenhang bedeutet, dass der vergangene Wert von x1 einen statistisch signifikanten Einfluss auf den aktuellen Wert von x1 hat, wobei der vergangene Wert von x1 die unabhängige Variable ist. Wenn der p-Wert unter dem gewünschten Signifikanzniveau liegt, lehnen wir die Nullhypothese ab, dass x2 von Granger nicht x1 verursacht.
from statsmodels.tsa.stattools import grangercausalitytests
grangercausalitytests(tsd, 8)
Granger Causality
number of lags (no zero) 1
ssr based F test: F=15.1025 , p=0.0004 , df_denom=36, df_num=1
ssr based chi2 test: chi2=16.3610 , p=0.0001 , df=1
likelihood ratio test: chi2=13.6622 , p=0.0002 , df=1
parameter F test: F=15.1025 , p=0.0004 , df_denom=36, df_num=1
Granger Causality
number of lags (no zero) 2
ssr based F test: F=12.9265 , p=0.0001 , df_denom=33, df_num=2
ssr based chi2 test: chi2=29.7702 , p=0.0000 , df=2
likelihood ratio test: chi2=21.9844 , p=0.0000 , df=2
parameter F test: F=12.9265 , p=0.0001 , df_denom=33, df_num=2
Granger Causality
number of lags (no zero) 3
ssr based F test: F=7.7294 , p=0.0006 , df_denom=30, df_num=3
ssr based chi2 test: chi2=28.5987 , p=0.0000 , df=3
likelihood ratio test: chi2=21.1876 , p=0.0001 , df=3
parameter F test: F=7.7294 , p=0.0006 , df_denom=30, df_num=3
Granger Causality
number of lags (no zero) 4
ssr based F test: F=5.5933 , p=0.0021 , df_denom=27, df_num=4
ssr based chi2 test: chi2=29.8309 , p=0.0000 , df=4
likelihood ratio test: chi2=21.7285 , p=0.0002 , df=4
parameter F test: F=5.5933 , p=0.0021 , df_denom=27, df_num=4
Granger Causality
number of lags (no zero) 5
ssr based F test: F=4.1186 , p=0.0077 , df_denom=24, df_num=5
ssr based chi2 test: chi2=30.0318 , p=0.0000 , df=5
likelihood ratio test: chi2=21.6835 , p=0.0006 , df=5
parameter F test: F=4.1186 , p=0.0077 , df_denom=24, df_num=5
Granger Causality
number of lags (no zero) 6
ssr based F test: F=3.5163 , p=0.0144 , df_denom=21, df_num=6
ssr based chi2 test: chi2=34.1585 , p=0.0000 , df=6
likelihood ratio test: chi2=23.6462 , p=0.0006 , df=6
parameter F test: F=3.5163 , p=0.0144 , df_denom=21, df_num=6
Granger Causality
number of lags (no zero) 7
ssr based F test: F=2.0586 , p=0.1029 , df_denom=18, df_num=7
ssr based chi2 test: chi2=26.4190 , p=0.0004 , df=7
likelihood ratio test: chi2=19.4075 , p=0.0070 , df=7
parameter F test: F=2.0586 , p=0.1029 , df_denom=18, df_num=7
Granger Causality
number of lags (no zero) 8
ssr based F test: F=1.4037 , p=0.2719 , df_denom=15, df_num=8
ssr based chi2 test: chi2=23.9564 , p=0.0023 , df=8
likelihood ratio test: chi2=17.8828 , p=0.0221 , df=8
parameter F test: F=1.4037 , p=0.2719 , df_denom=15, df_num=8
Granger-Kausaltests führen vier Tests durch.
"Params_ftest" und "ssr_ftest" verwenden die F-Verteilung. "Ssr_chi2test" und "lrtest" verwenden die Chi-Quadrat-Verteilung. Es stellt sich heraus, dass Verzögerungen von bis zu 1-6 Granger-kausal mit R von M sind, aber Verzögerungen 7 und 8 haben keinen kausalen Zusammenhang zwischen den beiden Variablen.
Schauen wir uns als nächstes die umgekehrte Beziehung an.
grangercausalitytests(tsd_r, 8)
Granger Causality
number of lags (no zero) 1
ssr based F test: F=0.2688 , p=0.6073 , df_denom=36, df_num=1
ssr based chi2 test: chi2=0.2912 , p=0.5894 , df=1
likelihood ratio test: chi2=0.2902 , p=0.5901 , df=1
parameter F test: F=0.2688 , p=0.6073 , df_denom=36, df_num=1
Granger Causality
number of lags (no zero) 2
ssr based F test: F=3.2234 , p=0.0526 , df_denom=33, df_num=2
ssr based chi2 test: chi2=7.4237 , p=0.0244 , df=2
likelihood ratio test: chi2=6.7810 , p=0.0337 , df=2
parameter F test: F=3.2234 , p=0.0526 , df_denom=33, df_num=2
Granger Causality
number of lags (no zero) 3
ssr based F test: F=2.7255 , p=0.0616 , df_denom=30, df_num=3
ssr based chi2 test: chi2=10.0844 , p=0.0179 , df=3
likelihood ratio test: chi2=8.9179 , p=0.0304 , df=3
parameter F test: F=2.7255 , p=0.0616 , df_denom=30, df_num=3
Granger Causality
number of lags (no zero) 4
ssr based F test: F=2.4510 , p=0.0702 , df_denom=27, df_num=4
ssr based chi2 test: chi2=13.0719 , p=0.0109 , df=4
likelihood ratio test: chi2=11.1516 , p=0.0249 , df=4
parameter F test: F=2.4510 , p=0.0702 , df_denom=27, df_num=4
Granger Causality
number of lags (no zero) 5
ssr based F test: F=1.8858 , p=0.1343 , df_denom=24, df_num=5
ssr based chi2 test: chi2=13.7504 , p=0.0173 , df=5
likelihood ratio test: chi2=11.5978 , p=0.0407 , df=5
parameter F test: F=1.8858 , p=0.1343 , df_denom=24, df_num=5
Granger Causality
number of lags (no zero) 6
ssr based F test: F=2.7136 , p=0.0413 , df_denom=21, df_num=6
ssr based chi2 test: chi2=26.3608 , p=0.0002 , df=6
likelihood ratio test: chi2=19.5153 , p=0.0034 , df=6
parameter F test: F=2.7136 , p=0.0413 , df_denom=21, df_num=6
Granger Causality
number of lags (no zero) 7
ssr based F test: F=2.8214 , p=0.0360 , df_denom=18, df_num=7
ssr based chi2 test: chi2=36.2076 , p=0.0000 , df=7
likelihood ratio test: chi2=24.4399 , p=0.0010 , df=7
parameter F test: F=2.8214 , p=0.0360 , df_denom=18, df_num=7
Granger Causality
number of lags (no zero) 8
ssr based F test: F=1.6285 , p=0.1979 , df_denom=15, df_num=8
ssr based chi2 test: chi2=27.7934 , p=0.0005 , df=8
likelihood ratio test: chi2=20.0051 , p=0.0103 , df=8
parameter F test: F=1.6285 , p=0.1979 , df_denom=15, df_num=8
Hier wird die Nullhypothese in der 6. und 7. Ordnung verworfen.
Die Ergebnisse variieren. Eine der Bedeutungen von Grangers Ausdruckssatz ist, dass zwei Variablen, Xt und Yt, in einer republikanischen Beziehung stehen, jede einzeln I (1) und Summe und jede einzeln instationär. Dann kann Xt Granger-kausales Yt haben, oder Yt kann Granger-kausales Xt haben.
In diesem Beispiel hat M1, wenn M1 und R mit I (1) einzeln republikanisch sind, Granger-Kausalität R oder R Granger-Kausalität M1. Das heißt, Sie müssen zuerst prüfen, ob die beiden Variablen einzeln I (1) sind, und dann prüfen, ob sie republikanisch sind. Ist dies nicht der Fall, kann das gesamte Kausalproblem grundsätzlich vermutet werden. Wenn wir uns tatsächlich M1 und R ansehen, ist nicht klar, ob diese beiden Variablen republikanisch sind. Daher variieren auch die Folgen der Granger-Kausalität.
Befürworter von VAR betonen die Vorteile dieser Methode:
(1) Die Methode ist einfach. Sie müssen sich nicht fragen, welche Variablen endogen und welche exogen sind. Alle Variablen in VAR sind endogen.
(2) Vorhersage ist einfach. Das heißt, die übliche OLS-Methode kann auf jede Gleichung angewendet werden.
(3) Die mit diesem Verfahren erhaltenen Vorhersagen sind häufig denen überlegen, die aus komplexeren simultanen Gleichungsmodellen erhalten wurden.
Kritiker der VAR-Modellierung weisen jedoch auf folgende Probleme hin:
Im Gegensatz zum Simultangleichungsmodell ist das VAR-Modell theoretisch. Dies liegt daran, dass ich nicht viele frühere Informationen (Erfahrungen) verwende. In einem Simultangleichungsmodell spielt das Einbeziehen oder Nichteinschließen bestimmter Variablen eine wichtige Rolle bei der Identifizierung des Modells.
Das VAR-Modell eignet sich aufgrund seines Fokus auf Vorhersage nicht gut für die Politikanalyse.
Die größte praktische Herausforderung bei der VAR-Modellierung ist die Auswahl der richtigen Verzögerungslänge. Angenommen, Sie haben ein VAR-Modell mit drei Variablen und möchten 8 Verzögerungen für jede Variable in jede Gleichung aufnehmen. Jede Gleichung hat 24 Verzögerungsparameter und konstante Terme für insgesamt 25 Parameter. Das Schätzen vieler Parameter, sofern die Stichprobengröße nicht groß ist, verringert die Freiheit bei allen damit verbundenen Problemen.
Genau genommen müssen im m-Variablen-VAR-Modell alle m-Variablen (zusammen) stationär sein. Wenn nicht, müssen die Daten entsprechend transformiert werden (z. B. durch eine Differenz erster Ordnung). Wie Harvey betont, können die Ergebnisse der transformierten Daten unzureichend sein. Er führt weiter aus: "Die übliche Methode, die von VAR-Unterstützern angewendet wird, ist die Verwendung von Ebenen, auch wenn einige dieser Zeitleisten nicht stationär sind. In diesem Fall ist die Auswirkung von Einheitswurzeln auf die Verteilung von Schätzungen wichtig. Erschwerend kommt hinzu, dass das Konvertieren von Daten nicht einfach ist, wenn das Modell eine Mischung aus I (0) - und I (1) -Variablen enthält, dh konstante und instationäre Variablen.
Da jeder Koeffizient des geschätzten VAR-Modells oft schwer zu interpretieren ist, schätzen Befürworter dieser Technik häufig die sogenannte Impulsantwortfunktion (IRF). Das IRF verfolgt die Antwort der abhängigen Variablen des VAR-Systems, um die Auswirkungen von Fehlertermen wie u1 und u2 in (22.9.1) und (22.9.2) zu untersuchen. Angenommen, u1 in der M1-Gleichung erhöht sich um eine Standardabweichung. Solche Schocks oder Änderungen werden M1 jetzt und in Zukunft verändern. Da M1 jedoch in der Regression von R auftritt, wirken sich Änderungen in u1 auch auf R aus. In ähnlicher Weise wirkt sich eine Änderung einer Standardabweichung in u2 der R-Gleichung auf M1 aus. Der IRF wird die Auswirkungen solcher Schocks in Zukunft verfolgen. Die Nützlichkeit einer solchen IRF-Analyse wurde von Forschern in Frage gestellt, ist jedoch für die VAR-Analyse von zentraler Bedeutung.
Dies ist die einfache Übersetzung von BE. Danach wird es unter Bezugnahme auf Vector autoregression geschrieben.
$ y_ {t-i} $ ist die Verzögerung i-ter Ordnung von y. c ist ein Vektor vom Grad k. $ A_i $ ist eine zeitabhängige Matrix von kxk. u ist ein Vektor von Fehlertermen vom Grad k.
Die Reihenfolge der Summe aller Variablen muss gleich sein.
Erhalten Sie Langzeitdaten von FRED und analysieren Sie sie aus einer langfristigen Perspektive. Die kanadische Geldmenge verwendet MANMM101CAM189S und der Zinssatz verwendet IR3TCP01CAM156N.
start="1979/1"
end="2020/12"
M1_0 = web.DataReader("MANMM101CAM189S", 'fred',start,end)/1000000
R1_0 = web.DataReader("IR3TCP01CAM156N", 'fred',start,end)#IR3TIB01CAM156N
M1=M1_0.resample('Q').last()
R1=R1_0.resample('Q').last()
M1.plot()
R.plot()
Untersuchen Sie die Stabilität.
from statsmodels.tsa.stattools import adfuller
import pandas as pd
tsd=pd.concat([M1,R1],axis=1)
tsd.columns=['M1','R']
index=['ADF Test Statistic','P-Value','# Lags Used','# Observations Used']
adfTest = adfuller((tsd.M1), autolag='AIC',regression='nc')
dfResults = pd.Series(adfTest[0:4], index)
print('Augmented Dickey-Fuller Test Results:')
print(dfResults)
Augmented Dickey-Fuller Test Results:
ADF Test Statistic -1.117517
P-Value 0.981654
# Lags Used 5.000000
# Observations Used 159.000000
dtype: float64
Es überrascht nicht, dass M1 einem zufälligen Spaziergang folgt. Dies ist auch dann der Fall, wenn die Regression c, ct, ctt ist.
adfTest = adfuller((tsd.R), autolag='AIC',regression='nc')
dfResults = pd.Series(adfTest[0:4], index)
print('Augmented Dickey-Fuller Test Results:')
print(dfResults)
Augmented Dickey-Fuller Test Results:
ADF Test Statistic -4.082977
P-Value 0.006679
# Lags Used 3.000000
# Observations Used 161.000000
dtype: float64
Selbstverständlich ist R so wie es ist ein stetiger Prozess. Dies ist auch dann der Fall, wenn die Regression c, ct, ctt ist.
Also habe ich den Logarithmus von M1 genommen.
adfTest = adfuller((np.log(tsd.M1)), autolag='AIC',regression='ct')
dfResults = pd.Series(adfTest[0:4], index)
print('Augmented Dickey-Fuller Test Results:')
print(dfResults)
Augmented Dickey-Fuller Test Results:
ADF Test Statistic -3.838973
P-Value 0.014689
# Lags Used 14.000000
# Observations Used 150.000000
dtype: float64
Der Logarithmus von M1 scheint Trendstabilität zu haben.
Entfernen wir den Trend.
# remove time trend
gap=np.linspace(np.log(M1.iloc[0]), np.log(M1.iloc[-1]), len(M1))
lnM1=np.log(M1)
lnM1.plot()
alnM1=lnM1.copy()
alnM1['a']=gap
alnM1=alnM1.iloc[:,0]-alnM1.a
alnM1.plot()
adfTest = adfuller(alnM1, autolag='AIC',regression='nc')
dfResults = pd.Series(adfTest[0:4], index)
print('Augmented Dickey-Fuller Test Results:')
print(dfResults)
Augmented Dickey-Fuller Test Results:
ADF Test Statistic -1.901991
P-Value 0.054542
# Lags Used 14.000000
# Observations Used 150.000000
dtype: float64
lnM ist zu einem stetigen Prozess geworden, bei dem der Trend beseitigt wurde.
Lassen Sie uns zunächst entlang BE analysieren.
tsd0=pd.concat([alnM1,R1],axis=1)
tsd0.columns=['alnM1','R']
tsd=pd.concat([lnM1,R1],axis=1)
tsd.columns=['lnM1','R']
model = VAR(tsd.iloc[:36])
results = model.fit(4)
results.summary()
Summary of Regression Results
==================================
Model: VAR
Method: OLS
Date: Thu, 07, May, 2020
Time: 11:57:17
--------------------------------------------------------------------
No. of Equations: 2.00000 BIC: -5.33880
Nobs: 32.0000 HQIC: -5.88999
Log likelihood: 25.8004 FPE: 0.00217196
AIC: -6.16328 Det(Omega_mle): 0.00132308
--------------------------------------------------------------------
Results for equation lnM1
==========================================================================
coefficient std. error t-stat prob
--------------------------------------------------------------------------
const 0.358173 0.225376 1.589 0.112
L1.lnM1 1.286462 0.194312 6.621 0.000
L1.R -0.005751 0.001961 -2.933 0.003
L2.lnM1 0.025075 0.298562 0.084 0.933
L2.R 0.001647 0.002730 0.604 0.546
L3.lnM1 -0.278622 0.295859 -0.942 0.346
L3.R 0.006311 0.002814 2.243 0.025
L4.lnM1 -0.062508 0.195688 -0.319 0.749
L4.R -0.004164 0.002222 -1.875 0.061
==========================================================================
Results for equation R
==========================================================================
coefficient std. error t-stat prob
--------------------------------------------------------------------------
const 38.199790 21.797843 1.752 0.080
L1.lnM1 -15.488358 18.793423 -0.824 0.410
L1.R 0.875018 0.189630 4.614 0.000
L2.lnM1 7.660621 28.876316 0.265 0.791
L2.R -0.345128 0.263996 -1.307 0.191
L3.lnM1 35.719033 28.614886 1.248 0.212
L3.R 0.310248 0.272203 1.140 0.254
L4.lnM1 -31.044707 18.926570 -1.640 0.101
L4.R -0.162658 0.214871 -0.757 0.449
==========================================================================
Correlation matrix of residuals
lnM1 R
lnM1 1.000000 -0.135924
R -0.135924 1.000000
Verwenden Sie als Nächstes die Daten, wobei der Trend entfernt wurde.
model = VAR(tsd0.iloc[:36])
results = model.fit(4)
results.summary()
Summary of Regression Results
==================================
Model: VAR
Method: OLS
Date: Thu, 07, May, 2020
Time: 10:50:42
--------------------------------------------------------------------
No. of Equations: 2.00000 BIC: -5.31179
Nobs: 32.0000 HQIC: -5.86298
Log likelihood: 25.3682 FPE: 0.00223143
AIC: -6.13627 Det(Omega_mle): 0.00135930
--------------------------------------------------------------------
Results for equation alnM1
===========================================================================
coefficient std. error t-stat prob
---------------------------------------------------------------------------
const 0.031290 0.024819 1.261 0.207
L1.alnM1 1.237658 0.189124 6.544 0.000
L1.R -0.005209 0.001840 -2.831 0.005
L2.alnM1 0.035479 0.288928 0.123 0.902
L2.R 0.001341 0.002650 0.506 0.613
L3.alnM1 -0.267898 0.285970 -0.937 0.349
L3.R 0.006273 0.002722 2.304 0.021
L4.alnM1 -0.092060 0.190650 -0.483 0.629
L4.R -0.004456 0.002161 -2.062 0.039
===========================================================================
Results for equation R
===========================================================================
coefficient std. error t-stat prob
---------------------------------------------------------------------------
const 2.626115 2.588966 1.014 0.310
L1.alnM1 -18.059084 19.728553 -0.915 0.360
L1.R 0.945671 0.191924 4.927 0.000
L2.alnM1 7.182544 30.139598 0.238 0.812
L2.R -0.342745 0.276454 -1.240 0.215
L3.alnM1 37.385646 29.831061 1.253 0.210
L3.R 0.319531 0.283972 1.125 0.260
L4.alnM1 -30.462525 19.887663 -1.532 0.126
L4.R -0.141785 0.225455 -0.629 0.529
===========================================================================
Correlation matrix of residuals
alnM1 R
alnM1 1.000000 -0.099908
R -0.099908 1.000000
Die Ergebnisse zeigen fast die gleichen Eigenschaften, aber Verbesserungen sind bei AIC und BIC zu sehen.
Verwenden wir aktuelle Daten.
model = VAR(tsd0.iloc[-40:])
results = model.fit(4)
results.summary()
Summary of Regression Results
==================================
Model: VAR
Method: OLS
Date: Thu, 07, May, 2020
Time: 11:06:09
--------------------------------------------------------------------
No. of Equations: 2.00000 BIC: -12.2865
Nobs: 36.0000 HQIC: -12.8019
Log likelihood: 151.245 FPE: 2.13589e-06
AIC: -13.0783 Det(Omega_mle): 1.36697e-06
--------------------------------------------------------------------
Results for equation alnM1
===========================================================================
coefficient std. error t-stat prob
---------------------------------------------------------------------------
const 0.019669 0.012024 1.636 0.102
L1.alnM1 0.706460 0.175974 4.015 0.000
L1.R -0.015862 0.008523 -1.861 0.063
L2.alnM1 -0.046162 0.185186 -0.249 0.803
L2.R -0.020842 0.011837 -1.761 0.078
L3.alnM1 0.568076 0.186205 3.051 0.002
L3.R 0.035471 0.011813 3.003 0.003
L4.alnM1 -0.461882 0.175777 -2.628 0.009
L4.R -0.007579 0.009849 -0.769 0.442
===========================================================================
Results for equation R
===========================================================================
coefficient std. error t-stat prob
---------------------------------------------------------------------------
const -0.053724 0.308494 -0.174 0.862
L1.alnM1 1.054672 4.515026 0.234 0.815
L1.R 0.875299 0.218682 4.003 0.000
L2.alnM1 -5.332917 4.751384 -1.122 0.262
L2.R 0.257259 0.303711 0.847 0.397
L3.alnM1 3.412184 4.777534 0.714 0.475
L3.R -0.263699 0.303088 -0.870 0.384
L4.alnM1 4.872672 4.509976 1.080 0.280
L4.R 0.032439 0.252706 0.128 0.898
===========================================================================
Correlation matrix of residuals
alnM1 R
alnM1 1.000000 -0.168029
R -0.168029 1.000000
Das Ergebnis vor der Trendentfernung ist
Summary of Regression Results
==================================
Model: VAR
Method: OLS
Date: Thu, 07, May, 2020
Time: 11:07:32
--------------------------------------------------------------------
No. of Equations: 2.00000 BIC: -12.3214
Nobs: 38.0000 HQIC: -12.5991
Log likelihood: 144.456 FPE: 2.90430e-06
AIC: -12.7524 Det(Omega_mle): 2.26815e-06
--------------------------------------------------------------------
Results for equation lnM1
==========================================================================
coefficient std. error t-stat prob
--------------------------------------------------------------------------
const 0.079744 0.100134 0.796 0.426
L1.lnM1 0.784308 0.174023 4.507 0.000
L1.R -0.016979 0.009977 -1.702 0.089
L2.lnM1 0.211960 0.174036 1.218 0.223
L2.R 0.012038 0.009846 1.223 0.221
==========================================================================
Results for equation R
==========================================================================
coefficient std. error t-stat prob
--------------------------------------------------------------------------
const -1.450824 2.077328 -0.698 0.485
L1.lnM1 0.736725 3.610181 0.204 0.838
L1.R 0.884364 0.206971 4.273 0.000
L2.lnM1 -0.617456 3.610443 -0.171 0.864
L2.R -0.027052 0.204257 -0.132 0.895
==========================================================================
Correlation matrix of residuals
lnM1 R
lnM1 1.000000 -0.260828
R -0.260828 1.000000
Recommended Posts