Test für Variablen in einem Fehlerkorrekturmodell

Alle Verfahren der Regressionanalyse.

Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon daten_tim » Mo 10. Nov 2014, 19:28

Liebe Leute,
ich arbeite zurzeit an einem Fehlerkorrekturmodell (Error correction model – ECM).
Code: Alles auswählen
ecm =lm(lag_d_s ~ α * error.lagged_positive + β * error.lagged_negative + σ * d_s + γ * d_o)

α, β, σ und γ sollen ja geschätzt werden – ich habe sie jetzt hier aber mal reingeschrieben.
In diesem habe ich u.a. auch zwei Variablen, von denen ich wissen möchte, ob Sie gleich sind (Nullhypothese Ho: α=β oder halt nicht (H1: α‡β). Wie mache ich, dass ich also die Koeffizienten der regression kontrolliere, ob Sie eventuell gleich sind, oder nicht? Ich habe was vom Wald-Test gelesen, aber in R mit
Code: Alles auswählen
wald.test(Sigma = vcov(ecm),b = coef(ecm), Terms=2:3)
bekomme ich ein Ergebnis, dass ich nicht interpretieren kann:

Wald test:
----------
Chi-squared test:
X2 = 10.1, df = 2, P(> X2) = 0.0064

Weiß jemand, wie ich vorgehen könnte?

Beste Grüße

tim
daten_tim
Beobachter
Beobachter
 
Beiträge: 13
Registriert: Do 18. Sep 2014, 17:46
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon DHA3000 » Mo 10. Nov 2014, 19:53

Was genau soll "error.lagged_positive" und "error.lagged_negative" sein?
So wie dein Modell da steht, ergibt es für mich keinen Sinn.

Absegehen davon kann ich es gerade schwer nachvollziehen, dass du ein VECM schätzt, einen simplen Wald-Test nicht interpretieren/schätzen kannst. Allerdings schreibst du auch nicht, aus welchem Package dieser kommt.
Beim gängigen "lmtest"-package findest du jedenfalls eine Anleitung.

Du weißt, was du da im Detail tust? In beiden Fällen.
DHA3000
Elite
Elite
 
Beiträge: 478
Registriert: So 8. Jul 2012, 15:08
Danke gegeben: 0
Danke bekommen: 62 mal in 62 Posts

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon daten_tim » Mo 10. Nov 2014, 20:15

Hallo,

ehrlich gesagt hoffe ich schon zu wissen, was ich tue :) . Besten Dank für Deine Antwort!
Es ist auch gar nicht super wichtig zu verstehen, was die Regressoren sind, aber trotzdem einmal:
error.lagged_positive und error.lagged_negative kommen eigentlich aus EINER Zeitreihe (error.lagged). Diese sind Residuals aus einer anderen Regressions- bzw. Kointegrationsbeziehung. Die Residuen sind error.lagged_positive, wenn d_o zur gleichen Zeit postiv ist und sind error.lagged_negative, wenn d_o negativ ist. Ich mache also aus allen error.lagged zwei Zeitreihen und packe Sie zusammen mit den lags von s und o in meine Regression (die steht ja oben). Nun möchte ich einfach wissen, ob alpha und beta sich grundsätzlich unterscheiden.
Ich habe den wald.test {aod} gemacht. Es gibt noch andere wald test-Möglichkeiten in R, aber ehrlich gesagt verstehe ich auch den Unterschied dort nicht.
ich verstehe aber vor allem nicht, dass ein Chi-Quadrat-test rauskommt, wenn ich einen Wald-test mache, und ob diese beiden hier auch wirklich angebracht sind!?
Klar, ich denke aus dem Ergebnis, dass die Nullhypothese abgelehnt werden sollte und daher alpha und beta bei mir nicht gleich sind. Ist es aber wirklich so einfach?

tim
daten_tim
Beobachter
Beobachter
 
Beiträge: 13
Registriert: Do 18. Sep 2014, 17:46
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon DHA3000 » Mo 10. Nov 2014, 22:34

Hmm, ok. Interessante herangehensweise an den Kointegrationsvektor. Müsste ich einmal näher darüber nachdenken, wobei dies vernutlich nur Sinn ergibt, wenn man das ganze mit OLS schätzt.

Was deinen Wald-Test angeht, so scheinen die Ergebnisse (deine Eingabe) zu stimmen. Ohne einen Output ist es aber etwas schwierig das nachzuvollziehen. Der Waldtest ist immer ein Chi-Quadrat-Test, wenn ich mich recht erinnere. Dies liegt daran, dass deine beiden Modelle genested sind - also von ein ander abhängig sind. Sonst wäre es eine F-Verteilung.
Das ist also vollkommen normal.

Ob dies wirklich so einfach ist... naja, du splittest deine Kointegrationsbeziehung auf.Ich bin mir gerade nicht sicher, ob man die Loadings dann noch im klassischen Sinne interpretieren kann.
DHA3000
Elite
Elite
 
Beiträge: 478
Registriert: So 8. Jul 2012, 15:08
Danke gegeben: 0
Danke bekommen: 62 mal in 62 Posts

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon daten_tim » Di 11. Nov 2014, 17:29

genau, ich teile einfach den kointegrationsvektor in zwei zeitreihen.
was meinst du mit "output", den du benötigen müsstest, um das richtig zu verstehen?
was ich auch nicht richtig verstehe, ist, dass du von "beiden modellen" sprichst - wegen dem wald-test. eigentlich ist es doch nur eines, aber halt mit zwei koeffizienten in der regression (ECM), die mich interessieren. warum also zwei modelle?
daten_tim
Beobachter
Beobachter
 
Beiträge: 13
Registriert: Do 18. Sep 2014, 17:46
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon DHA3000 » Di 11. Nov 2014, 17:47

Aso sorry. Ich habe den Wald-Test gerade mit dem LR-Test verwechselt. Macht aber nichts, da die Tests quasi das selber aussagen.
Der Wald-Test istz quasi ein generalisierter T-Test für ein Modell. Der LR-Test schätzt zwei Modelle und vergleicht diese.

Mit output meine ich den Statistik-Output des Modells. Also was du für Zahlen herausbekommst.
DHA3000
Elite
Elite
 
Beiträge: 478
Registriert: So 8. Jul 2012, 15:08
Danke gegeben: 0
Danke bekommen: 62 mal in 62 Posts

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon daten_tim » Di 11. Nov 2014, 19:05

hi, das ist der output.
Code: Alles auswählen
lm(formula = lag_d_s ~ error.lagged_positive + error.lagged_negative +                   
    d_s + d_o, data = diff.dat_s, na.action = na.exclude)                  
                  
                        Estimate Std. Error t value Pr(>|t|)                      
(Intercept)           -0.0009789  0.0014999  -0.653  0.51554                      
error.lagged_positive -0.1932080  0.0615160  -3.141  0.00223 **                   
error.lagged_negative -0.0322823  0.0590488  -0.547  0.58584                      
d_s                    0.0821106  0.0873680   0.940  0.34964                      
d_o                    0.6464401  0.1316688   4.910 3.69e-06 ***                  


die beiden error.lagged will ich also gegeneinander vergleichen. die werte sind ja auch ziemlich verschieden. das ergebnis war das oben gepostete chi-quadrat-ergebnis.
was ich halt auch doof finde ist, dass nur einer signifikant ist. beide haben aber, wie es bei einem ECM sein sollte, ein negatives vorzeichen.
was meinst du?
daten_tim
Beobachter
Beobachter
 
Beiträge: 13
Registriert: Do 18. Sep 2014, 17:46
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon DHA3000 » Do 13. Nov 2014, 12:34

Naja, wie sieht es denn aus, wenn du klassischerweise nur einen Term schätzt?

Ich bin mir nicht sicher, was überhaupt die interpretation dieses Modells sein soll. Hast du dafür eine Litarturquelle dazu, welche Autoren so etwas mal gemacht haben?
Das dürfte in keinem Lehrbuch stehen.
Denn eigentlich gibt dein Kointegrationskoeffizient (nennen wir ihn mal so) ja die Geschwindigkeit an, mit der das Modell ins Gleichgewicht zurückdrifted.
Du hast jetzt diesen Koeffizienten aufgesplittet. Das heißt, wenn deine Abweichung vom Gleichgewicht positiv ist, kommt es zu einer rückführung, bei einer
negativen Abweichung nicht (da nicht signifikat). Hinzu kommt, dass dies ein Indiz für Nicht-Linearität ist. Das solltest du auch erkennen, wenn du die Residuen der
Kointegrationsbeziehung plottest. Dass wiederum heißt, dein OLS-Modell verliert allgemein an Aussagekraft und es wären evtl. ein Regime-Switching bzw. Threshold-Modelle notwendig.

Was passiert denn, wenn du testest?
DHA3000
Elite
Elite
 
Beiträge: 478
Registriert: So 8. Jul 2012, 15:08
Danke gegeben: 0
Danke bekommen: 62 mal in 62 Posts

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon daten_tim » Do 13. Nov 2014, 22:34

literatur ist z.B. folgendes paper: Testing for price response asymmetries in the Spanish fuel market. New evidence
from daily data; Jacint Balaguer, Jordi Ripollés, Energy Economics 34 (2012) 2066–2071.
da geht es um die reaktion von oelpreisen auf benzinpreise.
die interpretation klingt gut. bei steigendem d_o reagiert die fehlerkorrektur zu d_s schneller. beim sinken von d_o folgt die fehlerkorrektur nur sehr langsam, bzw. nicht so richtig deutlich.
die nullhypothese, dass alpha gleich beta ist, habe ich oben ja mit wald-test gemacht. dann habe ich im r-forum auch noch den hinweis auf folgenden test bekommen. den kann ich aber nicht interpretieren:

Code: Alles auswählen
> linearHypothesis(ecm.reg_weekly_s_pos_neg, "error.lagged_positive = error.lagged_negative", test=c("Chisq"))
Linear hypothesis test

Hypothesis:
error.lagged_positive - error.lagged_negative = 0

Model 1: restricted model
Model 2: lag_d_s ~ error.lagged_positive + error.lagged_negative +
d_s + d_o

Res.Df RSS Df Sum of Sq Chisq Pr(>Chisq)
1 98 0.019499
2 97 0.018798 1 0.00070101 3.6172 0.05719 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1



das mit dem einen term schaetzen mache ich morgen noch einmal - das habe ich natuerlich am anfang einfach mal mitgemacht.
Zuletzt geändert von daten_tim am Fr 14. Nov 2014, 10:42, insgesamt 1-mal geändert.
daten_tim
Beobachter
Beobachter
 
Beiträge: 13
Registriert: Do 18. Sep 2014, 17:46
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Test für Variablen in einem Fehlerkorrekturmodell

Beitragvon DHA3000 » Fr 14. Nov 2014, 02:54

Nja, das ist ein LR-Test. Das restricted Model list quasi das Modell ohne deine beiden Fehlerkorrekturterme.
Den hatte ich auch anfangs im Sinn. Das lmtest package ordnet den Wald-Test allerdings auch dieser Strategie zu. Müsste ich jetzt wohl mal ein wenig nachlesen. ;)
Das ich mich mal mit Hypothesentests genauer geschäftigt habe, liegt schon etwas zurück, aber testet dein Eingleichungs-Waldtest wirklich alpha = beta?
DHA3000
Elite
Elite
 
Beiträge: 478
Registriert: So 8. Jul 2012, 15:08
Danke gegeben: 0
Danke bekommen: 62 mal in 62 Posts

folgende User möchten sich bei DHA3000 bedanken:
daten_tim

Nächste

Zurück zu Regressionanalyse

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste